各位晚上好,
我正在尝试在Ada中为基于Arm的微控制器编译一个简单的程序。我在Linux子系统上为Windows安装了gnat-5-arm-linux-gnueabi软件包。
现在,用…编译
编译时 program.adb ,生成的目标代码将包含对运行时系统的引用(例如,异常支持,文本i / o)。
program.adb
该 gnat-5-arm-linux-gnueabi 默认情况下,package会为基于Linux的RTS编译,因此未定义的引用。
gnat-5-arm-linux-gnueabi
您可以通过为您的电路板指定适当的RTS来使用此软件包( --RTS=/where/ever ) - 如果你有一个!
--RTS=/where/ever
我认为你最好的选择是从AdaCore下载一个编译器套件] 1 。这将带您进入与您的操作系统兼容的主机版本的下载页面;单击右下角的“更多软件包,平台,版本和源代码”链接,然后选择您的平台:“ARM ELF(托管在Linux上)”或“ARM ELF(托管在Windows上)”。
在Linux上,有一个安装README:(a)你可能需要以root身份安装,(b)相关的例子在 <installation root>/share/examples/gnat-cross 。我记得, led-flasher-stm32f4 例子实际上是针对STM32F429I,它对板载LED有不同的引脚分配!看到 src/lights.ads 。
<installation root>/share/examples/gnat-cross
led-flasher-stm32f4
src/lights.ads
你应该找到文档 <installation root>/share/doc 。看到 gps 对于AdaCore IDE, gnat 对于各种组件,包括Ada参考手册(混淆地称为“ARM”), gnat-cross 用于交叉编译问题。
<installation root>/share/doc
gps
gnat
gnat-cross