Obsah
====== Firmware ======
Název souboru s firmware
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
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.
Příprava SD karty
- naformátujeme SD kartu na souborový systém FAT32
- vybereme podle typu počítače správný firmware (unicard700_EU.app, unicard700_JP.app, unicard800.app, unicard1500.app)
- nakopírujeme firmware do rootu SD karty
- přejmenujeme firmware na ** unicard.app **
Update
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.
Omezení při update firmware
Pro update firmware platí dvě omezení:
- musí souhlasit kontrolní součet firmware
- parametry nového firmware se musí lišit od parametrů aktuálního firmware Unicard
V případě potřeby lze tedy bez problémů provádět i update starší verze firmware přes novější.
Struktura souborů s firmware
Každý soubor obsahující firmware Unicard se skládá z hlavičky délky 512 byte a vlastního zakódovaného firmware.
Popis struktury hlavičky
| 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
.
Popis struktury firmware
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.


