运行时系统为Stm32F103 Arm,GNAT Ada编译器

问题描述 投票:2回答:2

我喜欢将Ada与Stm32F103 uc一起使用,但问题是这个问题 - 在GNAT 2016中没有内置的运行时系统。还有另外一个TI RTS包含的cortex-m3 uc - zfp-lm3s,但看起来它需要一些全局更新,内存大小/原点的简单更改不起作用。

所以,有一些问题:

  1. 有些机构有stm32f103的RTS吗?
  2. 是否有关于皮质m3或其他手臂uc的低级人员的好书?

PS。当我尝试通过GPS运行程序时,使用zfp-lm3s会出现此错误:

Loading section .text, size 0x140 lma 0x0 Load failed

runtime ada stm32 gnat
2个回答
5
投票

STM32F系列来自qazxsw poi,而不是TO,stm32f4似乎是一个更好的起点。

特别是,STMicroelectronics中的时钟代码只需要很小的调整;使用STM的STM32CubeMX工具(用Java编写)来找到正确设置时钟的幻数。

您还会发现bsp/setup_pll.adb中使用的汇编程序代码需要简化/移植到Cortex-M3部分。

我的bsp/start*.S项目包括一个Arduino Due版本(也是Cortex-M3),它的启动代码完全用Ada编写。我不认为其余的代码会有很多帮助,基于FreeRTOS - 你必须非常小心内存使用。


0
投票

我在寻找特定于stm32l0xx板的zfp运行时时偶然发现了这个问题。它看起来并不像我能看到的那样,但我偶然发现了从AdaCore创建一个新运行时的指南,这可能会帮助任何人遇到同样的问题:

Cortex GNAT Run Time Systems

© www.soinside.com 2019 - 2024. All rights reserved.