1

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

我已经编译并在我的板上闪烁了它,并且 LED 闪烁,所以我认为有一个很好的设置。不幸的是,没有太多关于“如何使用板级支持包 (BSP)”的示例来对硬件相关功能进行编程。

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

在此先感谢您的帮助。洛伦佐

4

1 回答 1

1

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

默认情况下,只有 USART3 在此 BSP 上处于活动状态。因此,如果您没有使用任何特殊选项,我会假设该选项是标准输出。默认波特率为 115200。引脚应为 PD8 上的 TX 和 PD9 上的 RX。

从示例-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 和 5UART不是USART

然后,您应该能够打开所有其他 USARTS 和 UARTS,只需像在 Linux 上一样打开/dev/ttyS1具有open(...)和使用相同read(...)或调用的设备。write(...)

于 2017-11-02T17:37:44.170 回答