23 февраля 2014 г.

Книга: Автоматизация Geany на основе MAKE файлов

Автоматизация Geany.
Вариант 2: на основе MAKE файлов.



Это достаточно удобный способ может сперва показаться слишком запутанным... В папке с каждым проектом создается Makefile в котором указывается указываем модель контроллера, фьюзы, путь к компилятору и его конкретный вариант avra/gavrasm/gcc-avr, модель программатора и программа прошивки.

Если в процессе разработки мы понимаем, что далее требуется начать работать с другой конфигурацией и контроллером, редактируем три строчки в начале make-файла.

Итак, создадим новый проект в Geany. В настройках выбирем: Сборка- Установить команды сборки. Появится такое меню:


Настоим - для этого нужно прописать следующие команды (названия произвольные):
"Скомпилировать" -  make compile FILE=%e
"Прошить" - make program FILE=%e
"Очистить" - make clean FILE=%e
"Взвесить" - make size FILE=%e


Теперь нужно написать собственно сам make-file и положить его в папку проекта.
Это удобная система, потом при любом проекте указываем модель контроллера, фьюзы и готово. По моему даже лучше чем выбирать из списка всё это в окнах настройки проекта. Естественно, makefile можно создать и получше но тут будет совсем простой для простых проектов.
Не забываем про табуляцию перед командой, иначе будет ошибка.


Файл выглядит так:

# Makefile for programming AVR in Geany
#Параметры проекта:

MK=t13
LFuse=0x7A
HFuse=0xFF

# Более глобальные переменные. 
ASM=avra
ISP=avrdude
INCLUDEDIR=/usr/share/avra/includ

compile:
    $(ASM) -I $(INCLUDEDIR) -l $(FILE) $(FILE).asm 2>&1|grep -v PRAGMA
program : $(FILE).hex
    $(ISP) -c usbasp -p $(MK)  -U flash:w:$(FILE).hex:i -U lfuse:w:$(LFuse):m -U hfuse:w:$(HFuse):m
clean:
    rm -f $(FILE).cof $(FILE).eep.hex $(FILE).hex $(FILE).obj *~
size:
    avr-size  $(FILE).hex
Теперь правим его под себя - указываем тип своего МК и fuse.
Не забываем про табуляцию перед командой, иначе будет ошибка. Также, некоторые редакторы вставляют в файл свои невидимые символы BOM в результате чего тоже будет ошибка. Советую править Makefile используя geany, с ним проблем невидимых символов и табуляции не будет.

Обычно выдается ошибка такого вида:

Makefile:1: *** пропущен разделитель. Останов.
Впрочем, можно не мучатся и просто скачать данный образец:
wget https://sites.google.com/site/httpavrprogblogspotru/Makefile



ИТОГО, в Geany доступны автоматические действия:
"Компилировать" - или иконка с пирамидой и шаром, или F8
"Взвесить" -
"Прошить" - иконка с шестеренкой, или F9

Все "наши" созданные команды содержатся в пункте верхнего меню Сборка.

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

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