avr-gcc - dane w flash

a już wiem, jakby Ktoś chciał wiedzieć symulator wybiera się przy tworzeniu projektu... trzeba mi jeszcze informacji jak wygenerować plik z kodem asemblera z programu C?

Reply to
identyfikator: 20040501
Loading thread data ...

identyfikator: 20040501 pisze:

Najprościej to odpalić ręcznie kompilator avr-gcc z opcją -S, spójrz do dokumentacji:

formatting link
Polecam w końcu przejście na ręcznie robione pliki makefile - dużo więcej możliwości niż automatycznie przez AVR Studio. A ten ostatni można wykorzystać np. do symulacji czy debugowania (ładując plik .elf).

Reply to
Adam Dybkowski

jasne, że to by było najlepsze, ale nie każdy umie pisać makefiles... kiedyś znalazłem opis make po polsku, ale teraz już nie mogę znaleźć, może Ktoś widział?

P.S. niestety katastrofa - pad dysku, muszę temat odłożyć

Reply to
identyfikator: 20040501

identyfikator: 20040501 pisze:

Pic polega na tym, że nie musisz zagłębiać się w konstrukcję makefile'i. Razem z winavr instalowany jest prosty edytor (mfile), w którym możesz wyklikać to co potrzebujesz.

Reply to
Zbych

mogę Was jeszcze trochę pognębić? można prosić o kilka słów o sposobie używania rejestrów w programach w C? ponoć kiedyś trzeba było używać makra outb czy portb (jakoś tak) ale to się zmieniło...

no i może już zupełnie przy okazji napisali byście coś o sposobie deklarowania przerwać - miałbym komplet informacji ;o)...

ale widzę, że w końcu Ktoś się wziął i poprawił opis avrlibc, warto poczytać? P.S. gdyby tak poprawili opis do madwifi to by dopiero było...

Reply to
identyfikator: 20040501

mogę Was jeszcze trochę pognębić? można prosić o kilka słów o sposobie używania rejestrów w programach w C? ponoć kiedyś trzeba było używać makra outb czy portb (jakoś tak) ale to się zmieniło...

no i może już zupełnie przy okazji napisali byście coś o sposobie deklarowania przerwać - miałbym komplet informacji ;o)...

ale widzę, że w końcu Ktoś się wziął i poprawił opis avrlibc, warto poczytać? P.S. gdyby tak poprawili opis do madwifi to by dopiero było...

P.S. WIELKIE dzięki!

Reply to
identyfikator: 20040501

identyfikator: 20040501 pisze:

Eee, ale jakich rejestrów? Procesora (np. r0, r1)?

Chodzi o rejestry SFR? Teraz wystarczy: #include <io.h>

i już można korzystać bezpośrednio podając makra "opakowujące" poszczególne rejestry, np: PORTB |= 1; albo: UCSR0A = 1 << U2X0;

Konkretnych nazw szukaj w plikach nagłówkowych w podkatalogu avr\include\avr tam gdzie zainstalowałeś WinAVR. Np. "iom16.h" w przypadku procesora ATmega16.

Jest w helpie do avrlibc. A na szybko to tak: #include <avr/interrupt.h>

ISR (USART_RX_vect) { // to jest przerwanie odbiornika UARTu }

Identyfikatorów przerwań (takich jak USART_RX_vect) też szukaj w pliku nagłówkowym dla danego procesora.

Reply to
Adam Dybkowski

dzięki! a chciało by Ci się napisać coś na temat makefiles? może małe wprowadzenie z odnośnikami do ciekawszych (sprawdzonych przez doświadczonych programistów) stron na temat make? może jakaś książka?

Reply to
identyfikator: 20040501

identyfikator: 20040501 pisze:

Wszystkiego się dowiesz po wpisaniu magicznej komendy: info make

A tu masz wersję on-line:

formatting link

Reply to
Adam Dybkowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.