2015-07-31 4 views
5

Я работаю на Mac с Yosemite OS X, и я пытаюсь скомпилировать программу на C, которую я мог бы загрузить на Arduino. Я следую a tutorial.Не удается скомпилировать и связать программу AVR в OS X

Я попытался пройти и переустановить avr-gcc, но я получил тот же результат. Я попытался найти файл crtatmega328p.o в моей системе, но его не найти и то же самое касается каталога.

$ avr-gcc -Os -DF_CPU=16000000UL -mmcu=atmega328p -c -o Program.o Program.c 
$ avr-gcc -mmcu=atmega328p Program.o -o Program 
/usr/local/lib/gcc/avr/5.2.0/../../../../avr/bin/ld: cannot find crtatmega328p.o: No such file or directory 

/usr/local/lib/gcc/avr/5.2.0/../../../../avr/bin/ld: cannot find -latmega328p 
collect2: error: ld returned 1 exit status 
+0

0 Kavanai4 Насколько я мог найти, нет никакого способа программирования в чистом C с использованием Arduino IDE –

+0

@ Kavanai4 В настоящий момент у меня есть только Arduino, но в конечном итоге я хочу перейти на программирование микроконтроллеров AVR в raw, где Arduino IDE не поможет. Прежде чем тратить деньги на новое оборудование, я хочу убедиться, что смогу сделать это на Arduino, так как у меня уже есть. –

+0

Откуда вы взяли avr-gcc? –

ответ

2

Я был просто поражен этой проблемой на GNU/Linux на прошлой неделе.

Собственно, компилятор отлично работает. Причиной проблемы является неудачная попытка соединения с avr-libc.

avr-libc-1.8.1 просто слишком стар, чтобы работать с GCC 5. Хотя 1.8.1 последняя версия avr-libc, но он был выпущен один год назад ... Развивающийся версия avr-libc обновила догонять GCC 5, можно клонировать хранилище подрывной деятельности:

svn co svn://svn.savannah.nongnu.org/avr-libc/trunk 

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