目录
将串口0改为串口1 引脚Tx:PD21 Rx:PD22 功能4
一 修改系统配置文件
Tina-Linux/config/device/config/chips/t113/configs/mq_r/sys_config.fex
找到 [uart_para] 字段,如上图PD21后面第一个尖括号是功能序号。
二 Uboot启动配置
运行mboot 查看当前所使用的配置文件
Uboot编译调用的是sun8iw20p1_defconfig
打开 Tina-Linux/lichee/brandy-2.0/u-boot-2018/configs/sun8iw20p1_defconfig
找到Serial drivers字段,把CONFIG_CONS_INDEX改为2 对应的是Uart1 其他串口安顺序。如果没有直接添加。
三 设备树文件
Tina-Linux/config/device/config/chips/t113/configs/mq_r/board.dts
uart1_pins_a 和uart1_pins_b 字段的pins改为实际引脚
uart1 的status改为okay使能uart1设备
注意:调整好引脚冲突的设备,粗暴直接做法注释起来
四 uboot-board.dts
Tina-Linux/config/device/config/chips/t113/configs/mq_r/uboot-board.dts
U-Boot也要调整好引脚冲突的设备(此处是LCD)
五 调整内核启动参数
Tina-Linux/config/device/config/chips/t113/configs/mq_r/env.cfg
原本是uart0的现改为uart1。ttyS0 改为ttyS1 ,earlyprintk=sunxi-uart,0x02500000改为earlycon=sunxi-uart,0x02500400 其他端口地址按顺序移0x400
六 内核配备文件
Tina-Linux/config/device/config/chips/t113/configs/mq_r/linux-5.4/config-5.4
原本是UART0的现改为UART1
重新编译
make
mboot
pack
编译内核时可留意到
测试
查看打印输出
Boot0到Uboot过渡部分
U-Boot到Kernel 过渡部分
================== 华丽的分割线 ================
修改后编译报错一般是输入错误。检查dts文件的注释部分。.fex 和 .cfg 文件的值
如果Uboot最后输出 结束没字符,是内核打印没输出。第五 第六步
[02.036]Starting kernel ...
[02.038][mmc]: MMC Device 2 not found
[02.042][mmc]: mmc 2 not find, so not exit
Boot0直接到Kernel, u-boot没有打印部分,检查第一步