T113-S3 Tina 串口切换

前面介绍了如何在 Tina 中添加新的板子及切换存储类型,本节介绍如何修改板子串口配置。

1、修改调试串口

Tina 调试串口 配置在 device/config/chips/t113/configs/evbemmc/sys_config.fex 文件中,可以修改 uart_para 变量来指定调试串口。

;----------------------------------------------------------------------------------
;uart configuration
;uart_debug_port  |Boot串口控制器编号        |
;uart_debug_tx       |Boot串口发送的GPIO配置|
;uart_debug_rx  |Boot串口接收的GPIO配置     |
;----------------------------------------------------------------------------------
[uart_para]
uart_debug_port = 0
uart_debug_tx   = port:PF02<3><1><default><default>
uart_debug_rx   = port:PF04<3><1><default><default>

根据板子实际使用的调试串口,修改 uart_debug_portuart_debug_txuart_debug_rx

在这里插入图片描述

T113-S3 uart0 可选引脚:

  • UART0_TX: PF02/PE02
  • UART0_RX: PF04/PE03

其中 PF02/PF04 是复用功能引脚,在 Function3 上。

更多配置说明可在 Tina_Linux_配置_开发指南.pdf 中找到。

2、修改 u-boot 配置

u-boot 配置文件名在 device/config/chips/t113/configs/evbemmc/BoardConfig.mk 文件中,可以修改 LICHEE_BRANDY_DEFCONF 变量来指定 u-boot 配置文件。

修改 lichee/brandy-2.0/u-boot-2018/configs/sun20iw1p1_defconfig 文件,添加

CONFIG_BAUDRATE=115200
CONFIG_SPECIFY_CONSOLE_INDEX=y
CONFIG_CONS_INDEX=1
CONFIG_SYS_NS16550=y

其中 CONFIG_CONS_INDEX 为串口号 +1,这里我们使用的是 uart0,所以设置为 1。

3、修改 kernel 配置

  1. 修改设备树 device/config/chips/t113/configs/evbemmc/board.dts 文件,修改调试串口配置。

修改前:

&uart0 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart0_pins_a>;
	pinctrl-1 = <&uart0_pins_b>;
	status = "okay";
};

&uart1 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart1_pins_a>;
	pinctrl-1 = <&uart1_pins_b>;
	status = "disabled";
};

&uart2 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart2_pins_a>;
	pinctrl-1 = <&uart2_pins_b>;
	status = "disabled";
};

&uart3 {
	compatible = "allwinner,sun20iw1-dsp-uart";
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart3_pins_a>;
	pinctrl-1 = <&uart3_pins_a>;
	status = "disabled";
};

可以根据硬件连接的实际情况设置 status"okay""disable"

  1. 修改 uart 对应的 pin 配置
    根据板子实际使用的调试串口修改 pin 脚配置,这里我们使用的是 uart0,所以修改 uart0_pins_auart0_pins_b
    修改前:
        uart0_pins_a: uart0_pins@0 {  /* For mangopi board */
                pins = "PE2", "PE3";
                function = "uart0";
                drive-strength = <10>;
                bias-pull-up;
        };

        uart0_pins_b: uart0_pins@1 {  /* For mangopi board */
                pins = "PE2", "PE3";
                function = "gpio_in";
        };

修改为:

        uart0_pins_a: uart0_pins@0 {  /* For mangopi board */
                pins = "PF2", "PF4";
                function = "uart0";
                drive-strength = <10>;
                bias-pull-up;
        };

        uart0_pins_b: uart0_pins@1 {  /* For mangopi board */
                pins = "PF2", "PF4";
                function = "gpio_in";
        };

同时需要保证 uart0_pins 的引脚配置在内核设备树中未与其他配置冲突。

4、修改启动 bootargs

修改 device/config/chips/t113/configs/evbemmc/env.cfg 文件

#kernel command arguments
earlyprintk=sunxi-uart,0x02500000
initcall_debug=0
console=ttyS0,115200

earlyprintk=sunxi-uart,0x02500000 如需要修改为其他 uart 的地址,可查阅手册获取。

uart 地址可以在文件 t113-s3_user_manual.pdf 中找到。
在这里插入图片描述

修改完成后使用 muboot 命令重新编译并打包。

debug UART base address 修改

make kernel_menuconfig 找到 Kernel low-level debugging functions,修改寄存器地址

$ make kernel_menuconfig
    [*] Kernel low-level debugging functions (read help!)  
        (0x02500C00) Physical base address of debug UART
        (0xf2500C00) Virtual base address of debug UART 

或直接修改 device/config/chips/t113/configs/evbemmc/linux-5.4/config-5.4 文件中

CONFIG_DEBUG_UART_PHYS=0x02500000
CONFIG_DEBUG_UART_VIRT=0xf2500000

ARM 平台需要修改该项,RISC-V 平台则不需要修改该项。

完成存储类型及串口切换后,重新编译、打包、烧录即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值