Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam, właśnie staram się dojść od porozumienia z programem simulavr, jednak kompletnie nie rozmumiem jak z niego korzystać i jak z niego cokolwiek odczytać. Co do kompilacji znalazłem żeby zobić coś takiego:
avr-gcc -mmcu=at90s2313 program.c -o program
po tym wyskakuje mi takie info
In file included from program.c:4:
/usr/lib/gcc/avr/4.3.3/../../../avr/include/util/delay.h:90:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
następny krok
avr-objcopy -O ihex program program.hex
(opis ze strony http://toxygen.net/avr/)
i teraz jak symulować ten program za pomocą simulavr??
a jeszcze lepiej by było, gdyby ktoś posiadał link do strony z całkowitym opisem jak programować uc w C pod linuksem ;)
Offline
Zajrzyj w takie miejsce:
http://www.opcode.eu.org/mikrokontrolery/
Offline
fnmirk napisał(-a):
Zajrzyj w takie miejsce:
http://www.opcode.eu.org/mikrokontrolery/
znalazłem to, tylko tam jest opisane debugowanie, a ja potrzebuje symulacje przed wgraniem programu,
hmm najwyżej będe musiał skorzystać z windołsowych programów
Offline
1. simulavr wymaga -O binary w avr-objcopy (a nie ihex)
2. w zasadzie to on tez kozysta z gdb ... a dokladniej do gdb z niego ...
3. jak rozumiesz roznice miedzy symulowaniem a debugowaniem (na symulatorze)
4. dlaczego musisz przesymulowac przed wgraniem?
5. osobiscie polecalbym odpalanie i testowanie w ukladzie (najlepiej z wykozystaniem jtag - dostepny w wiekszych avr)
Offline
tak ... kazdy avr ma gwarantowane conajmniej 1000 cykli programowania wiec mozna dosc smialo eksperymentowac ...
Offline
no to jeszcze ostatnia rzecz, jak odczytać i ustawić fuse bity??
edit:
ok już wiem jak to zrobić, problem teraz jest z ustawieniem usip, wskazuje że nie widzi urządzenia /dev/avr
Ostatnio edytowany przez Cosik (2009-06-29 11:47:00)
Offline
a co to ma byc /dev/avr? ... jaki masz wogole programator?
Offline
programator STK500v2 pod USB, to jest ten z tych co emuluje port szeregowy, czy jakoś tak (przynajmniej windoł go widzi pod COM), jajko mam kompilowane, więc szystko związane z COM i LPT mam wykompilowane (o ile to ma znaczenie)
po podłączeniu programatora
lsusb
Bus 006 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
dmesg
usb 6-2: new full speed USB device using uhci_hcd and address 2
usb 6-2: configuration #1 chosen from 1 choice
Offline
musisz miec moduly dla FTDI a urzadzenie bedzie /dev/ttyUSB0 (ew. z innym numerkiem)
Offline
Cosik napisał(-a):
z symulowaniem to chodzi o to żeby sprawdzić, czy mniej więcej działa poprawnie, czyli z tego co mam rozumieć bercik to najlepiej nie cackać się i odrazu sprawdzać w układzie??
Właściwie każdy większy program od hello world nie da się zasymulować w symulatorze programowym, w sensie takim, aby symulacja dała wiarygodne wyniki n/t poprawności działania programu. Bez przykładów najprościej powiedzieć to tak: symulacja jest duuużo wolniejsza od wykonywania przez cpu mikrokontrolera, a do tego dochodzi obsługa urządzeń peryferyjnych.
Tak jak wspomniał jeden z kolegów, idealnym rozwiązaniem jest interfejs JTAG, który umożliwia debagowanie w czasie rzeczywistym.
W przypadku programatora ISP takiej możliwości nie ma, ale jest bardzo tani i w najprostszej wersji banalnie wręcz prosty. Coś za coś. Długo kodziłem avrki i miałem pewnego rodzaju patenty na bugi. Możesz np wykorzystać wolny port UART i spiąć go z pecetem, a w terminalu mieć podgląd informacji, które Cię interesuja. Te "kulawe" patenty mogą czasem zaoszczędzić na prawdę dużo czasu, szczególnie jeśli nie posiadasz oscyloskopu lub analizatora stanów logicznych.
pozdrawiam,
Marcin
Offline
Teraz właściwie każdy oscyloskop jest "pod PC". Pytanie tylko, czy chodzi Ci o oscyloskop w pełnym tego słowa znaczeniu wykorzystującego PC i jego monitor jako interfejs użytkownika + dokonywanie pewnych obliczeń np transformaty Fouriera, czy też o zabawkę podłączoną pod wejście liniowe karty dźwiękowej z pasmem max 20kHz? W pierwszym przypadku cena będzie na tyle duża, że spokojnie kupisz oscyloskop stacjonarny wcale nie z mniejszymi parametrami (sic!). Jeśli bawisz się wyłącznie techniką cyfrową, to proponuję na początek zainwestować w samodzielny analizator stanów logicznych albo - w zależności od zawartości kieszeni - oscyloskop z takim dodatkiem.
Oprogramowanie zapewne nie jest pisane pod GNU/Linuksa, osobiście nigdy się z takowym nie spotkałem..
Offline