0

我有一个外部串行外围设备,需要在 Linux 启动时在嵌入式系统上进行设置。我需要的是在系统启动期间尽早发送一个简短的配置字符串,所以我的程序很简单

  • 将端口设置为 115200 bps
  • 发送一个字符串,例如 "ABCDE\r\n"

我看到最近的内核支持早期的串行控制台,但我需要的不是控制台(我的外围设备也可以在那个阶段发送无意义的数据,另外我将在图形模式下显示启动画面),只是一个快速外围设备的初始化。

怎么做到呢?

4

1 回答 1

1

对此的答案将是主观的,这取决于您的意思是越早越好。我将提供一些我知道的可能对您有帮助的可能性

  • 如果您的嵌入式平台使用任何形式的引导加载程序(例如:U-Boot),那么您可以将串行(UART)初始化作为引导加载程序的一部分(通常这将仅针对目标平台完成,以便我们可以看到多远启动正在发生)。您可以尝试在引导加载程序本身中初始化您的外部串行外围设备。由于引导加载程序将在加载 linux 内核之前执行,因此您可以轻松实现这一点。

  • 如果您的平台不使用任何形式的引导加载程序,那么初始化外部串行外围设备的可能性是通过内核驱动程序(或)系统初始化过程。

我一直在使用 PSplash 程序,它使用基本帧缓冲区驱动程序来进行引导。如果有兴趣检查以下回购

飞溅

于 2021-04-14T10:09:15.153 回答