AVR_GCC ошибки компиляции delay.h - PullRequest
1 голос
/ 05 июня 2010

Инструкции в blinky.zip , gcc-секции, Teensy ++ v.2. Makefile и blinky.c находятся в архиве. Я изменил blinky.c, определив F_CPU в начале, потому что не использовал Makefile, пожалуйста, смотрите ниже. Так почему я получаю ошибки и как мне скомпилировать C-файлы для чипа at90usb1286?

$ avr-gcc -mmcu=atmega88 blinky.c

In file included from blinky.c:28:
/usr/local/lib/gcc/avr/4.2.2/../../../../avr/include/util/delay.h:90:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
/tmp//ccB66ecl.o: In function `main':
blinky.c:(.text+0x3e): undefined reference to `usb_init'
/tmp//ccB66ecl.o: In function `morse_character':
blinky.c:(.text+0x24c): undefined reference to `print_P'
blinky.c:(.text+0x36e): undefined reference to `print_P'
blinky.c:(.text+0x378): undefined reference to `usb_debug_putchar'
blinky.c:(.text+0x37e): undefined reference to `print_P'
blinky.c:(.text+0x386): undefined reference to `print_P'
blinky.c:(.text+0x390): undefined reference to `usb_debug_putchar'
blinky.c:(.text+0x394): undefined reference to `usb_debug_putchar'
blinky.c:(.text+0x416): undefined reference to `print_P'
blinky.c:(.text+0x4fa): undefined reference to `print_P'
blinky.c:(.text+0x6f8): undefined reference to `print_P'
/tmp//ccB66ecl.o: In function `morse_P':
blinky.c:(.text+0x834): undefined reference to `print_P'

1 Ответ

0 голосов
/ 05 июня 2010

Это ошибки ссылок. Вы можете выполнить только компиляцию (обратите внимание, что я добавил флаг -c):

avr-gcc -c -mmcu=atmega88 blinky.c

Затем вам придется связать это с другими вашими объектами, чтобы создать двоичный файл.

Кроме того, вы можете предоставить все исходные файлы в одной командной строке, и компилятор скомпилирует и скомпонует их:

avr-gcc -mmcu=atmega88 blinky.c print.c usb_debug_only.c
...