am335x修改串口波特率

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

修改之后重新烧写,运行,即可成功。

猜你喜欢

转载自blog.csdn.net/qq_34743935/article/details/102570036