Konference: Počítač SHARP MZ-800 a emulátory

Od: Michal Hučík
Datum: 6.10.2011 16: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)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]