全志芯片Tina Linux 修改 UART 引脚、UART端口
- 
					
					
					
					
 场景一:同样使用UART0,需要从PF2、PF4改到PE2、PE4- 修改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><default><default> uart_debug_rx = port:PF04<3><1><default><default>修改后 [uart_para] uart_debug_port = 0 uart_debug_tx = port:PE02<6><1><default><default> uart_debug_rx = port:PE03<6><1><default><default>其中 <3>改为<6>是查阅数据手册中 PE2、PE3 的UART0是 Function6 得知的
  port:PE02 <6><1><default><default> ^ ^ PE2脚 引脚功能6(查阅datasheet得知)- 修改设备树(Linux使用的串口输出)
 路径: device/config/chips/t113/configs/evb1/board.dts修改前 uart0_pins_a: uart0_pins@0 { /* For EVB1 board */ pins = "PF2", "PF4"; function = "uart0"; drive-strength = <10>; allwinner,muxsel = <3>; bias-pull-up; }; uart0_pins_b: uart0_pins@1 { /* For EVB1 board */ pins = "PF2", "PF4"; function = "gpio_in"; };修改后 uart0_pins_a: uart0_pins@0 { /* For EVB1 board */ pins = "PE2", "PE3"; function = "uart0"; drive-strength = <10>; allwinner,muxsel = <6>; bias-pull-up; }; uart0_pins_b: uart0_pins@1 { /* For EVB1 board */ pins = "PE2", "PE3"; function = "gpio_in"; };
- 修改
- 
					
					
					
					
 场景二:使用UART3,需要从UART0改为UART3(PB6,PB7)- 修改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><default><default> uart_debug_rx = port:PF04<3><1><default><default>修改后 [uart_para] uart_debug_port = 3 uart_debug_tx = port:PB06<7><1><default><default> uart_debug_rx = port:PB07<7><1><default><default>- 修改设备树(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"; };修改后 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 };- 修改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- 修改启动bootargs
 路径: device/config/chips/t113/configs/evb1/env.cfg修改前 earlyprintk=sunxi-uart,0x02500000 initcall_debug=0 console=ttyS0,115200修改后 
 earlyprintk=sunxi-uart,0x02500000需要修改为 UART3 的地址,查阅手册可知为0x02500C00
  earlyprintk=sunxi-uart,0x02500C00 initcall_debug=0 console=ttyS3,115200注意 ARM 平台还需要设置Kernel,如下:make kernel_menuconfig找到 Kernel low-level debugging functions,修改寄存器地址 RISC-V 不需要此操作
- 修改
- 
					
					
					
					
 学习了,感谢您的高质量输出 
- 
				Referenced by whycan whycan
- 
				Referenced by J jr_online
- 
				Referenced by J jr_online
- 
				Referenced by J jr_online
- 
				Referenced by B buyadong
- 
					
					
					
					
 非常不错,解决了我的问题 
- 
				Referenced by H Honey130602
- 
				Referenced by H Honey130602
- 
				Referenced by H Honey130602
- 
				Referenced by J jr_online
- 
					
					
					
					
 注意 ARM 平台还需要设置Kernel,如下:make kernel_menuconfig找到 Kernel low-level debugging functions,修改寄存器地址 RISC-V 不需要此操作(之前忘记说了,现在补上 
- 
					
					
					
					
 为何在场景二中,从UART0改为UART3 
  
 uart_debug_port并不需要修改呢????
- 
					
					
					
					
 @kelsey 写错了已修改 
- 
					
					
					
					
 @yteraa 哈哈哈,好的 
- 
					
					
					
					
 @yteraa 收藏一波,谢谢楼主分享 
- 
					
					
					
					
 我在R11芯片上通过修改下面内容从uart0换到uart1,kernel是3.4的,但是呢,uart1打印kernel启动2秒多后就卡住了似乎,uart1没反应了,不知道是不是还有哪里没修改的,而且kernel3.4版本没找到修改调试口的地方,请问可以帮我解决下吗,这是我发的贴子,R11 DEBUG uart0 换 uart1 
- 
					
					
					
					
 
- 
				Referenced by K kw___
- 
				Referenced by K kw___
- 
				Referenced by J jr_online
- 
				Referenced by J jr_online
- 
				Referenced by whycan whycan
- 
				Referenced by C cruise33
- 
				Referenced by A axw_fae
- 
					
					
					
					
 按照文档配置。 uart0 改为 uart3 后, kernel 的日志无法打印。无法进入控制台。 
- 
					
					
					
					
 @jinxiangwzh 在 全志芯片Tina Linux 修改 UART 引脚、UART端口 中说: 学习了,感谢您的高质量输出 
- 
					
					
					
					
 教程不错,学习了。 
 uart debug配置搞了很久。
- 
					
					
					
					
 挖一个古早期的修改UART帖  
 D1s分别在Tina Linx, Melis修改调试串口实录
 https://bbs.aw-ol.com/topic/3194/share/1
- 
				Referenced by W whycanservice2
- 
				Referenced by W whycanservice2
- 
				Referenced by W whycanservice2
- 
				Referenced by C cwj1986521
- 
				Referenced by whycan whycan
- 
				Referenced by KunYi KunYi
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号
 
			
			
		 
			
		 
			
			
		