AM335X修改串口波特率
SPL & uboot部分:
在/command/Board_f.c文件中init_sequence_f初始化结构体里两个函数用来初始化串口以及波特率。
init_baud_rate, /* initialze baudrate settings */
serial_init, /* serial communications setup */
static int init_baud_rate(void)
{
gd->baudrate = env_get_ulong("baudrate", 10, CONFIG_BAUDRATE);
return 0;
}
经过分析,如果uboot中定义了baudrate环境变量,则波特率采用设置的值,否则采用默认值CONFIG_BAUDRATE。
然后在/include/env_default.h中找到了baudrate默认环境变量的定义:
#if defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0)
"baudrate=" __stringify(CONFIG_BAUDRATE) "\0"
#endif
baudrate的初始化值也是采用CONFIG_ BAUDRATE。
所以只需修改CONFIG_BAUDRATE的值就可以改变SPL & uboot的打印串口波特率。
CONFIG_BAUDRATE的值在menuconfig中Drevice Drivers —〉Serial drivers设置。
Kernel部分:
Kernel只需修改uboot中"console=ttyO0,115200n8\0" \环境变量。
Rootfs部分:
修改文件/etc/inittab中
S:2345:respawn:/sbin/getty 115200 ttyO0
修改之后重新烧写,运行,即可成功。