【发布时间】:2015-07-31 07:26:16
【问题描述】:
我正在使用 Yosemite OS X 的 Mac 上工作,我正在尝试用 C 语言编译一个程序,然后我可以将它上传到我的 Arduino 上。我正在关注a tutorial。
我尝试通过并重新安装 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
【问题讨论】:
-
@Kavanai4 据我所知,没有办法使用 Arduino IDE 在纯 C 语言中编程
-
@Kavanai4 目前我只有 Arduino,但我最终想在 Arduino IDE 没有帮助的情况下开始对 AVR 微控制器进行原始编程。在我把钱花在新硬件上之前,我想确保我可以先在 Arduino 上做到这一点,因为我已经拥有一个。
-
你从哪里得到 avr-gcc?
-
我知道这不是一个解决方案,但我会建议暂时退回到 4.9.x。 5.2.0 似乎正在寻找 avr-libc 没有提供的目标文件,至少没有提供给定的文件名。
-
@IgnacioVazquez-Abrams:我安装了 avr-gcc-4.9.0 并且错误消失了。我能够链接程序,创建一个十六进制文件,闪烁它,现在 LED 灯正在闪烁!请发表您的评论作为答案,这样我就可以给您信用。
标签: arduino avr libc atmega avr-gcc