Arm RTEMS STM32F4如何使用BSP
我对RTEMS很陌生。 我想我已经成功地构建了RTEMS,可以在STM32F4上运行。 我已经尝试了示例文件夹(此处:)中包含的LED闪烁示例(槽计时器) 我已经编译并在我的板上闪烁了它,led闪烁,所以我认为设置得很好。不幸的是,关于“如何使用板支持包(BSP)”来编程硬件相关功能的例子并不多 我想更进一步,我想使用USART,以便有一个对调试和学习有用的控制台。 对于如何使用BSP(在代码级别)实现USART或更一般的实现硬件驱动程序,我真的没有任何线索。 我应该定义什么?我需要打什么电话?我可以想象,使用RTEMS和BSP,我不应该在“寄存器级别”编写代码。我说得对吗? 有人能给我举个简单的例子吗?你能就这个论点给我澄清一下吗 提前感谢你的帮助。Arm RTEMS STM32F4如何使用BSP,arm,embedded,stm32f4,bsp,rtems,Arm,Embedded,Stm32f4,Bsp,Rtems,我对RTEMS很陌生。 我想我已经成功地构建了RTEMS,可以在STM32F4上运行。 我已经尝试了示例文件夹(此处:)中包含的LED闪烁示例(槽计时器) 我已经编译并在我的板上闪烁了它,led闪烁,所以我认为设置得很好。不幸的是,关于“如何使用板支持包(BSP)”来编程硬件相关功能的例子并不多 我想更进一步,我想使用USART,以便有一个对调试和学习有用的控制台。 对于如何使用BSP(在代码级别)实现USART或更一般的实现硬件驱动程序,我真的没有任何线索。 我应该定义什么?我需要打什么电话?
Lorenzo在大多数BSP上,其中一个串行端口用于标准输入和标准输出。因此,您应该能够使用普通的POSIX函数(如
printf
)将文本打印到该控制台
默认情况下,此BSP上只有USART3处于活动状态。因此,如果您没有使用任何特殊选项,我会假设其中一个是标准输出。默认波特率为115200。引脚应在PD8上为TX,在PD9上为RX
从examples-v2存储库中,hello_world_c应该执行一些基本输出:
如果要使用另一个USART或UART,应在配置BSP时使用以下选项启用它:STM32F4\u enable\u USART\u 1=1
(请注意,4和5是UART
,而不是USART
)
然后,您应该能够打开所有其他USART和UART,只需像在Linux上一样,使用
open(…)
打开/dev/ttyS1
设备,并使用相同的read(…)
或write(…)
调用就可以了。您是将RTEMS移植到此平台还是已经进行了移植?嗨,老计时器,没有,它应该已经移植,但我找不到文档,所以我被卡住了。谢谢你的帮助你好,克里斯蒂安,我尝试了你提出的解决方案,效果很好!谢谢!如果我可以问更多的问题,我可以在哪里找到所有相关的STM32F4 RTEMS BSP文档?我找不到它!你提出的解决方案简单明了,但你从哪里学到的?对于istance,我可以知道什么是在BSP中实现的,什么不是等。再次感谢您的时间,LorenzoBSP文档是RTEMS中的一个弱点。它的一部分在BSP中的自述文件中。其他部分在维基中。在本例中:。更多通用(非特定于BSP)文档可在此处找到:。请注意,RTEMS实现了许多POSIX。因此,您有一个与Linux非常相似的C标准库。关于这个问题,我从哪里了解到的:我在embedded brains()工作,我们提供商业RTEM支持。所以我可以在工作中学习,也可以向同事学习。你好,克里斯蒂安