Linux kernel 默认波特率-linux/u-boot

Linux kernel 默认波特率-linux/u-boot,linux-kernel,serial-port,embedded-linux,powerpc,u-boot,Linux Kernel,Serial Port,Embedded Linux,Powerpc,U Boot,我正在使用u-boot开发一个嵌入式linux系统。U-boot在console=bootarg的情况下设置ttyS0串行端口的波特率,但我还想将默认波特率ttyS[1-3](设置为9600以外的值) 在这个系统中,U-boot将设备树(dts/dtb)传递到内核,但是在那里设置波特率似乎不起作用 需要注意的是,该系统类似于canyonlands板(ppc460ex) u-boot、内核或设备树中是否有更改串行端口默认波特率的方法?在原始文本中,提到设备设置似乎被内核忽略 在这个系统中,U-bo

我正在使用u-boot开发一个嵌入式linux系统。U-boot在console=bootarg的情况下设置ttyS0串行端口的波特率,但我还想将默认波特率ttyS[1-3](设置为9600以外的值)

在这个系统中,U-boot将设备树(dts/dtb)传递到内核,但是在那里设置波特率似乎不起作用

需要注意的是,该系统类似于canyonlands板(ppc460ex)


u-boot、内核或设备树中是否有更改串行端口默认波特率的方法?

在原始文本中,提到设备设置似乎被内核忽略

在这个系统中,U-boot将设备树(dts/dtb)传递到内核,但是在那里设置波特率似乎不起作用


如果在设备树中硬编码新波特率,则可能在引导过程中被覆盖。设备树在后续引导过程中实际传递到内核之前由u-boot更新。查看u-boot源代码中的ft_board_setup()。我自己一直在使用u-boot的PowerPC44X分支,fdt代码更新串行设备的“时钟频率”,但不更新“当前速度”属性。您正在处理的分支可能有不同的代码库。

有时,下面文件中的值会覆盖DTS文件中给出的信息。 检查u-boot源代码中的以下文件

boot/include/configs/[board name].h -- used for specifying environment and CPU peripheral   default value
boot/common/[board name]_cmd_common.h               

这是一个编程问题吗?我想是的……更改默认波特率要么是内核修改,要么是更改设备树源。我只是不知道该在哪里做。使用TTY的“应用程序”将设置相应串行端口的波特率。您想用ttyS[1-3]做什么?使用它们的程序是什么?系统的控制台在ttyS0上,但是我还需要linux启动脚本来将消息cat到ttyS1。因此,没有应用程序会设置波特率。那么,启动程序如何将cat消息脚本化到ttyS1呢?然后,这些脚本将负责在向其发送任何消息之前设置ttyS1的波特率。请看一下stty命令。