TRAPP aneb data TRAnsfer Pmi ↔ Pc verze 3.xx

Systém trapp je určen pro snadné nahrávání dat z PC do jednodeskových počítačů. Toho času je k dispozici podpora pro počítače

Přičemž není problém systém upravit pro jakýkoliv jiný jednodeskáč. Zde je popsáno zejména použití pro PMI-80. Odlišnosti při použití u jiných počítačů jsou popsány na stránkách věnovaných těmto počítačům. Systém ideově vychází ze systému FJP/PCLoader2, vizte zde a zde přičemž mi nevyhovovalo několik věcí. Zejména šlo o to, že přenos byl velmi pomalý. Dále obsluha je poněkud nekomfortní - je nutné spouštět program na PC a na PMI-80 ve správném pořadí, je nutno zadávat nahrávací adresu, atd. Za další se neprovádí žádná detekce chyb.

Při tvorbě systému TRAPP jsem se rozhodl tyto nedostatky odstranit a navíc definoval další požadavky. Celkově tedy bylo cílem:

Ve verzi 3 navíc

Systém se skládá z:

Hardwarový přípravek - pro připojení na uživatelskou 8255

Přípravek pro PMI-80 je zdokumentovaný zde. Je-li použit tento přípravek, musí být TRAPP kompilován s volbou #define PMI_TRAPP_UP. Pokud kompilaci neprovádíte sami, je nutno stáhnout správný kompilát. U ostatních počítačů je připojení popsáno na stránkách věnovaných těmto počítačům.

Alternativní připojení na služební 8255

Od verze 3.02 je TRAPP možno připojit i na služební 8255. V tomto případě nestavte interface dle popisu výše, ale zapojení proveďte podle tohoto schématu:

Obvod lze realizovat např. na univerzální části PCB Vašeho PMI, je právě určena pro takovéto věci. Jedna komunikační linka je sdílena s desetinnými tečkami (pokud je máte zapojené) a další linka je sdílena se středními segmenty displeje. Použití to nevadí, spíše naopak je výhoda, že poblikávání informuje o tom, že se něco děje.

Je nutno použít správný kompilát TRAPP nebo ho zkompilovat s volbou #define PMI_TRAPP_SP.

Software pro PMI

Program na straně PMI je napsaný v assembleru. K dispozici dávám několik verzí. Nejvýhodnější je použít verzi integrovanou do monitoru PMI-80. Další verze je zkompilovaná od adresy 0400 hexa a je určena k naprogramování do přídavné EPROM počítače PMI-80. K dispozici je i verze určená pouze k vyzkoušení programu. Musí se nějakým jiným způsobem (třeba tím FJP/PC Loaderem) nahrát do RAM od adresy 1E00. Krom toho zveřejňuji i zdrojový kód, takže si každý může program sám zkompilovat k adrese jaké chce. Ke kompilaci se používá známý program TASM.

V obou případech jde vlastně dva programy, jeden pro přenos dat z PC do PMI a druhý pro přenos opačným směrem.

Ve verzi integrované do monitoru PMI-80 se program pro přenos z PC spouští tlačítkem L. Ostatní verze se spouštějí příkazem G monitoru a zadáním startovací adresy, tedy 0400 nebo 1E00. Po spuštění se na displeji PMI objeví písmeno L (ve starších verzích r) a program čeká na data z PC. Není požadováno zadání žádných údajů, vše se přenese z PC. Nezáleží na tom, jestli se spustí dříve program na straně PMI nebo program na straně PC. Program, který byl spuštěn dřív vždy čeká, až bude spuštěn program i na druhé straně. Pokud při přenosu dojde k chybě, vypíše se hláška "Error". Pokud byl přenos úspěšný, vypíše se hláška PMI-80. Pokud navíc je v HEX souboru který byl posílán i informace o startovací adrese (uvedená jako počáteční adresa EOF bloku), nabídne se i skok na tuto adresu. To je možno potvrdit klávesou =, zadat jinou adresu nebo stiskem jiné než hexaklávesy vrátit do monitoru. Přerušit přenos lze pouze klávesou reset.

Pokud je TRAPP integrován do monitoru PMI-80, program pro posílání dat do PC se spouští tlačítkem S. Jinak je jeho počáteční adresa o 80 hexa bytů dále, než je program pro nahrávání z PC, tedy od adresy 0480 hexa nebo 1E80. Po spuštění se na displeji vlevo objeví písmeno S (ve starších verzích t), vpravo písmena Fr (from) a je požadování zadání počáteční adresy bloku paměti, který chcete odeslat do PC. Defaultně je nabízeno 1C00. Po potvrzení klávesou = se v pravo objeví "to" a je požadováno zadání koncové adresy. Po potvrzení koncové adresy a spuštění přenosu na straně PC je proveden přenos. I v tomto případě nezáleží na tom, jestli se spustí dříve program na straně PMI nebo program na straně PC. Program, který byl spuštěn dřív vždy čeká, až bude spuštěn program i na druhé straně. Přerušit přenos lze pouze klávesou reset.

Kopírování a šíření zde uvedených programů a tohoto manuálu za úplatu je zakázáno. Jakékoliv komerční využití programu je zakázáno (sice si komerční využití ani neumím představit, ale jeden nikdy neví).

Software pro PC

Program pro PC byl napsán v C++ jako konzolová aplikace a je k dispozici pro Microsoft Windows (TM) a pro Linux.

Povinným parametrem programu je jméno souboru, který chcete nahrát do PMI. Další důležitý parametr je -s<označení portu>, v případě TRAPP rozhraní založeného na FTDI čipu je možno užít -u<deskripce FTDI čipu>, není-li žádný z těchto parametrů použit, hledá se FTDI chip, který jako deskrpici má uvedeno "TRAPP" (ve verzi 2 se hledal port COM1). V případě linuxu se zadává příslušná cesta k zařízení např. /dev/ttyS0. Není-li uvedena, hledá se zařízení /dev/ttyUSB0. V případě kabelového USB převodníku je nutné se podívat, pod jakým označením se vyskytuje v systému. Užitečný parametr je -k, program pako skončení čeká na stisk jakékoliv klávesy a nedojde tak k zavření okna. Pokud jde o soubor v Intel-HEX formátu, není potřeba zadávat nic dalšího. Všechny adresy jsou definovány uvnitř Intel-HEX souboru. Pokud parametr obsahuje mezery, uzavírá se mezi uvozovky.

Příklady:
trapp soubor.hex
trapp -sCOM2 soubor.hex - ve Windows(TM)
trapp "-uSerial converter" -k soubor.hex - ve Windows(TM)
trapp -s/dev/ttyS1 soubor.hex - v Linuxu

Pokud má být do PMI odeslán binární soubor, je nutné použít parametr -b<adresa>. Parametr <adresa> určuje od jaké adresy má být soubor nahrán v PMI. Není-li adresa určena, program se nahraje od adresy 1C00.

Příklady:
trapp -b soubor.bin
trapp -sCOM5 -b1e00 -k soubor.bin

Pokud má být soubor přenesen opačným směrem, t.j. z PC do PMI, použije se paramer -t, například
trapp -sCOM5 -t soubor.hex

V tomto případě se soubor uloží v Intel-HEX formátu. Pokud chcete soubor uložit jako binárku, použijte parametr -b, například
trapp -sCOM5 -t -b soubor.bin

Další možnosti programu:
-h help (objeví se též po spuštění programu bez parametrů
-m jednoduchý diagnostický monitor - umožňuje ručně ovládat a sledovat stavy signálů.

UPOZORNĚNÍ

TRAPP verze 2.x a 3.x používají mírně odlišný protokol. Pokud máte v jednodeskovém počítači TRAPP verze 2.x a na straně PC chcete spustit TRAPP verze 3.x, je nutné přidat parametr -2.

Stažení - aktuální verze 3.0: Program pro PC starší verze 2 je zde.
Program je ve všech verzích volně šířitelný, komerční využití je zakázáno.
Zpět