Snad to pomůže piityymu
[code]4.10 Podporované varianty HEX souboru
• “obyčejný”, někdy též Intel 8-bit HEX File, MPASMWIN generuje tento soubor při parametru INHX8M
• “rozšířený”, někdy též Intel 32-bit HEX File, MPASMWIN generuje tento soubor při parametru INHX32
Popis formátu Intel HEX souboru
Intel HEX jsou textové soubory, které se skládají z řádků.
Každý řádek má následující strukturu: :LLAAAATTDDDD…CC
• : Tímto znakem (dvojtečka, 0x3A) musí začínat každý řádek souboru.
• LL Délka záznamu (počet políček DD).
• AAAA Adresa prvního byte záznamu.
• TT Typ záznamu. Typy mohou být:
• 00 - Datový záznam.
• 01 - Záznam Konec souboru. Každý soubor musí končit tímto záznamem.
• 02 - Rozšířená segmentová adresa. (pouze 32-bit HEX)
• 04 - Rozšířená lineární adresa. (pouze 32-bit HEX)
Existují i jiné typy, 03 a 05, které program UP při načítání ignoruje a při ukládání souboru nepoužívá.
• DD Data záznamu. Počet bytů musí být přesně LL.
• CC Kontrolní součet. Kontrolní součet je počítán jako dvojkový doplněk k součtu všech hodnot na řádku.
Datový záznam
Jako příklad poslouží řádek s uloženou konfigurační pamětí 14-bitové součástky.
:02400E00413F30
• Délka záznamu: 02 - Velikost konfigurační paměti je jedno slovo = 14 bit = 2 byte (zarovnáno na celé byty)
• Adresa záznamu: 400E - Adresa konfigurační paměti je slovo 2007h, adresováno po bytech tedy 400Eh
• Typ záznamu: 00 - Datový záznam
• Data záznamu: 413F - Konfigurační slovo je 3F41h
• Kontrolní součet: 30 = 02 + 40 + 0E + 00 + 41 + 3F = xxD0; neg D0 = 30
31
Konec souboru
Jedinou možnou variantou řádku Konec souboru je:
:00000001FF
Rozšířená lineární adresa
Tento řádek obsahují pouze soubory, které potřebují adresovat více než 64 kB adresového prostoru. Na příklad procesory rodiny PIC18F mají uloženou konfigurační paměť na adrese 0x 30 00 00 00.
Pokud je třeba použít tuto adresu, je nutné do HEX souboru vložit řádek s rozšířenou lineární adresou, který obsahuje horních 16 bitů adresy. Dolních 16 bitů je načteno z řádku s datovým záznamem.
:020000040030CA
Tímto řádkem se vybírá konfigurační paměť u součástek rodiny PIC18F.
U rozšířených segmentových záznamů se udává segment, tedy bity 19-4 adresy (segment), které se pak přičítají k
adresám z datových záznamů (offset).
Ukládání typu součástky do .HEX souboru
Velmi často se stává, že dojde k záměně mezi vybraným typem součástky a typem součástky, pro kterou byl Intel HEX soubor uložen. Proto program UP obsahuje funkci ukládání typu součástky do souboru.
Program zapíše za konec souboru ještě řádek #PART=… Drtivá většina programů pracujících s Intel HEX soubory takovýto řádek ignoruje, avšak takovýto soubor nelze považovat za vyhovující formátu Intel HEX.[/code]
MultiplexBIG8S.HEX (7.94 KB)
MultiplexBIG8M.HEX (15.8 KB)