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

  1. naformátujeme SD kartu na souborový systém FAT32
  2. vybereme podle typu počítače správný firmware (unicard700_EU.app, unicard700_JP.app, unicard800.app, unicard1500.app)
  3. nakopírujeme firmware do rootu SD karty
  4. 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.

Průběh update firmware Unicard

Omezení při update firmware

     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ší.


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.

Hlavička ve firmware Unicard

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ě:
  • MZ700_EU
  • MZ700_JP
  • MZ800
  • MZ1500
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 :-D.

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.