Ubuntu 9.04. Решил я попробовать в ней программировать контроллеры AVR на языке Си.
На просторах интернета везде советуют ставить Eclipse или KontrollerLab, но это не наш метод. Мы будем работать из командной строки.
Наша прошивка готова к заливке в микроконтроллер.
На просторах интернета везде советуют ставить Eclipse или KontrollerLab, но это не наш метод. Мы будем работать из командной строки.
Устанавливаем gcc-avr, avr-libc, avrdude.
$sudo apt-get install gcc-avr avr-libc avrdude
$sudo apt-get install gcc-avr avr-libc avrdude
Создадим в корне системы папочку под названием AVR (путь к папке: /AVR). В качестве редактора я использовал gedit. В нем напишем свой код, например такой:
#include
#include
#include
int main(void)
{
DDRx=0xff;
while (1)
{
PORTx=0xff;
_delay_ms(100);
PORTx=0x00;
_delay_ms(100);
}
}
#include
int main(void)
{
DDRx=0xff;
while (1)
{
PORTx=0xff;
_delay_ms(100);
PORTx=0x00;
_delay_ms(100);
}
}
Сохраняем наш текст с расширением main.c в папочке AVR (путь к файлу: /AVR/main.c).
Компиляция кода
Запустим в терминале:
avr-gcc -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -o /AVR/main.o /AVR/main.c
avr-gcc - компилятор,
-mmcu=atmega8 - наш контроллер atmega8,
-DF_CPU=тактовая частота в Гц,
-Os -Оптимизатор кода,
-o /AVR/main.o - выходной файл с расширением .o который получим из .c,
/AVR/main.c - наш си файл.
-mmcu=atmega8 - наш контроллер atmega8,
-DF_CPU=тактовая частота в Гц,
-Os -Оптимизатор кода,
-o /AVR/main.o - выходной файл с расширением .o который получим из .c,
/AVR/main.c - наш си файл.
Не забываем работать под root иначе система не пустит.
Enter и если зайдем в наш каталог /AVR то увидим файлик с расширением .o.
Enter и если зайдем в наш каталог /AVR то увидим файлик с расширением .o.
Далее в терминале (он же консоль) введем:
avr-objcopy -O ihex /AVR/main.o /AVR/main.hex
avr-objcopy -O ihex /AVR/main.o /AVR/main.hex
Этим мы перегоняем наш файл main из main.o в main.hex.
Наша прошивка готова к заливке в микроконтроллер.
Для этого нам понадобится программатор. Использовать будем программатор stk500v2 by Petka.
Откроем терминал:
avrdude -c stk500v2 -pm8 -P /dev/ttyUSB0 -U flash:w:/AVR/main.hex
avrdude -c stk500v2 -pm8 -P /dev/ttyUSB0 -U flash:w:/AVR/main.hex
В итоге все получилось!
____
http://cxem.net/mc/mc44.php
http://cxem.net/mc/mc44.php
Комментариев нет:
Отправить комментарий