Pretože emulátor a program „Reads51“ s monitorom RROS z času na čas používam, prinútil som sa k riešeniu. Prepínač v prototype bývalého kolegu bola náhrada logiky napr. ko – RS, ktorý vytváral z jedinej 32kB eprom (alebo flash) dve virtuálne 16kB, tým pádom každý z monitorov štartoval od adr. 0000H. (Problém je to, že obidva sú už skompilované Intel-hex súbory.)
Je ale alternatíva, ako to obísť. Na stránkach Rigel corporation, som už dávnejšie našiel zdrojový súbor monitoru Rros 1.2. Ide o nižšiu verziu oproti Rros5m16, osekanú o „break-point“ (bod zastavenia – má ho RAOSv0.13b) a „tracking“ – čo je krokovanie programu po inštrukciách – zbytočnosť. Takže RAOS zostal v rozsahu 0000-3FFFH (delím to na polovice, reálne monitory taký rozsah nemajú) a RROS som upravil pre použitie od adresy 4000H. Po celodennom hrabaní sa v hexa-výpise RAOSu sa mi podarilo dešifrovať účel niektorých jeho rutín a túto „fúziu“ vytvoriť – môžete ju spustiť zo základného/ľubovolného otvoreného okna s ikonami. Nepatrná úprava klávesničky je na obrázku.
KLÁVESA (F)
FUNKCIA “FUSION”
ČINNOSŤ - fúzia:po hlásení na displayi sa spustí RROS, návrat = tl. reset, ak cez RROS spustíte ladenú aplikáciu, alebo jej časť, môžete (ak to nie je smyčka) ju ukončiť LJMP $0000 (02 00 00 - hex) a RROS zostane v činnosti naďalej (soft - reset).
Aby to ale takto chodilo, treba urobiť úpravy monitorov. Oba monitory (RAOS a RROS) sú žiaľ chránené rôznymi autorskými právami a nemôžem ich modifikovaný obsah publikovať, je ale možné uviesť návod, ako si to užívateľ pre vlastné použitie môže upraviť.
Postup
-
Stiahnite si zo stránok rigelcorp.com/8051soft.htm program „SetupReads51.exe“ a nainštalujte ho.
-
Z tej istej stránky stiahnite súbor „Reads51dos.zip“, v ktorom je samorozbaľovací archív „Readszip.exe“ – skopírujte ho do nejakého adresára napr. na C:\XX a spustite.
-
Spustite Reads51, nastavte jeho použitie len pre simuláciu a assembler.
-
Otvorte z C:\XX súbor „Rros.asm“ a upravte offset z 0 na 4.
-
Následne skompilujte program… a Reads51 môžete zatvoriť.
-
Otvorte napr. v notepade skompilovaný súbor C:\XX\Rros.hex a upravte ho odmazaním zbytočných riadkov 6-stich prerušení, ktoré budú hardwarovo odkazované na RAOS monitor.
-
V druhom notepade zasa otvorte súbor RAOS v0.13b.hex (RAOSv0.15b.hex) a funkciou „copy“ a „paste“ pripojte celý upravený Rros z prvého notepadu na jeho koniec.
code:103FE000… …
:103FF000… RAOS monitor (koniec 1.monitoru)
:03409400… RROS monitor (začiatok 2.monitoru)
:10410000… …
… …
… …
: 00000001FF koniec celého súboru[/code]
- Poslednou úpravou je poprepisovanie úsekov RAOS-monitoru mojimi úpravami. Otvorte v prvom notepade súbor „patch.txt“ a prepíšte predošlým spôsobom celé riadky začínajúce rovnakými adresami do súboru RAOS v0.13b.hex (RAOSv0.15b.hex) v druhom notepade. Potom súbor uložte – je pripravený pre vypálenie do 32kB eprom (flash) pamäte a použitie v emulátore EMA-51. V spojení s programom Reads51 treba nastaviť parametre sériového portu pre TTY a pripojiť emulátor k sériovému portu PC (napr. COM1) pomocou 3-vodičov (ostatné sú nezapojené):
codePC ↔ EMA51
= = = = = = = =
RXD - P3.1
TXD - P3.0
GND - GND[/code]
Patch.txt
:10030000020A155345545550FFBD1241F18874013E
:1003400010F06120020A281238C0023000BD0F04EC
:10035000E40239880239ADFF3A0203200405200681
:10398000E58720E207020200D2E2F58712003081CB
:10399000399A740C1200D4024000456E6861636568
:1039A000642D3532206D6F6E69746F72FFBD000239
:1039B000FFFFBD0102FFFFBD0202FFFFBD0302FFCB
:1039C000FFBD0402FFFFBD0502FFFFBD0602FFFFB2
:1039D000BD0702FFFFBD0802FFFFBD0B02FFFFBDD9
:1039E0000C02FFFFBD0D02FFFFBD0E02FFFF020232
:1039F000B0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
[/code]
Pre pripojenie je ešte nutné použiť obvod MAX-232, ktorý upravuje úrovne sériového portu PC na 5V logiku pinov procesora v emulátore. Jeho „datasheet“možno nájsť na internete.
Po spustení emulátora stlačením (F) na klávesničke obdržíme na displayi a na monitore hlásenia: „ [Enhaced-52 monitor] ” a „8052 monitor program“.
Takto upravený SW pre EMA-51 v spojení s programom Reads51 spolu tvoria dosť solídny základ pre ladenie aplikácií kontrolérov rady 51 – bez „mechanického“ prepínania monitorov.
Pre používanie programu Reads51 doporučujem ešte stiahnuť a preštudovať si súbor „Reads51.pdf“ (manuál), kde je činnosť programu výborne opísaná.