суббота, 25 января 2014 г.

Arch Linux. Необходимое для разработки под Arduino

В данной заметке я хочу описать действия, необходимые для настройки системы, в нашем случае Arch Linux, для программирования под Arduino. Для этого требуется:
  1. Установить пакеты для сборки программ и загрузки/выгрузки данных из микроконтроллера. К таким пакетам относятся: avr-binutilsavr-gccavr-libcavrdude. Также, можно установить отладчик avr-gdb. Все эти пакеты доступны в репозитории community дистрибутива Arch Linux;
  2. Установить пакет arduino, содержащий Platform SDK. Пакет доступен в репозиториях AUR. Установить можно, воспользовавшись утилитой yaourt;
  3. Согласно рекомендациям в archwiki, а также рекомендациям, выданным системой после установки вышеуказанных пакетов, пользователю необходимо добавиться в группы ttyuucplock;
  4. При разработке программ нам здорово облегчит жизнь makefile, написанный одним добрым человеком. Скачать файл и почитать рекомендации по работе с ним можно ЗДЕСЬ.
И если у вас установлен emacs, то все готово для разработки. А если у вас любимым является другой редактор, то... его тоже можно использовать ) Мало того, я более чем уверен, что хуже IDE, идущей в составе пакета arduino, может быть только блокнот в виндовс.
Хорошо. Если все готово, то самое время провести тест. За базу возьмем код одного из простейших примеров, идущих в составе SDK.
  1. Создайте каталог для проекта. Пусть это будет blink.
  2. Создайте файл main.cpp следующего содержания.
    #include <Arduino.h>
    
    int led = 13;
    
    void setup() {                
        pinMode(led, OUTPUT);     
    }
    
    void loop() {
        digitalWrite(led, HIGH);
        delay(1000);
        digitalWrite(led, LOW);
        delay(1000);
    }
    
    int main(void) {
    
        init();
        setup();
    
        while (1) {
            loop();
        }
    
        return 0;
    }
  3. Поместите в каталог проекта файл arduino.mk, скачанный по ссылке из п. 4 описания настройки системы.
  4. Создайте Makefile следующего содержания.
    TARGET := blink
    SOURCES := main.cpp
    #LIBRARIES :=
    BOARD := mega
    include arduino.mk
    Разумеется, что если у вас плата, отличная от моей, то измените значение параметра BOARD. Кроме того, если вы разместили файл arduino.mk в более удобном месте для использования в разных проектах, то последнюю строчку Makefile тоже необходимо откорректировать соответствующим образом.
  5. Сборка проекта. Для этого необходимо выполнить команду make target в каталоге проекта. В результате будет создан hex файл.
  6. Загрузите программу в микроконтроллер. Для этого, также в каталоге проекта, необходимо выполнить команду make upload.
Это все. Наслаждайтесь разработкой под Arduino в любимой OS и в любимом редакторе!

Комментариев нет:

Отправить комментарий