AVR для Xcode 4? - PullRequest
       91

AVR для Xcode 4?

4 голосов
/ 08 августа 2011

Кто-нибудь имел успех, используя xcode 4 в качестве IDE для микроконтроллеров AVR? Можно ли иметь такую ​​же степень интеграции, как и плагин для затмения?

Ответы [ 2 ]

4 голосов
/ 25 августа 2011

Да.Я использую Xcode 4 в качестве IDE при написании кода AVR.

Но он работает только как «обертка» для инструментов командной строки avc-gcc.У меня есть три цели Xcode в проекте: build ("make all": только компиляция), fuse ("make fuse": программные предохранители) и flash ("make flash": скомпилируйте и загрузите в AVR).Просто выберите подходящую цель и нажмите Cmd-B, чтобы построить.

Не так много интеграции.Мне все еще нужно отредактировать Makefile, чтобы установить тактовую частоту, программист и модель устройства, а также значения предохранителей.И если я добавлю больше .c файлов, я также должен добавить соответствующий .o файл в Makefile.Но, по крайней мере, я могу сделать это из Xcode.

Я создал минимальный шаблон проекта, который позволит вам создать новый проект AVR в Xcode.Получите файл здесь http://dl.dropbox.com/u/1194636/AVR_Xcode4_template.zip. Извлеките архив и поместите папку Atmel AVR® в ~ / Library / Developer / Xcode / Templates (вам может понадобиться создать папку Templates).

2 голосов
/ 16 сентября 2012

Шаблон из второго ответа (http://dl.dropbox.com/u/1194636/AVR_Xcode4_template.zip) работает нормально, но с некоторыми изменениями .. Вы должны поместить их в файл "makefile" в шаблоне, чтобы иметь возможность включать несколько файлов в проект:

OBJECTS    = main.o $(OBJ)
SRC =  mynewfile.c
OBJDIR = .
OBJ = $(SRC:%.c=$(OBJDIR)/%.o)
LST = $(SRC:%.c=$(OBJDIR)/%.lst)

в разделе SRC необходимо ввести все файлы, встроенные в проект (, например, mynewfile.c ).

Еще одно усовершенствование - очистить все файлы obj из проекта., после ссылки ... Найдите раздел main.hex в make-файле и измените строку rm -f следующим образом:

    rm -f main.hex $(OBJ) $(LST) main.o

В остальном все остается прежним. Что я не могу выяснить, так это как я могувключите полный код для этого шаблона. Если кто-нибудь знает, я был бы признателен за помощь.

...