我无法让 avr-elf-windows 和 WinAVR 工作。我已经设法构建了 avr-elf-windows ( ATmega2560 ) 提供的示例。但是,如果我尝试扩展以使用另一个芯片或开始使用 WinAVR 提供的包和项目,我会不断收到错误,我无法解决。
方法一:
修改 ATmega2560 示例以使用 WinAVR 包。
改变:
with Atmega2560; use Atmega2560;
到:
with AVR; use AVR;
with AVR.Atmega328p; use AVR.atmega328p;
创建一个项目文件以包括:
with "C:\WinAVR-20100110\lib\gnat\avr.gpr";
with "C:\WinAVR-20100110\lib\gnat\avr_app.gpr";
运行 make 我得到以下错误:
avr-gnatmake: "C:\WinAVR-20100110\lib\gnat\avr_lib\avr-int_img.adb" 编译错误
太好了,我有一个编译问题,但我看不到错误。
方法二:
在 GPS 中打开上述工程文件。将构建设置更改为 gnatmake。GPS 现在开始报告错误和警告:
项目警告:找不到对象目录“avr_lib/avr5/obj” 项目库目录“C:\WinAVR-20100110\lib\gnat\avr_lib\avr5\lib\”不存在
后一个问题很明显是我没有正确设置 GPS 来告诉它微控制器和架构的价值,但我似乎找不到任何解决这个问题的方法。
方法三:
要使用直接使用 makefile 设置的 WinAVR,则会出现错误:
avr-gnatmake:RTS 路径无效:缺少 adainclude 和 adalib 目录
如果我按照我可以通过搜索网络找到的说明进行操作,我只能找到在 Linux 下构建所需库的详细信息。
平台:Windows 7。
结合上面的两个答案,我现在已经设法链接我的示例代码。至于它是否可以在 Arduino 上工作,这是一个不同的问题。
非常感谢您的帮助。
我发现走到这一步有点令人沮丧,我想知道是否还有其他人可能会放弃 Arduino 上的 Ada 并返回 Arduino IDE,因此错过了学习语言的机会更多的结构。那里有许多误导性的页面也无济于事。