首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >全志R16_Tina2.1平台修改打印串口后无法烧录问题及解决方法

全志R16_Tina2.1平台修改打印串口后无法烧录问题及解决方法

作者头像
阿志小管家
发布2024-05-26 11:21:06
发布2024-05-26 11:21:06
4560
举报

【适用范围】 该问题适用于R16+Tina2.1 【问题现象】 修改输出的打印口后无法烧录, 烧录软件一直没有进度。 【复现步骤】 将sys_config.fex 中对应的[uart_para] [force_uart_para],修改为非 uart 0 打印口, 然后pack ,最后烧录发现出现问题。 下图以修改 uart 3 作为打印口为例:

【原因分析】 烧录过程中fes1 代码中, 和 启动过程中 boot0 代码中的 sunxi_serial_init 的函数有问题,原来的代码默认就是使用 uart0 可以正常工作。 1. fes1 和 boot0 代码对于串口的初始化: //sunxi_spl/boot0/main/boot0_main.c main()->sunxi_serial_init(BT0_head.prvt_head.uart_port,xxxxxxxxx, 6 ); //sunxi_spl/boot0/main/boot0_main.c main()->sunxi_serial_init(BT0_head.prvt_head.uart_port,xxxxxxxxx, x ); //sunxi_spl/fes_init/main/fes1_main.c main()->sunxi_serial_init(BT0_head.prvt_head.uart_port,xxxxxxxxx, x ); 2. 有问题的sunxi_serial_init 代码 //uboot-2011.09/arch/arm/cpu/armv7/sun8iw5/spl/serial_spl.c

如果打印口没有指定为 0 的话,就错误返回了! 【解决办法】 1. 修改 对应的sys_config.fex 文件 + env-3.4.cfg 文件 sys_config.fex

env-3.4.cfg

3 修改 对应的 serial_spl.c 中的 sunxi_serial_init 错误代码

4. 重新编译uboot 中的fes1 + boot0 的bin文件,更新对应目录的bin文件

【验证方法】 修正后,重新编译-打包-烧录-启动 , uboot + kernel 打印正常。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档