• 全志芯片Tina Linux 修改 UART 引脚、UART端口 (2)


    场景二:使用UART3,需要从UART0改为UART3(PB6,PB7)
    1. 修改sys_config.fex(BOOT0与Uboot的串口)

    sys_config.fex 的路径是 device/config/chips/t113/configs/evb1/sys_config.fex 中的 uart_debug_port

    修改前:

    [uart_para]
    uart_debug_port = 0
    uart_debug_tx   = port:PF02<3><1>
    uart_debug_rx   = port:PF04<3><1>
    
    • 1
    • 2
    • 3
    • 4

    修改后

    [uart_para]
    uart_debug_port = 3
    uart_debug_tx   = port:PB06<7><1>
    uart_debug_rx   = port:PB07<7><1>
    
    • 1
    • 2
    • 3
    • 4
    1. 修改设备树(Linux使用的串口输出)

    路径:device/config/chips/t113/configs/evb1/board.dts

    修改前

    uart3_pins_a: uart3_pins@0 {
    	pins = "PC6", "PC7";
    	function = "uart0";
    	drive-strength = <10>;
    	allwinner,muxsel = <4>;
    	bias-pull-up;
    };
    
    uart3_pins_b: uart3_pins@1 {
    	pins = "PC6", "PC7";
    	function = "gpio_in";
    };
    
    &uart0 {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&uart0_pins_a>;
    	pinctrl-1 = <&uart0_pins_b>; 
    	status = "okay"; 
    };
    
    &uart3 {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&uart3_pins_a>;
    	pinctrl-1 = <&uart3_pins_b>;
    	status = "disabled"; 
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    修改后

    uart3_pins_a: uart3_pins@0 {
    	pins = "PB6", "PB7";
    	function = "uart0";
    	drive-strength = <10>;
    	allwinner,muxsel = <7>;
    	bias-pull-up;
    };
    
    uart3_pins_b: uart3_pins@1 {
    	pins = "PB6", "PB7";
    	function = "gpio_in";
    };
    
    &uart0 {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&uart0_pins_a>;
    	pinctrl-1 = <&uart0_pins_b>; 
    	status = "disabled";                               # 关闭UART0
    };
    
    &uart3 {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&uart3_pins_a>;
    	pinctrl-1 = <&uart3_pins_b>;
    	status = "okay";                                   # 开启UART3
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    1. 修改UBOOT CONSOLE INDEX

    路径:brandy/brandy-2.0/u-boot-2018/configs/sun8iw20p1_defconfig
    增加下列内容

    CONFIG_SPECIFY_CONSOLE_INDEX=y
    CONFIG_CONS_INDEX=4                            # UART 3+1 = 4 
    
    • 1
    • 2
    1. 修改启动bootargs

    路径:device/config/chips/t113/configs/evb1/env.cfg

    修改前

    earlyprintk=sunxi-uart,0x02500000
    initcall_debug=0
    console=ttyS0,115200
    
    • 1
    • 2
    • 3

    修改后
    earlyprintk=sunxi-uart,0x02500000 需要修改为 UART3 的地址,查阅手册可知为 0x02500C00
    在这里插入图片描述

    earlyprintk=sunxi-uart,0x02500C00
    initcall_debug=0
    console=ttyS3,115200
    
    • 1
    • 2
    • 3

    注意 ARM 平台还需要设置Kernel,如下:

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

    在这里插入图片描述

    RISC-V 不需要此操作

    原贴链接:https://bbs.aw-ol.com/topic/1673/
    全志在线开发者交流企鹅群(客服机器人24小时在线解答):498263967
    资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com
    全志及开发者最新动态可以关注全志在线微信公众号

  • 相关阅读:
    Spring SPI
    vue项目发布采用gzip压缩文件部署到nginx无法运行问题
    RSA之前端加密后端解密
    零基础 从 yolo8 入门计算机视觉超简单:物体识别、图像分类、轨迹追踪、姿势识别
    真不戳,Java 协程终于来了
    java-net-php-python-jsp人事管理系统计算机毕业设计程序
    数字人直播系统源码交付,数字人直播软件下载迎来普及化
    华为云云耀云服务器L实例评测| 之性能测试
    Mozilla 项目
    【Day33】每日一题 [779. 第K个语法符号 ]
  • 原文地址:https://blog.csdn.net/weixin_43094346/article/details/127646202