XHEX: Unterschied zwischen den Versionen
Aus Nibo Wiki
| (9 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 - 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=== | ===programmer=== | ||
| + | ; Attributes | ||
| + | : type - Bezeichnung des empfohlenen Programmers | ||
| − | + | ---- | |
===device=== | ===device=== | ||
| + | ; Attributes | ||
| + | : part - Bezeichnung des Mikrocontrollers | ||
| + | : erase - Chip vor der Programmierung löschen? | ||
| + | |||
| + | ; Child elements | ||
| + | : segments | ||
| − | + | ---- | |
===segment=== | ===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, 11: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