Konference: Počítač SHARP MZ-800 a emulátory
Od: | Michal Hučík |
Datum: | 6.10.2011 19:03 |
Předmět: | Unikarta FW rev.45 |
Unikarta FW rev.45: |
Ahoj,
dalsi firmware je na svete. Vasek opravil chybku v emu_FDC a ja jsem pridal k dobru USARTshell, ktery umoznuje menit soubory na SD karte z PC pres USB.
USARTshel zna jen prikazy: 0x00, MKDIR, UNLINK, OPEN a NEW - posledni 2 prikazy slouzi k uploadnuti souboru do unikarty. Jeden prepisuje existujici soubor, druhy striktne vytvari novy a vraci chybu pokud jiz soubor existuje.
Poslanim znaku \'x00 se provede reset prikazoveho bufferu. Pri vkladani prikazu bude unikarta vracet zpet na USART znaky, ktere prijala, takze v "prikazovem rezimu" lze prikazovat napr. z minicomu. Vykonani prikazu zaruci zaslani znaku < 0x20 a > 0x00 (tedy ENTER :)
MKDIR /blabla/bleble[ENTER]
UNLINK /pryc/s/tim/souborem/ci/adresarem[ENTER]
Po vykonani prikazu vam USARTshell odpovi bud OK:command, nebo ERR:duvod.
OPEN a NEW ovsem z nema smysl posilat z terminalu, protoze by jste z nej nedokazali obslouzit prenosovy protokol. Po vlozeni OPEN a NEW vam odpovi OK:command a prejde do binarniho rezimu ve kterem ocekava velikost souboru jako DWORD a nasledne data, ktere vsak musite davkovat po 255 bajtech, coz je velikost vstupniho bufferu. Po vlozeni 255 bajtu se buffer ulozi na SD kartu a USARTshell posle potvrzeni OK:DATA (pocet_ulozenych_bajtu). Po poslednim bajtu se samozrejme ulozi zbyvajici obsah bufferu a prijde opet potvrzeni. Nasledne se provede uzavreni souboru, coz se oznami jako OK:CLOSE a USARTshell opet prejde do prikazoveho rezimu. Na zbytek si urcite prijdete sami ;) Jeste alespon doplnim, ze komunikacni rychlost portu je potreba nastavit na 115200 a ze unikarta samozrejme umi zaroven obsluhovat Sharpa i USARTshell ;)
Napsal jsem k shellu i ovladaci prg na PC, kterym lze unikartu ovladat, ale bohuzel to umim napsat jen pro Linux. Proto vyhlasuji soutez o nejlepsiho borce, ktery dokaze prepsat tohle http://mz800ukp1.svn.sourceforge.net/viewvc/mz800ukp1/trunk/STM32fw/doc/USARTshell.c?view=markup&pathrev=45 do libovolne podoby pouzitelne ve Windows. Vysledky bude hodnotit specializovana komise v patek odpoledne ;)
Tady je priklad jak se pracuje s tim mym Linuxoovym bastlem:
[root tu byla ta zakroucena vec atreidesvm ~]# ./USARTshell /dev/ttyUSB0 open PWM_Sound.axf uloz_to_tam.axf
Sending Reset...
OK:RESET
Sending Open...
OPEN uloz_to_tam.axf
OK:OPEN uloz_to_tam.axf
Sending FSIZE: 0x0000c170
OK:SIZE 0x0000c170
Sending Data...................................................................................................................................................................................................
OK:CLOSE
[root tu byla ta zakroucena vec atreidesvm ~]#
Michal
Ostatní příspěvky vlákna:
[2011/1 (52)] [2011/2 (9)] [2011/3 (2)] [2011/4 (9)] [2011/5 (8)] [2011/7 (1)] [2011/8 (40)] [2011/9 (146)] [2011/10 (116)] [2011/11 (29)] [2011/12 (110)]