Dlatego zaproponowałem Geany, ponieważ on nie wymaga praktycznie konfiguracji. Wszystko kontroluje plik makefile, który musi się znajdować w katalogu projektu.
Jeśli miałeś skonfigurowane Eclipse to pewnie większość pakietów masz zainstalowaną, ale upewnij się:
gcc
binutils
pkg-config
gcc-avr
avr-libc
avrdude
binutils-avr
geany
Teraz tworzysz katalog swojego projektu. Na początek zrób w nim najprostszy program, który zawiera się w jednym pliku (ten nic nie robi):
plik: katalog projektu/prog.c
Kod: Zaznacz cały
#include <avr/io.h>
int main(void)
{
while (1) {
;
};
return 0;
}
Teraz tworzysz w tym samym katalogu plik który to skompiluje:
plik: katalog projektu/makefile
Kod: Zaznacz cały
#-----------------------------------------------------------------------
# makefile_AVR
# Prosty plik make do kompilacji programów C dla mikrokontroleró ATmega
# kompilacja jednego wskazanego pliku
#-----------------------------------------------------------------------
# Komendy:
# make = Kompilacja kodu źródłowego.
# make clean = Czyszczenie wyjściowych plików projektu.
# make program = załadowanie kodu do procesora
#-----------------------------------------------------------------------
MCU=atmega16
F_CPU=2000000
CC=avr-gcc
CFLAGS=-g -mmcu=$(MCU) -Wall -Os -DF_CPU=$(F_CPU)
OBJCOPY=avr-objcopy
SRCS=prog.c
TARGET=program
#---------------- Opcje programatora (avrdude) ----------------
AVRDUDE_PROGRAMMER = usbasp
AVRDUDE_CLOCK = 0.5
all: $(TARGET).hex
$(TARGET).hex : $(TARGET).out
$(OBJCOPY) -O ihex $(TARGET).out $(TARGET).hex
$(TARGET).out : $(SRCS)
$(CC) $(CFLAGS) -I./ -o $(TARGET).out $(SRCS)
clean:
rm -f *.hex *.out
# Programowanie urządzenia.
program: $(TARGET).hex
avrdude -p $(MCU) -B $(AVRDUDE_CLOCK) -c $(AVRDUDE_PROGRAMMER) -U flash:w:$(TARGET).hex
Taki minimalisyczny projekt można już obsługiwać z lini poleceń terminala, ale jak mamy Geany to można sobie poklikać:
Otwierasz w Geany plik programu prog.c
Edytor sam powiąże ten plik z makefile znajdujące się w tym samym katalogu. Wystarczy wybrać z menu: Zbuduj->Make
W katalogu projektu przybędą pliki: program.out i program.hex (nazwy możesz edytować w pliku makefile)
Teraz dla wygody posługiwania się programem warto zdefiniować przyciski w menu dla pozostałych poleceń z pliku makefile:
w menu wybieramy: Zbuduj->Zdefiniuj polecenia budowania->Polecenia uniwersalne
Ja dodaje w pozycjach 3 i 4:
3. [clean] make clean
4. [program] make program
Teraz możesz jednym kliknięciem załadować program do procesora lub wyczyścić katalog projektu.
W pliku makefile musisz ustawić opce avrdude pod programator jaki masz. Ja mam USBASP i taki jest ustawiony.
Napisz jak poszło to spróbujemy z bardziej uniwersalnymi plikami makefile.