当/sbin/getty
未运行时,控制台参数的UBoot波特率参数是否会影响访问串口的独立程序?
提前致谢,
伯特
答案 0 :(得分:0)
如果没有改变该UART的串行波特率,U-boot的设置可能仍然有效。但它很容易被Linux驱动程序启动过程或用户模式客户端程序访问串行端口的请求所覆盖。
就个人而言,我确保我的程序特别要求任何波特率;这是最安全的,因为它避免了做出假设,并且与移植到另一个嵌入式Linux风格或甚至非Linux嵌入式O / S最兼容。
如果您发现U-boot的设置存活并且您决定依赖它(也许只需通过更改U-Boot参数就可以为引导加载程序和正常操作进行自定义)我会在用户中发表评论 - 模式代码,它打开串口以提醒自己或通知未来的维护者/搬运工你指望U-boot已经设置了波特率。
答案 1 :(得分:0)
这里没有足够的信息来回答你的问题。答案完全取决于你如何设置。
可以使用u-boot来确定控制台串行端口的波特率,并在启动时将该信息传递给内核。它可以通过某种方式完成,以便u-boot波特率的任何变化都会传播到内核和使用串口的应用程序。
您的系统是这样配置的吗?我们无从得知这一点。
每个3-u-boot,内核和程序也可以单独指定波特率。
在u-boot中,您可以设置环境变量baudrate
以指定控制台波特率。引导内核时,可以让u-boot传递bootargs
环境变量的内核内容。这成为内核命令行。在那里,您可以设置内核控制台的波特率。我见过的大多数系统都是这样的:bootargs=console=ttyS1,115200n8 ...
它设置的波特率与u-boot无关。如果你改为bootargs=console=ttyS1,${baudrate}n8 ...
,那么内核将获得与u-boot使用的波特率相同的波特率。
现在,只有当我们讨论u-boot和内核作为控制台使用的UART时,此信息才适用。如果您使用的是不同的UART,则所有这些都无关紧要。