2011-02-07 196 views
1

/sbin/getty未运行时,console参数的UBoot波特率参数是否会影响访问串口的独立程序?UBoot波特率参数

由于提前,

伯特

回答

0

可能,如果没有改变该UART串口波特率,U-Boot的设置可能会继续有效。但是它很容易被linux驱动程序启动过程或用户模式客户端程序访问串行端口的请求所覆盖。

就我个人而言,我会确保我的程序特别要求任何波特率的预期;这是最安全的,因为它避免了做出假设,并且与移植到另一个嵌入式linux风格或甚至非linux嵌入式操作系统最兼容。

如果您发现U-boot的设置仍然存在,并且您决定依赖它(也许可以通过更改U-Boot参数为引导加载程序和正常操作进行自定义),但我会在用户模式代码,它打开串口来提醒你自己,或者通知未来的维护人员/门卫你正在计​​算U-boot已经设置的波特率。

0

这里没有足够的信息来回答你的问题。答案完全取决于你如何设置。

有可能使u-boot确定控制台串口的波特率,并在启动时将该信息传递给内核。这可以通过某种方式完成,以便u-boot波特率的任何更改都会传播到内核和使用串口的应用程序。

您的系统配置是这样吗?我们无法知道这一点。

每个3-u-boot,内核和程序都可以独立指定波特率。

在u-boot中,您可以设置环境变量baudrate来指定控制台波特率。在引导内核时,可以让u-boot传递环境变量的内核内容。这成为内核命令行。在那里,你可以设置内核控制台的波特率。我见过的大多数系统都是这样的:bootargs=console=ttyS1,115200n8 ...它独立于u-boot设置波特率。如果你有类似bootargs=console=ttyS1,${baudrate}n8 ...的内核,那么内核将获得与u-boot相同的波特率。

现在,这个信息仅适用于我们谈论u-boot和内核作为控制台使用的UART。如果你使用的是不同的UART,所有这些都是不相关的。