ucSim. - cygnus

Transkrypt

ucSim. - cygnus
Symulacja STRC51 za pomocą programu uCsim (na platformie Ubuntu)
1.Zainstalować pakiet sdcc:
$>sudo apt-get install sdcc sdcc-doc sdcc-libraries sdcc-ucsim
2.Napisać własny program w C dla C51
...
3.Kompilujemy projekt
$>sdcc --model-small -c main.c
$>sdcc --model-small --code-loc 0x0000 --data-loc 0x08 --xram-loc 0x0000 main.rel
4.Uruchamiamy druga konsole i sprawdzamy jakie "urządzenie" jest z nią związane
$>tty
/dev/pts/8
Dobrze jest aby "unieruchomić" shell'a tej konsoli wpisując:
$>touch jakis_plik_malo_itstony
$>tail -f jakis_plik_malo_itstony
Wtedy konsola nie będzie "interpretować" poleceń wniej wpisanych tylko bezpośrednio wyśle znaki do
symulatora ucSim.
5.Uruchamiamy symulator ucSim
$>s51 -V -t 8052 -s/dev/pts/8 main.ihx
gdy uruchomi się symulator wpisyjemy:
r<enter>
i program "się" symuluje a w drugiej konsoli obserwujemy działanie aplikacji 'main.ihx' związane z obsługa
portu szeregowego.
UWAGA!
W dodatkowej konsoli można także wprowadzać znaki, które zostaną przekazane do symulatora i symulowany
program dla C51 będzie mógł te znaki odebrać.
6.Aby zobaczyć stanu pinu jakiegoś portu wykonaj
>i h po[3]
port[3]
P3 11111111 0xff 255 . (Value in SFR register)
Pin3 11111111 0xff 255 . (Output of outside circuits)
Port3 11111111 0xff 255 . (Value on the port pins)
7.Aby zasymulować zmianę stanu pinu jakiegoś portu wykonaj
>set hw port[3] 0
i obejrzyj zmiane:
>i h po[3]
port[3]
P3 11111111 0xff 255 . (Value in SFR register)
Pin3 00000000 0x00 0 . (Output of outside circuits)
Port3 00000000 0x00 0 . (Value on the port pins)
8.Można uruchomić symulacje tak aby na jedna konsole "szły" wyniki a z drugiej aby symulator czerpał dane
$>s51 -V -t 8052 -S in=/dev/pts/8,out=/dev/pts/9 main.ihx

Podobne dokumenty