Uživatelské nástroje

Nástroje pro tento web


unicard:firmware

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

unicard:firmware [2018/10/14 22:47]
unicard:firmware [2018/10/14 22:47] (aktuální)
Řádek 1: Řádek 1:
 +====== Firmware ======
 +----
 +===== Název souboru s firmware =====
 +|< 100% >|
 +||  @red:  |
 +<​tab>​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:
  
 +|< 50% 20% >|
 +^ typ počítače ^ název firmware ​    ^
 +| MZ700 EU     ​|@#​D6EFC2:<​wrap download>​{{:​unicard:​firmware:​unicard700_EU.zip}}</​wrap>​|
 +| MZ700 JP     ​|@#​D6EFC2:<​wrap download>​{{:​unicard:​firmware:​unicard700_JP.zip}}</​wrap>​|
 +| MZ800        |@#​D6EFC2:<​wrap download>​{{:​unicard:​firmware:​unicard800.zip}}</​wrap>​|
 +| MZ1500 ​      ​|@#​D6EFC2:<​wrap download>​{{:​unicard:​firmware:​unicard1500.zip}}</​wrap>​|
 +<WRAP round tip>\\ Při update firmware je třeba pracovat s extrahovanými soubory **unicard*.app**.</​WRAP>​
 +----
 +===== Update firmware =====
 +|< 100% >|
 +||  @red:  |
 +<​tab>​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 ====
 +<​tab>​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.
 +
 +[{{unicard:​firmware:​unicardfw_update.jpg|//​Průběh update firmware Unicard//​}}]
 +==== Omezení při update firmware ====
 +<​tab>​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
 +
 +<WRAP round tip>\\ V případě potřeby lze tedy bez problémů provádět i update starší verze firmware přes novější.</​WRAP>​
 +----
 +===== Struktura souborů s firmware =====
 +|< 100% >|
 +||  @red:  |
 +<​tab>​Každý soubor obsahující firmware Unicard se skládá z hlavičky délky 512 byte a vlastního zakódovaného firmware.
 +[{{unicard:​firmware:​unicardfw_head_hex.jpg|//​Hlavička ve firmware Unicard//​}}]
 +==== Popis struktury hlavičky ====
 +^ Offset ​                         ^ Význam ​                                           ^ Obsah                  ^ Délka ​              ^
 +| 0 byte                          | identifikační signatura ​                          | @#​00a2e8:<​color white>​**UNICARD_**</​color> ​     | 8 byte              |
 +| 9 byte                          | verze                                             | @#​00a2e8:<​color white>​**n**</​color> ​            | 1 byte              |
 +| 10 byte                         | oddělovač verze a subverze ​                       | @#​00a2e8:<​color white>​**.**</​color> ​            | 1 byte              |
 +| 11 byte                         | subverze ​                                         | @#​00a2e8:<​color white>​**nn**</​color> ​           | 2 byte              |
 +| 13 byte                         | velikost souboru včetně hlavičky (unsigned long)  | @#​00a2e8:<​color white>** nn nn nn nn**</​color> ​ | 4 byte              |
 +| 17 byte                         | kontrolní součet souboru firmware (unsigned long) | @#​00a2e8:<​color white>** nn nn nn nn**</​color> ​ | 4 byte              |
 +| 21 byte                         | CR LF                                             | @#​00a2e8:<​color white>​**0D0A**</​color> ​         | 2 byte              |
 +| 23 byte                         | identifikace počítače **MZ_ID** - v současné době: <​WRAP> ​  
 +  * // MZ700_EU// ​  
 +  * // MZ700_JP// ​  
 +  * // MZ800   // ​  
 +  * // MZ1500 ​ //  ​
 +</​WRAP> ​ | @#​00a2e8:<​color white>​**MZ_ID**</​color> ​        | podle délky MZ_ID   |
 +| 23 byte + délka MZ_ID           | CR LF                                             | @#​00a2e8:<​color white>​**0D0A**</​color> ​         | 2 byte              |
 +| 23 byte + délka MZ_ID + 2 byte  | nepoužito ​                                        | @#​00a2e8:<​color white>​**volné**</​color> ​        | zbytek do 512 byte  |
 +
 +<​tab>​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 ====
 +<​tab>​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.
unicard/firmware.txt · Poslední úprava: 2018/10/14 22:47 (upraveno mimo DokuWiki)