Ubuntu 9.04. Решил я попробовать в ней программировать контроллеры AVR на языке Си.
На просторах интернета везде советуют ставить Eclipse или KontrollerLab, но это не наш метод. Мы будем работать из командной строки.
Устанавливаем 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);
>
>
Сохраняем наш текст с расширением 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=тактовая частота в Гц,
Как программировать в Linux на Си и Gambas3
-Os -Оптимизатор кода,
-o /AVR/main.o — выходной файл с расширением .o который получим из .c,
/AVR/main.c — наш си файл.
Не забываем работать под root иначе система не пустит.
Enter и если зайдем в наш каталог /AVR то увидим файлик с расширением .o.
Источник: avr-prog.blogspot.com
Настройка рабочего окружения в Linux для программирования микроконтроллеров AVR
В этой статье мы рассмотрим шаги, которые нужно предпринять, чтобы получить рабочую среду для программирования микроконтроллеров архитектуры Atmel AVR на языке Си в Linux. Мы адресуем эту статью в большей степени новичкам в Linux, поэтому обратим внимание на некоторые моменты, которые продвинутым пользователям могут показаться элементарными.
Дистрибутивов Linux существует огромное количество, мы будем исходить из того, что вы используете Debian или один из дистрибутивов, основанных на Debian, например популярный дистрибутив Ubuntu. В дистрибутивах, основанных не на Debian, изменится только процедура установки программных пакетов. Мы будем использовать только свободное программное обеспечение, с открытым исходным кодом и, разумеется, полностью бесплатное.
Без чего не обойтись
Необходимый минимум программного обеспечения, которое нам понадобится:
gcc-avr — это та часть мощной GNU Complier Collection (GCC), которая будет осуществлять кросс-компиляцию для целевой архитектуры микроконтроллеров AVR. GCC используется для сборки самого Linux, он поддерживает стандарты языка Си ISO C90 (ANSI-C), ISO C99, а также собственные расширения языка Си. GCC поддерживает огромное количество архитектур процессоров. Код, скомпилированный с помощью GCC для одной из платформ, потребует минимальных правок (или не потребует правок вообще) при компиляции для другой целевой платформы.
binutils-avr — ассемблер, компоновщик и некоторые полезные утилиты.
Работа с компилятором GCC C++ в Linux.
avr-libc — стандартная библиотека Си для Atmel AVR.
avrdude — утилита для работы с программаторами.
Это необходимый минимум для создания приложений для AVR и прошивки микроконтроллеров. Для отладки пригодятся следующие пакеты:
gdb-avr — отладчик для AVR.
avarice — интерфейс между avr-gdb и AVR JTAG ICE.
simulavr — симулятор Atmel AVR.
Чтобы установить нужные программные пакеты, откроем терминал и выполним следующую команду:
sudo apt-get install gcc-avr binutils-avr avr-libc avrdude gdb-avr avarice simulavr
Подождем некоторое время, пока пакеты будут загружены из репозитория и установлены и посмотрим, что теперь есть хорошего в нашей системе:
ls /usr/bin | grep avr
Это список программ, которые мы получили. Удобство использования Linux заключается не только в том, что все необходимое мы загрузили и установили одной командой, но и в том, что у нас теперь есть исчерпывающа справка по использованию этих инструментов. Чтобы воспользоваться этой справкой, достаточно набрать в терминале
man
Пробегите глазами, например, man avr-gcc, man avr-objdump, man avrdude. Нажмите клавишу ‘h’, когда находитесь внутри команды man, чтобы получить список клавиш для перемещения по странице справки.
В принципе, того, что у нас есть сейчас, достаточно для того, чтобы заниматься разработкой для AVR, используя любой текстовый редактор. Тем, кто хорошо знает Linux и способен написать удобные псевдонимы команд или скрипты, чтобы не писать каждый раз изрядное количество опций к командам, возможно, больше ничего и не понадобится. Но большинству пользователей, думаю, хотелось бы использовать удобную графическую среду разработки, позволяющую писать код, компилировать, отлаживать и загружать его в микроконтроллер.
Интегрированная среда разработки
Что полезно знать начинающему в Си/Си++, устанавливаем инструментарий ГНУ/Си и ГНУ/Си++ в ОС Линукс дистрибутива Дебиан.
Всем, доброго утречка, с вами Мирра Андрюхан. В этой статье, мы с вами рассмотрим установку нужного набора ПО для компиляции и сборки программ из исходных кодов. Так что, теперь будем переходить от слов к делу.
Для начала упомянусь, что дистрибутив Дебиан имеет дружественный интерфейс работы, но это не значит, что он каждый раз водит вас за ручку. Но, в отличие от других дистрибутивов он гораздо легче в освоении ОС Линукс. Я, к примеру дома применяю Linux Mint, который является потомком дистрибутивов Дебиан и Убунту, к тому же Убунту тоже потомок Дебиан, только со своим уклоном, а Минт (Мятный Линукс) это доработанная Убунту похожая на Седьмую Винду. Однако, для нашего обучения в данном цикле-статей будем применять Дебиан.
При этом, учитывая что в ОС ГНУ/Линукс большинство ПО может собираться из исходников, то установка нужных программ для наших потребностей не составит и труда, но чтобы у вас не было проблем с установкой, сделайте, как у меня ниже.
Источник: andryuhan.ru