Firmware-XML
Aus iSysBus Doku
Inhaltsverzeichnis |
Firmware-XML
Software / Firmware-XML
Übersicht
Benennung
Der Dateiname setzt sich aus "fw_" und dem entsprechenden Code, sowie der Endung ".xml" zusammen - z.B. "fw_1-0.0.xml". Zur Firmware-XML gehört eine Hex-Datei, die den Programmcode enthält (statt der Endung .xml heisst diese .hex)
Aufbau der Datei
Der Inhalt der Datei ist XML-basiert (siehe auch XML-Konventionen) und basiert auf folgendem Schema:
<?xml version="1.0" encoding="utf8"?>
<Fw>
<Xmlfile version="1"/>
<CreationDate>2006-01-01 00:00:00</CreationDate>
<LastModified>2006-01-01 00:00:00</LastModified>
<Firmware code="0-0.0" name="Firmware-Name" stable="true" crc="123456789eec6741a2685250ce1d33f4">
<Description>
<![CDATA[
Beschreibung der Datei
]]>
</Description>
<EEPROM></EEPROM>
<Busvariable></Busvariable>
<Config></Config>
</Firmware>
</Fw>
- Der komplette Inhalt der Datei wird in das Tag Fw geklammert.
- Das Tag XMLfile enthält eine Ganzzahl, die der Versionsnummer der Datei (also des Datei-Aufbaus) enthält
- In CreationDate steht ein Datum + Uhrzeit, wann die Datei erstellt wurde
- In LastModified steht ein Datum + Uhrzeit, wann die Datei aktualisiert wurde
- Alle Firmware-spezifischen Angaben werden in das Tag Firmware gekapselt
- Das Attribut code bestimmt, für welche Firmware die XML erstellt wurde und muss mit dem Code im Dateinamen identisch sein
- Das Attribut name enthält den Firmware-Namen, der in HomeControl im Firmware-Auswahl-Dialog angezeigt wird
- Das Attribut stable zeigt an, ob die Firmware produktiv (true) genutzt werden kann oder nicht (false)
- Das Attribut enthält die CRC der zugehörigen Hex-Datei fw_x-y.z.hex
- Bereich EEPROM: Definiert die Speicherzellen des Knotens
- Bereich Busvariable: Definiert die vom Knoten zur Verfügung gestellten BusVariablen
- Bereich Config: Hiermit können die für die Konfiguration benötigten Einstellungsseiten definiert werden
Bereich EEPROM
Dieser Bereich enthält Variablen, die Speicherzellen im EEPROM darstellen. Dabei kann eine Variable aus einem oder mehreren zusammenhängenden Bytes bestehen, die durch Anfangsadresse (Attribut addr) und Länge (Attribut length [in Bytes]) definiert sind.
Der Name der Variable (Attribut name) muss eindeutig sein, sollten mehrere Variablen mit dem gleichen Namen vorkommen (z.B. für mehrere identische Eingänge), so wird ein optionales Attribut index verwendet, dessen Wert ab 0 beginnt.
Der Typ der Variable wird mit dem Attribut type angegeben und sagt aus, welchen Inhalt die Variable enthält. Bestimmte Werte, die nicht verändert werden dürfen, können mit dem Attribut access geschützt werden, indem der Wert "r" (nur lesen) statt "rw" (lesen und schreiben) vorgegeben wird.
| Attribut | Typ | Mögliche Werte | Info |
|---|---|---|---|
| name | String | Klein-/Großbuchstaben, _, - | - |
| index | int | 0-? | Optional, beginnt bei 0 |