XHEX: Unterschied zwischen den Versionen
Aus Nibo Wiki
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Das XHEX Dateiformat dient zur Kapselung von klassischen HEX-Files. Das Format unterstützt zusätzlich mehrere Segmente, das setzten von Fuse-Bits und die Definition des verwendeten Microcontrollers, der | + | Das XHEX Dateiformat dient zur Kapselung von klassischen HEX-Files. Das Format unterstützt zusätzlich mehrere Segmente, das setzten von Fuse-Bits und die Definition des verwendeten Microcontrollers, der Zielplattform und des Programmiergerätes. Die Generierung der XML Datei aus einer HEX-Datei ist recht einfach, da der HEX Datei nur zwei Abschnitte hinzugefügt werden müssen (Kopf- und Fussteil). |
+ | |||
+ | ==Links== | ||
+ | * [[XHEX_Makefile]] - Makefile-Regel zur Generierung von xhex Dateien | ||
+ | * [http://download.nicai-systems.com/nibo/testfile.xhex testfile.xhex] - Beispieldatei | ||
+ | * [http://sourceforge.net/projects/robodude/ RoboDude] - Tool zur Übertragung auf AVR Mikrocontroller | ||
+ | |||
==Beispieldatei== | ==Beispieldatei== | ||
Zeile 35: | Zeile 41: | ||
==XML Definitionen== | ==XML Definitionen== | ||
− | + | ===xhex=== | |
− | Attributes: version | + | ; Attributes |
− | + | : version - Version ist 1.0 | |
− | + | ; Child elements | |
− | + | : platform, programmer, device | |
− | + | ---- | |
− | + | ===platform=== | |
+ | ; Content | ||
+ | : text - Bezeichnung der Plattform, diese Bezeichnung kann zum Speichern einer Konfiguration (z.B. spez. Programmer) verwendet werden. | ||
− | + | ---- | |
− | |||
− | + | ===programmer=== | |
+ | ; Attributes | ||
+ | : type - Bezeichnung des empfohlenen Programmers | ||
− | + | ---- | |
− | |||
− | + | ===device=== | |
+ | ; Attributes | ||
+ | : part - Bezeichnung des Mikrocontrollers | ||
+ | : erase - Chip vor der Programmierung löschen? | ||
− | + | ; Child elements | |
− | + | : segments | |
− | + | ---- | |
− | + | ===segment=== | |
+ | ; Attributes | ||
+ | : id - Name des Segments: ''flash'', ''eeprom'', ''hfuse'', ''lfuse'', ''efuse'' oder ''lock'' | ||
+ | : verify - Der Block soll nach dem schreiben überprüft werden | ||
+ | : format - ''ihex'' für Intel-Hex bzw. ''srec'' für Motorola, entfällt bei der Benutzung von ''data'' Elementen | ||
− | + | ; Content | |
− | + | : text - Hex-Daten als Text im Intel-Hex oder Motorola-Format | |
− | + | ; Child elements | |
+ | : data | ||
− | + | ---- | |
− | == | + | ===data=== |
+ | ; Attributes | ||
+ | : address - Startadresse in hexadezimaler Form | ||
− | + | ; Content | |
− | + | : text - Daten in hexadezimaler Form ohne Leerzeichen |
Aktuelle Version vom 18. November 2010, 12:42 Uhr
Das XHEX Dateiformat dient zur Kapselung von klassischen HEX-Files. Das Format unterstützt zusätzlich mehrere Segmente, das setzten von Fuse-Bits und die Definition des verwendeten Microcontrollers, der Zielplattform und des Programmiergerätes. Die Generierung der XML Datei aus einer HEX-Datei ist recht einfach, da der HEX Datei nur zwei Abschnitte hinzugefügt werden müssen (Kopf- und Fussteil).
Inhaltsverzeichnis
Links
- XHEX_Makefile - Makefile-Regel zur Generierung von xhex Dateien
- testfile.xhex - Beispieldatei
- RoboDude - Tool zur Übertragung auf AVR Mikrocontroller
Beispieldatei
<?xml version="1.0"?> <xhex version="1.0"> <platform>NIBObee</platform> <programmer type="usbasp"/> <device part="atmega16" erase="yes"> <segment id="hfuse" verify="yes">d1</segment> <segment id="lfuse" verify="yes">ef</segment> <segment id="flash" format="ihex"> :100000000C942A000C9447000C9447000C94470071 :100010000C9447000C9447000C9447000C94470044 :100020000C9447000C9447000C9447000C94470034 :100030000C9447000C9447000C9447000C94470024 :100040000C9447000C9447000C9447000C94470014 :100050000C94470011241FBECFE5D4E0DEBFCDBF16 :1000600010E0A0E6B0E0E0E2F1E002C005900D9201 :10007000A036B107D9F710E0A0E6B0E001C01D92AC :10008000A036B107E1F70E9449000C948E000C9451 :1000900000000E945C0081E061E00E94600084EF4B :1000A00091E00E94840081E060E00E94600084EFA3 :1000B00091E00E948400EFCF87B38F6087BB0895E3 :1000C000662389F0813049F0813028F0823039F0A0 :1000D0008330C9F406C0C09A0895C19A0895C29A9F :1000E0000895C39A0895813049F0813028F0823014 :1000F00039F0833041F406C0C0980895C19808953E :10010000C2980895C398089526EA3EE004C0F90114 :100110003197F1F701970097D1F70895F894FFCF41 :00000001FF </segment> </device> </xhex>
XML Definitionen
xhex
- Attributes
- version - Version ist 1.0
- Child elements
- platform, programmer, device
platform
- Content
- text - Bezeichnung der Plattform, diese Bezeichnung kann zum Speichern einer Konfiguration (z.B. spez. Programmer) verwendet werden.
programmer
- Attributes
- type - Bezeichnung des empfohlenen Programmers
device
- Attributes
- part - Bezeichnung des Mikrocontrollers
- erase - Chip vor der Programmierung löschen?
- Child elements
- segments
segment
- Attributes
- id - Name des Segments: flash, eeprom, hfuse, lfuse, efuse oder lock
- verify - Der Block soll nach dem schreiben überprüft werden
- format - ihex für Intel-Hex bzw. srec für Motorola, entfällt bei der Benutzung von data Elementen
- Content
- text - Hex-Daten als Text im Intel-Hex oder Motorola-Format
- Child elements
- data
data
- Attributes
- address - Startadresse in hexadezimaler Form
- Content
- text - Daten in hexadezimaler Form ohne Leerzeichen