Hardware pro dále popsaný software
Popis zařízení
Při vývoji programů pro procesory je nejlépe, aby člověk měl zařízení, do něhož program
vyvíjí, při ruce a program v něm mohl rovnou zkoušet tak, jak postupuje vývoj. Protože
je však cena profesionálních hardwarových simulátorů příliš
vysoká, můžeme simulátor nahradit (určitě alespoň pro jednodušší případy)
popisovaným obvodem. Jedná se o docela elementární zapojení procesoru, ke
kterému je připojena paměť programu a dat, spojená zde v jeden celek. Ve schématu je
vynechán například notoricky známý obvod rozhranní RS 232 a mnoho
dalšího, protože uvedený hardware představuje pouze základní zapojení, se
kterým je popisované programové vybavení funkční.
Používání je velice jednoduché. Přepínač přepneme do polohy "vnitřní paměť" a stiskneme tlačítko reset. Tím začne pracovat ovládací program pro mikroprocesor uložený v interní paměti programu (viz. níže), který používá RAM jako paměť dat.. Potom pomocí jednoho z programů pro PC zavedeme do paměti žádaný soubor a při stisknutém tlačítku reset přepneme přepínač do polohy "vnější paměť". Po uvolnění tlačítka reset začne pracovat zavedený program, neboť procesor nyní užívá RAM jako paměť programu (ale i dat - na to pozor při psaní programů, jinak si přepíšeme běžící program daty).
Ovládací program pro mikroprocesor - "monitor"
Program zajišťuje komunikaci mezi PC a x51 deskou. Zdrojovy kód je uveden vbalíku, který
je k dispozici v sekci download. Ovládací program (monitor) je nutno uložit do pevné
(interní) paměti procesoru (tj. u Atmelů do FlashEEPROM). Program umožňuje zapsat a přečíst bajt z
určité adresy a přečíst a zapsat skupinu bajtů. Reaguje také na "T" odpovědí
"F", což slouží pro test, ale v dále popisovaných programech to není využito.
Na chybný příkaz od PC reaguje "E" jako error a konečně po hardwarovém resetu
pošle "R" jako reset. Přenosová rychlost je 9600 bitů za sekundu.
Ovládací program pro PC - verze MS-DOS
Umožňuje do paměti zavádět soubory, a modifikovat ji ručně. Při spuštění určíme
číslo sériového portu (lze za běhu programu měnit, po změně se program přepojí na nově
určený port) a jméno souboru (jméno se nekontroluje ihned po zadání, lze ho
rovněž za běhu programu měnit - pokud nechceme pracovat se souborem, prostě zadáme cokoli), s nímž
chceme pracovat. Klávesou Ins lze změnit přenosouvou rychlost, standartně nastavenou na 9600 bitů za sekundu,
program se po změně připojí znova s novým nastavením. Ostatní funkce jsou,
domnívám se, zřejmé z obrazovky, adresy a hodnoty bajtů se zadávají pouze
hexadecimálně bez označení "h" na konci a počty bajtů přirozeně dekadicky.
Pozor, funkce zapiš blok dat očekává ruční zadávání bajt
po bajtu. Program umožňuje zadat jméno souboru a číslo portu přímo na příkazový
řádek, například takto : "ovlram51.exe pokus.bin -1" . Program potom odešle soubor
pokus.bin na port COM1.
Soubor musí být v binárním tvaru. Je užitečné si řádek
podobný tomuto: "ovlram51 %1.bin -1" napsat do dávkového souboru, pomocí
kterého kompilujeme programy v assembleru x51, pak se nám v případě připojení
zařízení program ihned zavede do paměti.
Ovládací program pro PC - OS Windows 95/98
Jedná se o program, který maximálně využívá grafické uživatelské
rozhranní operačního systému Windows. Umožňuje jednoduše a přehledně zobrazit celou
paměť (max. 32 kB) formou tabulky, provádět složitější modifikaci paměti, hledat v paměti bajty
nebo instrukce a konečně (pro ty, kteří ještě nečtou instrukce rovnou v hexadecimálním
tvaru :-) ), disassemblovat paměť a v přehledné tabulce modifikovat argumenty instrukcí.
Závěr
Program byl vyvinut s cílem usnadnit programátorovi modifikaci programů a hledání chyb v
nich, přehledně zobrazit obsah paměti programu s možností přímé modifikace a poskytnout možnost
rychle se podívat, co vlastně bajty, které vidíme, představují.
- Kompletní balík s programem, programy a dokumentací - x51_ram_editor.zip - 15.4.2001
- Help k programu..