Firmware Unicard je distribuován v souborech „unicard.app“. Pokud je za „unicard“ ještě další text, označuje tento text typ počítače, pro který je firmware určený. V současné době (07/2018) jsou rozpracované firmware Unicard pro 4 druhy počítačů SHARP:
typ počítače | název firmware |
---|---|
MZ700 EU | unicard700_eu.zip |
MZ700 JP | unicard700_jp.zip |
MZ800 | unicard800.zip |
MZ1500 | unicard1500.zip |
Při update firmware je třeba pracovat s extrahovanými soubory unicard*.app.
Update firmware provádí Unicard a nepotřebujeme pro něj JTAG programátor. Stačí mít v počítači SHARP Unicard s připravenou SD kartou a pokud se parametry stávajícího firmware Unicard liší od nového firmware na SD kartě, po zapnutí počítače provede bootloader Unicard update firmware automaticky.
Vložíme SD kartu do počítače SHARP a zapneme ho. Pokud je vše v pořádku, objeví se na obrazovce monitoru informace o průběhu update. Po jeho ukončení proběhne standardní boot počítače. Soubor unicard.app můžeme ponechat v rootu SD karty. Pokud bootloader Unicard zjistí shodu parametrů stávajícího firmware s firmware na SD kartě, update neprovede.
Pro update firmware platí dvě omezení:
V případě potřeby lze tedy bez problémů provádět i update starší verze firmware přes novější.
Každý soubor obsahující firmware Unicard se skládá z hlavičky délky 512 byte a vlastního zakódovaného firmware.
Offset | Význam | Obsah | Délka |
---|---|---|---|
0 byte | identifikační signatura | UNICARD_ | 8 byte |
9 byte | verze | n | 1 byte |
10 byte | oddělovač verze a subverze | . | 1 byte |
11 byte | subverze | nn | 2 byte |
13 byte | velikost souboru včetně hlavičky (unsigned long) | nn nn nn nn | 4 byte |
17 byte | kontrolní součet souboru firmware (unsigned long) | nn nn nn nn | 4 byte |
21 byte | CR LF | 0D0A | 2 byte |
23 byte | identifikace počítače MZ_ID - v současné době:
| MZ_ID | podle délky MZ_ID |
23 byte + délka MZ_ID | CR LF | 0D0A | 2 byte |
23 byte + délka MZ_ID + 2 byte | nepoužito | volné | zbytek do 512 byte |
Případný čtenář může zaslat návrh na využití volných byte v hlavičce firmware. Zatím tu mám návrh od Bohouše - jakou modifikaci, kdo to překládal; co měl k obědu a jaké bylo počasí a výhled na týden dopředu. Já jsem navrhoval oslavnou báseň na Bohouše s vynecháním místa na drobný oslavný rým pro Mikeše a Martina .
Od 513. byte (0x0200H) se nachází vlastní binární kód firmware Unicard. Tento kód je kryptovaný, firmware nelze tedy přímo prohlížet. Jak bylo v popisu hlavičky zmíněno, soubor obsahuje kontrolní součet, který zabraňuje možnosti update poškozeným firmwarem. Při update se kontrolní součet ověří a pokud nesouhlasí s kontrolním součtem uvedeným v hlavičce, update se neprovede.