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