Kurs AVR GCC, cz 1


XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 1 of 15
Artykuł pochodzi ze strony XYZ HOBBY ROBOT (xyz.isgreat.org)
Kurs AVR-GCC cz.1
30.11.2008 ABXYZ
Nikogo nie trzeba przekonywać jak bardzo użyteczny może być
mikroprocesor w konstruowaniu wszelkich sprzętów i urządzeń.
Najwygodniejsze do wykorzystania sÄ… mikrokontrolery, nazywane
też mikrokomputerami jednoukładowymi, gdyż w jednym takim
układnie scalonym umieszcza się: mikroprocesor, pamięć, porty
wejścia/wyjścia oraz całą resztę potrzebną do działania procesora.
Największym udogodnieniem jest wbudowana w strukturę
mikrokontrolera pamięć flash, przeznaczona na programy, którą
można łatwo zaprogramować "w systemie" bez potrzeby używania
drogich programatorów. Obecnie, zwłaszcza wśród hobbystów,
najpopularniejsze sÄ… 8-bitowe mikrokontrolery AVR firmy ATMEL.
Pozostaje tylko jedna trudność, tworzenie programów, nawet
najlepszy komputer bez oprogramowania jest bezużyteczny. Do
tego wymagana jest znajomość języków programowania oraz
architektury mikrokontrolera. W Internecie można znalezć wiele
materiałów na temat programowania AVR-ów, ale kompletnego
kursu programowania w języku C dla początkujących ja nie
znalazłem, więc sam zabrałem się do pisanie takiego tekstu. Co do
poziomu wiedzy w tekście, to proszę nie oczekiwać zbyt wiele,
jestem jedynie amatorem, hobbystÄ… i ten kurs programowania
także kierowany jest przede wszystkim do hobbystów, entuzjastów
robotyki.
Kurs. Co i jak ?
Dla zrozumienia treści kursu będzie potrzebne niewielkie
doświadczenie w dziedzinie elektroniki, dodatkowo znajomość
któregoś z języków programowania (na przykład Pascala z lekcji
informatyki w szkole) znakomicie ułatwi zrozumienie tematu. Będzie
to kurs "praktyczny", przygotuję wiele działających, gotowych do
wykorzystania przykładów. Zaczniemy od zupełnych podstaw,
będziemy poznawać język C oraz wewnętrzne zasoby
mikrokontrolerów AVR. Zahaczymy też o asembler, gdyż czasem
poręczniej jest napisać fragment programu w asemblerze;
dodatkowo pomoże to zrozumieć jak działa mikroprocesor.
Będziemy wykorzystywać kompilator języka C (AVR-GCC) i
programy narzędziowe z pakietu WinAVR (oprogramowanie
całkowicie darmowe). Przykładowe programy będą pisane z
przeznaczeniem głównie dla układów ATmega (ATmega8 i
ATmega16).
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 2 of 15
Układy ATmega8 i ATmega16 w obudowach do montażu przewlekanego.
Do testowania przykładów z kursu polecam płytkę stykową, ja będę
uruchamiał przykładowe programy na takiej małej, jak na zdjęciu
poniżej. Płytki stykowe to wspaniały wynalazek, niestety nie są
tanie, dlatego wybrałem małe płytki, w razie potrzeby można łączyć
ze sobą dwie i więcej takich płytek.
Mała płytka stykowa.
Przewody do połączeń na płytce stykowej można wykonać
rozcinając kawałek skrętki komputerowe
Żyły przewodów z rozciętej skrętki komputerowej doskonale nadają się do robienia
połączeń na płytce stykowej.
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 3 of 15
Jednak przy bardziej rozbudowanych projektach lepiej lutować
części elektroniczne na płytce uniwersalnej. Ja będę używał takiej,
jaką widać zdjęciu poniżej.
PÅ‚ytka uniwersalna
Zdecydowanie nie warto na potrzeby tego kursu wykonywać płytkę
pcb, czy kupować zestaw (płytkę startową) z mikrokontrolerem
AVR. Natomiast warto kupić gotowy programator AVR ISP, napiszę
o tym dalej.
Warto też postarać się o jakoś książkę z kompletnym,
szczegółowym opisem języka C. Ja polecam książkę: "Język ANSI
C" autorzy: Brian W. Kernighan, Dennis M. Ritchie.
Mój egzemplarz książki "Język ANSI C" kupiony okazyjnie z kartonu na bazarze. Obecnie
książka sprzedawana jest w innej okładce.
Głównym zródłem informacji o układach AVR jest oczywiście strona
producenta
http://www.atmel.com/products/AVR/
a na temat kompilatora avr-gcc, strona biblioteki "avr-libc"
http://www.nongnu.org/avr-libc/
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 4 of 15
Pamięć dla programu i danych
Zacznę od tematu pamięci wewnętrznej
(pamięci wbudowanej w strukturę układów
AVR). Za każdym razem, gdy uruchamia się
jakÄ…Å› aplikacje na komputerze PC, to
programy przed uruchomieniem Å‚adowane sÄ…
z twardego dysku do pamięci operacyjnej
RAM komputera. W przypadku
mikrokontrolerów AVR kod programu
umieszczany jest na stałe w wewnętrznej
pamięci FLASH. Pamięć FLASH jest pamięcią
nieulotną, jej zawartość nie zanika w chwili
odłączenia zasilania, jak to jest w przypadku
pamięci RAM, lecz pozostaje niezmieniona
do momentu ponownego zaprogramowania. Programować FLASH
mikrokontrolerów AVR, to znaczy skasować aktualną zawartość
pamięci i zapisać nową, można około 10000 razy, tyle powinien
układ przetrwać, potem pozostaje wymienić układ na nowy. W
pamięci FLASH mikrokontrolera oprócz kodu programu umieszcza
się także wartości stałe w programie, a zwłaszcza duże tablice
stałych oraz teksty - ciągi znaków, na przykład komunikaty
wysyłane do wyświetlacza alfanumerycznego. Dalej w tekście
zamiast przydługiego słowa "mikrokontroler" będę używał skrótu
"uC".
Oczywiście zmienne w programie tworzone są w pamięci RAM,
mikrokontrolery AVR posiadają także wbudowaną pamięć SRAM
(ang. static RAM). Dodatkowo uC AVR wyposażone są w pamięć
EEPROM, program może zapisywać do tej pamięci dane, które
powinny przetrwać wyłączenie urządzenia (ustawienia). Do pamięci
EEPROM uC AVR dane zapisywać można około 100000 razy, tyle
według dokumentacji powinien układ przetrwać. Poniżej w tabeli
wypisałem ile pamięci FLASH, SRAM i EEPROM posiadają uC AVR,
których będziemy używać. Nie są to gigabajty, warto o tym
pamiętać pisząc programy i oszczędnie wykorzystywać pamięć AVR-
ka.
FLASH SRAM EEPROM
ATtiny2313 2 KB 128 B 128 B
ATmega8 8 KB 1 KB 512 B
ATmega16 16 KB 1 KB 512 B
ATmega32 32 KB 2 KB 1 KB
Pamięć wewnętrzna mikrokontrolerów AVR
Programator AVR ISP
A w jaki sposób załadujemy nasz program do pamięci FLASH AVR-
ra i dane do pamięci EEPROM? Jest kilka możliwości, najłatwiej jest
zaprogramować pamięć AVR-ka poprzez interfejs SPI. Do tego celu
potrzebny jest specjalny adapter (nazywany programatorem AVR
ISP). Z Jednej strony programator AVR ISP przyłącza się do
komputera PC poprzez któryś z portów: USB, LPT, RS, a z drugiej
strony programator łączy się z uC AVR na płytce kablem
zakończonym odpowiednim złączem. Właśnie skrót ISP (ang.In
System Programming) oznacza programowanie w układzie, czyli
możliwość programowania uC bez konieczności wyjmowania go z
urządzenia w którym pracuje.
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 5 of 15
Programowanie w układzie (w systemie)
Programator AVR ISP można wykonać samemu według schematu z
Internetu lub kupić gotowy. Na fotografiach poniżej widać dwa
"kupne" programatory AVR ISP; pierwszy przyłączany do portu
równoległego (LPT) komputera PC, drugi do portu USB.
Programator AVR ISP przyłączany do portu LPT komputera
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 6 of 15
Programator AVR ISP przyłączany do portu USB komputera
Na allegro.pl jest zawsze duży wybór niedrogich i profesjonalnie
wykonanych programatorów AVR ISP. Programator przyłączany do
portu LPT kosztuje ok. 12zł, a przyłączany do portu USB ok. 30zł,
więc praktycznie nie opłaca się programatora robić samemu.
Jakby ktoś szukał schematu, to poniżej jest link do programatora
przyłączanego poprzez portu LPT. Jest to "klon" programatora z
zestawu uruchomieniowego STK200 produkowanego przez firmÄ™
ATMEL. Jak widać schemat jest bardzo prosty, z pewnością można
znalezć w internecie gotowy wzór płytki pcb.
http://www.lancos.com/e2p/betterSTK200.gif
Z kolei poniżej wkleiłem adres strony z projektem prostego do
wykonania programatora przyłączanego do komputera poprzez port
USB. Prosty do wykonania, ale nie zupełnie, gdyż sam programator
jest zbudowany w oparciu o mikrokontroler atmega8, więc żeby
zaprogramować uC potrzebny jest inny programator.
http://www.fischl.de/usbasp/
A to jest strona podobnego projektu prostego do wykonania
programatora pod USB.
http://www.ladyada.net/make/usbtinyisp/index.html
Ja zbudowałem programatory według obu tych schematów,
betterSTK200 i Usbasp, i oba programatory dobrze mi służą.
Programatory AVR ISP komunikujÄ… siÄ™ z uC AVR szeregowo,
poprzez interfejs SPI(ang. Serial Peripheral Interface Bus), używane
sÄ… wyprowadzenia uC AVR:
" MOSI (Master Output, Slave Input) - wejście,
" MISO (Master Input, Slave Output) - wyjście,
" SCK (Serial Clock),
" /RESET - podczas programowania ustawiane jest w stan niski.
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 7 of 15
Wyprowadzenia uC atmega8 wykorzystywane podczas szeregowego programowania
Kabel łączący programator z programowanym układem składa się z
linii: MOSI, MISO, SCK, RESET, GND oraz z linii zasilania - jeśli
programator zasilany jest z przyłączonego układu. Programatory
bywają zasilane z układu docelowego lub z portu komputera.
Większość dostępnych na rynku programatorów AVR ISP posiada 10
pinowe złącze z wyprowadzeniami ułożonymi tak, jak w
programatorze z zestawu stk200. Sprzedawcy piszÄ… wtedy w opisie
programatora: "złącze z wyprowadzeniami zgodnymi ze standardem
stk200" albo "złącze programatora jest zgodne ze standardem
KANDA".
ZÅ‚Ä…cze programatora "kompatybilne ze standardem KANDA"
Do zakupionego programatora AVR ISP powinna być dołączona
instrukcja obsługi, oczywiście przed użyciem programatora całą
instrukcję należy dokładnie przeczytać. Instrukcja powinna zawierać
szczegółowy opis jak podłączyć programator do układu docelowego
oraz jak skonfigurować oprogramowanie służące do obsługi
programatora. Zazwyczaj "kupny" programator ma starannie
opisane(na obudowie) rozłożenie sygnałów w złączu, jest to bardzo
pomocne, gdyż niewłaściwe podłączenie programatora może
skutkować uszkodzeniem programatora, programowanego układu, a
nawet komputera.
Kompilator
A czym jest "kompilator" i do czego służy? Mikroprocesor rozumie
jedynie programy zapisane w języku maszynowym (kod
maszynowy) specyficznym dla każdego typu mikroprocesora i
zupełnie nieczytelnym dla człowieka - ciąg zer i jedynek. Natomiast
kody zródłowe programów, czyli teksty programów zapisanych w
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 8 of 15
językach programowania (np. C/C++, PASCAL ), w których roi się
od słów z języka angielskiego (do, for, while, return itp.), dla
procesora nic nie znaczą. Właśnie kompilator jest programem
tłumaczącym kody zródłowe na język maszynowy zrozumiały dla
mikroprocesora. W kursie będziemy wykorzystywać darmowy
kompilator AVR-GCC z pakietu WinAVR. AVR-GCC jest wersjÄ…
znanego kompilatora GCC (GNU Compiler Collection), która tworzy
kod wykonywalny dla mikrokontrolerów AVR.
Tworzenie oprogramowaia dla uC AVR
Część praktyczna
W części praktycznej zainstalujemy pakiet WinAVR i skompilujemy
nasz przykładowy program. Następnie zestawimy (ja będę
montować części na płytce stykowej) prosty układ z uC AVR,
podłączymy do uC programator ISP i na koniec załadujemy
skompilowany program do pamięci FLASH uC AVR.
Najnowszą wersje pakietu WinAVR można pobrać klikając w link
WinAVR-download. WinAVR instaluje siÄ™ w systemie podobnie jak
większość oprogramowania dla Windows, kilka kliknięć i po chwili
wszystkie programy znajdÄ… siÄ™ na twardym dysku, gotowe do
pracy. Kiedy program instalujÄ…cy zapyta o nazwÄ™ katalogu, gdzie
mają być zainstalowane pliki, najlepiej wpisać "C:WinAVR" (bez
numeru wersji), dzięki temu, łatwo będzie odnalezć kompilator na
dysku. Na koniec instalacji uruchamiamy jeszcze skrypt
"C:WinAVRbininstall_giveio.bat". Dodatkowych informacji, jakby siÄ™
pojawiły jakieś problemy, można szukać przeglądając plik:
"C:WinAVRWinAVR-user-manual".
Zazwyczaj w kursach programowania zaczyna siÄ™ od programu
wypisującego tekst "Hello, World". My na początku nie będziemy
używać żadnego wyświetlacza, pierwszy program przywita się
migając na przemian dwiema diodami LED, a gdy zostanie wciśnięty
przycisk, diody powinne zacząć migać wyraznie szybciej.
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 9 of 15
/* "led.c" - programik do testowania środowiska WinAVR */
/* układ ATmega 1MHz */
/* PB0,PB1 - diody LED; PD0 - przycisk */
#define F_CPU 1000000L
#include
#include
int main(void)
{
DDRB |= _BV(0)|_BV(1);
PORTB |= _BV(0);
PORTB &= ~_BV(1);
DDRD &= ~_BV(0);
PORTD |= _BV(0);
while (1)
{
PORTB ^=_BV(0);
PORTB ^=_BV(1);
_delay_ms((PIND & _BV(0))? 1000: 200);
}
}
Listing przykładowego programu
W tej chwili jeszcze nie będę omawiać szczegółów tego kodu, to
będzie w następnej części kursu, teraz opiszę w jaki sposób
wykorzystując WinAvr, można szybko skompilować przykładowy
program w C i zaprogramować pamięć mikrokontrolera AVR,
ponieważ początkujący mogą mieć z tym problemy.
Proponuje gdzieś na dysku komputera utworzyć katalog o nazwie
"kurs_avrgcc", niech tam będą trzymane przykłady do kursu. U
mnie na dysku każdy projekt (program) będzie posiadał własny
katalog. Katalogom projektów będę nadawał numery jako nazwy.
Dwie pierwsze od lewej cyfry w nazwie katalogu będą oznaczać
numer części kursu, trzecia ostatnia cyfra będzie oznaczać numer
projektu w dane części kursu, Na przykład nazwa katalogu "011"
oznacza pierwszy projekt w pierwszej części kursu. Jak się uzbiera
więcej przykładowych programów, to utworzymy specjalną
podstronę z opisem do każdego przykładu, gdzie będzie można
szybko coś znalezć.
Wpierw stworzymy plik Makefile z regułami dla programu make.
Program make automatyzuje proces kompilacji programów. Do tego
celu posłużymy się programem MFile z pakietu WinAVR. MFile jest
wygodnym kreatorem-edytorem plików "Makefile", z jego pomocą
szybko i Å‚atwo utworzymy odpowiedni plik Makefile.
Więć uruchamiamy program MFile.
Start >> Programy >> WinAVR >> MFile
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 10 of 15
Okienko programu MFile - kreatora plików Makefile
W menu programu MFile wybieramy opcjÄ™:
Makefile->Main file name
i w okienku, które się pojawi wpisujemy nazwę pliku przykładowego
programu: "led", nazwÄ™ pliku wpisujemy bez rozszerzenia ".c";
Następnie wybieramy typ układu (ja użyje ATmega8):
Makefile->MCU type->ATmega->atmega8;
typ używanego programatora
Makefile->Programmer->stk200;
oraz numer portu w komputerze z przyłączonym programatorem:
Makefile->Port->lpt1
Jeśli chcemy ręcznie edytować plik Makefile, wybieramy z menu
opcjÄ™:
Makefile->Enable Editing of Makefile
W przypadku programatora USBasp, trzeba w pliku Makefile ręcznie
wpisać typ programatora, MFile nie zna programatora USBasp. W
poniższej linijce wpisujemy typ programatora "usbasp"
AVRDUDE_PROGRAMMER=usbasp
Następnie zapisujemy plik Makefile w katalogu naszego projektu
"kurs_avrgcc\11"
File->Save As
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 11 of 15
i zamykamy program MFile.
Dalej uruchamiamy dostarczony wraz z WinAVR edytor tekstu
"Programmers Notepad":
START >> Programy >> WinAVR >> Programmers Notepad
a w nim tworzymy nowy plik z rozszerzeniem .C
File->New->C/C++
Wklejamy do niego nasz program i zapisujemy plik z nazwÄ… "led.c"
w katalogu "kurs_avrgcc\11", gdzie zapisaliśmy stworzony
wcześniej plik Makefile.
File->Save as
Dalej uruchamiamy kompilacje programu wybierajÄ…c z menu
edytora opcjÄ™
Tools->Make All
Program make wywołując kompilator avr-gcc oraz inne programy
narzędziowe, skompiluje plik zródłowy programu "led.c" i utowrzy w
katalogu projektu plik wynikowy "led.hex", który można już wysłać
do programu obsługującego programator.
Uruchomienie kompilacji programu z edytora "Programmers Notepad".
Kliknij w obrazek, żeby powiększyć.
Jeśli kompilacja zakończyła się sukcesem w okienku Output edytora
powinien pojawić się komunikat "Process Exit Code: 0".
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 12 of 15
Okienko "Output" edytora z komunikatami o przebiegu kompilacji
W kolejnym kroku proponuje zestawić układ taki, jak na schemacie
poniżej. Na schemacie widać układ atmega8, atmega8 wymaga
stabilnego napięcia zasilania (od 4,5V do 5,5V), więc na schemacie
jest też pięciowoltowy stabilizator napięcia 7805. Podłączając AVR-
ra do zasilania należy dodatkowo przyłączyć wyprowadzenie AVCC
(zasilanie przetwornika ADC) linii zasilania oraz AGND do masy,
nawet jeśli się nie wykorzystuje ADC. Na liniach zasilania, blisko
wyprowadzeń uC znajdują się kondensatory blokujące 100nF.
Wyprowadzenie RESET uC należy podłączyć do napięcia zasilania
poprzez rezystor 4,7..10k. Nowe układy atmega8 skonfigurowane
są do pracy z wewnętrznym oscylatorem o częstotliwości 1MHz (na
razie nie będziemy tego zmieniać) i w tym przypadku nie potrzeba
stosowania zewnętrznego kwarcu. Umieściłem na schemacie także
dwie diody LED i przycisk. Dwie diody LED będą pełnić w naszym
komputerku rolÄ™ monitora, a przycisk rolÄ™ klawiatury - taki
komputer przyszłości
Schemat podłączenia uC AVR. Kliknij w obrazek, żeby powiększyć.
Ja zmontowałem wszytko na płytce stykowej.
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 13 of 15
Gotowy układ zestawiony na płytce stykowej. Kliknij w obrazek, żeby powiększyć.
A do zasilana całości ja użyje zwkłego, niestabilizowanego zasilacza
9VDC (600mA).
Uniwersalny zasilacz 9VDC(600mA), w sam raz do zasilana naszego układu
Dalej łączymy przewodem programator z uC AVR na płytce.
Podłączając programator należy kierować się przede wszystkim
informacjami i wskazówkami z instrukcji obsługi programatora, bo
to jest właśnie moment, kiedy można łatwo coś popsuć. Jeśli
składamy układ na płytce stykowej, dobrze jest dla wygody, zrobić i
starannie opisać przejściówkę taką, jaką widać na fotografii poniżej.
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 14 of 15
Przejściówka ułatwiająca podłączenie programatora do uC AVR na płytce stykowej
Pisałem już, że programatory AVR ISP mogą być zasilane z układu
docelowego lub z portu komputera. Przy testowaniu przykładowych
programów ja będę używał wspomnianych wcześniej dwóch
programatorów: STK200 i USBasp. STK200 pobiera zasilanie z
układu docelowego, więc na schemacie do pinu 2 złącza
programatora przyłączyłem napięcie zasilania +5V. Z kolei
programator "Usbasp" można skonfigurować za pomocą zworek, czy
ma pobierać zasilanie z portu komputera, czy z przyłączonego
układu. W naszym przypadku, gdy uC AVR taktowany jest z
częstotliwością 1MHz, jeśli zamierzamy użyć programatora USBasp,
to musimy w nim połączyć zworkę zmniejszającą prędkość
programowania (patrz instrukcja lub opis programatora).
I w końcu, żeby zaprogramować pamięć FLASH uC, wracamy do
edytora "Programmers Notepad" i w menu wybieramy opcjÄ™
Tools->Program
W tym momencie program make uruchomi program
"avrdude"(program obsługujący programator), ten odczyta plik
"led.hex" i zaprogramuje pamięć Flash układu atmega8. Jeśli po
kompilacji zawartość pliku zródłowego "led.c" zostałaby zmieniona i
plik "led.hex" byłby starszy od pliku "led.c", to wtedy make przed
zaprogramowaniem pamięci ponownie przeprowadzi całą
kompilacjÄ™.
Jeśli programowanie pamięci AVR-ra zakończyło się pomyślnie, to w
okienku Output edytora powinien pojawić się znajomy komunikat:
"Process Exit Code: 0"
Animacja poniżej demonstruje jak powinien działać nasz
przykładowy program.
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010
XYZ Hobby Robot-Kurs AVR-GCC, cz.1 Page 15 of 15
Efekt działania przykładowego programu
Oczywiście kompilacje programu jak i programowanie pamięci Flash
uC możemy przeprowadzać także z konsoli (wiersz polecenia), bez
potrzeby uruchamiania edytora tekstu. Otwieramy okienko wiersza
polecenia, przechodzimy do katalogu projektu i uruchamiamy
program make z parametrem "all" lub "program". W katalogu
oprócz pliku zródłowego programu musi znajdować się odpowiedni
plik Makefile, bez niego program make nie będzie wiedział co
powinien robić.
Kompilacja w konsoli
I to już koniec pierwszej części kursu.
W następnej części...
W następnej części kursu zaczniemy już pisać proste programy w
języku C, wyjaśnię też sposób programowania równoległych portów
we/wy mikrokontrolerów AVR. Na zadanie domowe proponuję
poczytać w Internecie na temat zapisu liczb w systemach
dwójkowym i szesnastkowym oraz o funkcjach logicznych(AND OR
NOT XOR).
Kurs AVR-GCC cz.2
Copyright © 2009-2010 ABXYZ - Wszelkie prawa zastrzeżone
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1&pv 17/04/2010


Wyszukiwarka

Podobne podstrony:
Kurs AVR GCC cz 5
Kurs AVR GCC, cz 3
Kurs AVR GCC cz 2
Kurs AVR GCC cz 3
Kurs AVR GCC cz 1
Kurs AVR GCC, cz 5
Kurs AVR GCC, cz 4
Kurs AVR GCC, cz 2
Kurs AVR GCC cz 4
Kurs AVR GCC Wyświetlacz LCD od Nokii310
XYZ Hobby Robot Kurs AVR GCC Gamepad od PlayStation
Kurs AVR GCC Dekoder RC5
Using the EEPROM memory in AVR GCC
AVR GCC w Linuksie przykład instalacji ze źródeł
Zestaw uruchomieniowy do procesorow rodziny AVR i 51, cz 2

więcej podobnych podstron