0

我有一个基于 AT91SAM9261EK 板的继承项目/板,它使用 U-Boot 和 BusyBox 文件系统。我是一个新手,并试图了解这些组件与我的应用程序的关系。

通过实验看来,stdout 的设置以及串行端口参数是在 U-Boot 中完成的,并且这一直持续到应用程序中。它是否正确?

我的基本问题是: 1:端口设置不正确。波特率需要改变。2. 我想从我的应用程序中关闭这个端口(或者至少让它只传输)。

如何更改 U-Boot 中的端口参数?
什么组件定义了标准输出:U-Boot、BusyBox 或我的应用程序?

谢谢

4

1 回答 1

0

是的,U-Boot环境变量控制这些,无论是在 U-Boot 运行时还是在 linux 启动之后。有很多基本的参考资料。我推荐Hallinan的 Embedded Linux Primer ;您当前的问题将归入第 5.3 节和第 7 章。

在 U-boot 提示符下,执行“ printenv ”,你会发现 U-Boot 已经为自己设置了这些变量: stderr=serial stdin=serial stdout=serial

只要不做“saveenv”,就可以改变U-Boot的stdin和stdout。可能您会发现这些更改毫无用处。重新启动以恢复以前的设置。

您可以很容易地更改波特率 setenv baudrate 9600

初始 Linux控制台由“bootargs”变量中的一个项目设置,例如 ...console=ttyAMA0,115200n8... 如果您想要不同的波特率,请在 U-Boot coli 上尝试这样的操作: setenv bootargs console=ttyAMA0,9600n8 。 ..(复制以前的其他项目) saveenv

linux 出现后,其他各种控制台选项都是可能的,但有些高级,祝你好运。

于 2013-10-29T20:49:12.120 回答