首页 > 其他分享 >T113-S3 Tina 串口切换

T113-S3 Tina 串口切换

时间:2024-12-07 17:02:49浏览次数:14  
标签:uart0 S3 debug 修改 uart T113 串口 pins

前面介绍了如何在 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 平台则不需要修改该项。

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

标签:uart0,S3,debug,修改,uart,T113,串口,pins
From: https://blog.csdn.net/flyingcys/article/details/144312858

相关文章

  • 133. 大学生HTML5期末大作业 ―【迪士尼影视网页】 Web前端网页制作 html5+css3+js
    目录一、更多推荐二、网页简介三、网页文件四、网页效果五、代码展示1.html2.CSS3.JS六、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强七、更多推荐一、更多推荐欢迎来到我的CSDN主页!Web前端网页制作、大学生期末大作业、课程设计、毕业设计、......
  • STM32 串口和I2C结合案例 hal库代码书写
    hal库的创建打开cubemx->选择芯片STM32F103ZET6,双击打开SystemCore系统核心->SYS下->DeBug选择SerialWire串口SystemCore系统核心->RCC下->highSpeedClock(高速时钟)以及LSE全部选择外部晶振SystemCore系统核心->GPIO下->PA0/PA1/PA8三者全部选择GPIO_Output,具体配......
  • C# 串口通信利器 SerialPortStream库
    学习备忘-源自 https://mp.weixin.qq.com/s/hDVD9Ij22KSHm7TUmETcmQ前言物联网(IoT)和嵌入式系统的开发中,串口通信是一项不可或缺的技术。C#作为一种广泛使用的编程语言,同样支持多种方式进行串口通信。其中,SerialPortStream 库因其简单易用的API和强大的功能成为了众多开发者......
  • C# SerialPort 串口通讯
    学习备忘-源自https://mp.weixin.qq.com/s/xO7yCpNj3zG8lfqyz4ARVw前言串口通信在.NET平台下创建C#串口通信程序,.NET2.0提供了串口通信的功能,其命名空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。创建C#串口通信程序之命名空间S......
  • 【亲测可用】Doris3.x分布式集群安装部署
    Doris作为⼀款开源的MPP架构的OLAP数据库,能够运⾏在绝⼤多数主流的商⽤服务器上。为了能够充分运⽤MPP架构的并发优势,以及Doris的⾼可⽤特性,我们建议Doris分布式集群的部署遵循以下要求。2.1软硬件环境检查2.1.1硬件检查1.CPU当安装Doris时,建议选择配备支持......
  • CSS3——transform属性
    一、前言transform属性是CSS3中新增的一种非常强大的属性,它允许你旋转、缩放、倾斜或平移给定元素。这是通过修改CSS视觉格式化模型的坐标空间实现的。接下来就让我们一起学习transform属性二、transfrom:translate;位移,可以改变元素的位置,translateX让元素沿X轴......
  • jQuery和css3超赞select下拉列表框美化插件
    这是一款效果超赞的jQuery和css3select下拉列表框美化插件。这个select下拉列表框插件没有使用任何的图片,纯css制作,还使用了一点jQuery来完成动作交互。在线演示 下载 有两个地方需要做下说明:下面的代码中没有使用任何厂商的前缀。在插件中使用了CSS盒子模式(box-model):......
  • jQuery和CSS3打造GOOGLE样式的用户登录界面
    这是一款使用Jquery和css3打造的GOOGLE样式的用户登录界面特效。该登录界面特效中,右上角的小问号和错误提示小图标使用SVG来制作,用户名和密码输入框采用浮动标签特效,可点击的按钮上使用了很酷的点击波特效。整个登录界面简洁大方,互动性很强。在线演示 下载 该用户登录界面......
  • H5-30 CSS3 新特性
    1、圆角使用CSS3border-radius属性,你可以给任何元素制作“圆角”border-radius属性,可以使用以下规则:①四个值:第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角②三个值:第一个值为左上角,第二个值为右上角和左下角,第三个值为右下角③......
  • C#WinForm实操串口通讯使用GtkSharp库实现跨平台
     Linux下运行.NET项目:1、环境安装2、cd项目路径3、dotnet项目dll,即可运行 部分代码分享:usingGtk;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Refl......