Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arm RTEMS STM32F4如何使用BSP_Arm_Embedded_Stm32f4_Bsp_Rtems - Fatal编程技术网

Arm RTEMS STM32F4如何使用BSP

Arm RTEMS STM32F4如何使用BSP,arm,embedded,stm32f4,bsp,rtems,Arm,Embedded,Stm32f4,Bsp,Rtems,我对RTEMS很陌生。 我想我已经成功地构建了RTEMS,可以在STM32F4上运行。 我已经尝试了示例文件夹(此处:)中包含的LED闪烁示例(槽计时器) 我已经编译并在我的板上闪烁了它,led闪烁,所以我认为设置得很好。不幸的是,关于“如何使用板支持包(BSP)”来编程硬件相关功能的例子并不多 我想更进一步,我想使用USART,以便有一个对调试和学习有用的控制台。 对于如何使用BSP(在代码级别)实现USART或更一般的实现硬件驱动程序,我真的没有任何线索。 我应该定义什么?我需要打什么电话?

我对RTEMS很陌生。 我想我已经成功地构建了RTEMS,可以在STM32F4上运行。 我已经尝试了示例文件夹(此处:)中包含的LED闪烁示例(槽计时器)

我已经编译并在我的板上闪烁了它,led闪烁,所以我认为设置得很好。不幸的是,关于“如何使用板支持包(BSP)”来编程硬件相关功能的例子并不多

我想更进一步,我想使用USART,以便有一个对调试和学习有用的控制台。 对于如何使用BSP(在代码级别)实现USART或更一般的实现硬件驱动程序,我真的没有任何线索。 我应该定义什么?我需要打什么电话?我可以想象,使用RTEMS和BSP,我不应该在“寄存器级别”编写代码。我说得对吗? 有人能给我举个简单的例子吗?你能就这个论点给我澄清一下吗

提前感谢你的帮助。
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支持。所以我可以在工作中学习,也可以向同事学习。你好,克里斯蒂安