RTEMS STM32F4如何使用BSP

时间:2017-11-02 07:22:02

标签: arm embedded stm32f4 bsp rtems

我对RTEMS很新。 我认为已经成功构建了在STM32F4上运行的RTEMS。 我已经尝试过示例文件夹中包含的LED闪烁示例(trough timer)(此处为:https://github.com/RTEMS/examples-v2/tree/master/led)。

我已经在我的电路板上编辑并闪现了它,并且LED闪烁,所以我认为有一个很好的设置。不幸的是,关于"如何使用Board Support Packages(BSP)"为了编写与硬件相关的功能。

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

提前感谢您的帮助。 洛伦佐

1 个答案:

答案 0 :(得分:1)

在大多数BSP上,其中一个串行端口用于标准输入和标准输出。因此,您应该能够使用普通的POSIX函数(如printf)将文本打印到该控制台。

默认情况下,此BSP上只有USART3处于活动状态。所以,如果你没有使用任何特殊选项,我会假设一个是stdout。默认波特率为115200.引脚应为PD8上的TX和PD9上的RX。

从examples-v2存储库中,hello_world_c应该做一些基本输出:https://github.com/RTEMS/examples-v2/tree/master/hello/hello_world_c

如果您想使用其他USART或UART,则应在使用以下选项配置BSP时启用它:STM32F4_ENABLE_USART_1=1(请注意,4和5为UART而不是USART

然后您应该打开所有其他USARTS和UARTS,只需打开/dev/ttyS1设备open(...)并使用相同的read(...)write(...)来电你会在Linux上。