技术专栏
uboot调试技巧说明1
1. 前言
uboot由于和kernel不一样,没有那么多调试手段,这里主要总结下我知道的
2. 打印信息
打印是最常用的调试手段,在uboot中也常常使用打印命令。目前uboot中有三种打印接口可以供调用。
printf 标准打印接口,打印到串口
tick_printf 标准打印接口封装,添加了时间信息
sunxi_dump 按二进制打印出某一个地址开始指定长度buffer
printf打印函数可以加上编译器预定义宏FUNC LINE
3. 符号表
Uboot符号表是编译uboot二进制文件产生的,它里面包含了很多调试信息一般都比较大。
uboot二进制用来烧写到机器内部,uboot符号表用来调试。
示例用法如下:
下面是USB量产时出现的一个data abort,导致了系统重启。解决这个问题需要从打印中获得两个数据:重地位偏移地址,出错时PC指针。
arm-linux-gnueabihf-addr2line -e u-boot -a (pc-重定位偏移地址)
一般使用该方法可以快速定位错误发现的地方,由于没有找到比较好的例子,该例只能算间接找到问题出现的地方,即USB量产buffer出错。
4. uboot命令
uboot2011
1.setcfg main_key sub_key2.savecfg
uboot2014
1.fdtset /soc/main_key sub_key <value>or fdtset main_key sub_key <value>2.fdtsave
md 查看内存,可以用来查看寄存器配置
mm 修改内存,用来修改寄存器配置
这样修改配置,就省去了仅仅为了修改一个配置而重新烧写固件的麻烦,加快了调试!但是这个命令只能用来修改配置,不能用来增加配置。
5. debugview
debugview可以在sdk中lichee\tools\tools_win\DebugView.zip获得,它其实就是一个监控pc机USB接口的工具。我们主要有两个地方使用它:在USB量产的时通过它来查看烧写情况;在制作量产卡失败的使用来查看出错地方
(1)USB量产
首先打开debugview工具,然后进入量产,debugview可以获得串口无法反映的错误,是USB循环量产必要log采集工具。
因为debugview是一个PC USB端口监控软件,所以我们只要关注烧写固件的进程ID号所对应的打印即可。
(2) 制作量产卡
从上面的详细信息可以知道固件的各个部件烧写到TF卡的位置,这个可以使用后面的winhex来进行查看。
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
8
7
评论
打赏
- 分享
- 举报
评论
0个
手气红包

相关专栏
-
浏览量:5323次2020-12-19 16:14:06
-
浏览量:6514次2021-03-29 11:34:27
-
浏览量:4793次2021-03-30 14:17:51
-
浏览量:5917次2021-03-30 14:44:45
-
浏览量:5175次2021-03-29 14:17:09
-
浏览量:5219次2022-07-24 15:47:30
-
浏览量:5957次2020-10-13 17:14:09
-
浏览量:6228次2021-03-29 15:00:21
-
浏览量:10903次2020-10-13 17:41:07
-
浏览量:5471次2020-10-15 15:43:43
-
浏览量:5044次2021-04-10 14:11:46
-
浏览量:2792次2022-09-30 16:48:25
-
浏览量:2641次2020-08-25 18:07:51
-
浏览量:6294次2020-10-21 16:08:13
-
浏览量:9211次2020-11-13 14:54:14
-
浏览量:15128次2020-11-13 15:08:38
-
浏览量:3996次2020-03-03 22:16:15
-
浏览量:9065次2020-09-08 19:26:12
-
浏览量:10349次2021-06-08 17:32:00
切换马甲
上一页
下一页
打赏用户
共 1 位
我要创作
分享技术经验,可获取创作收益
分类专栏
-
178篇
热门专栏
- RK3588J正式发布Ubuntu桌面系统,丝滑又便捷!
- 全志平台ap6476模组 bluetooth功能调试(2)调试记录&异常问题处理
- 12G-SDI高清视频开发案例,让4K视频采集更便捷!基于Xilinx MPSoC高性能平台
- Android系统中的WIFI架构&工作流程分析
- 基于荔枝派Nano学习Buildroot的构建过程
- SN65DPHY440SS Re-Timer驱动器意外跳变分析1
- Linux驱动之设备树添加LED驱动
- nvidia xavier平台lan7800网卡驱动调试记录(2)网卡硬件& patch验证
- mipi camera学习之CSI-2的概述与分层方式(3)
- 设备树 DTS 格式--设备树的规范(dts和dtb)
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
free-jdx
您的支持将鼓励我继续创作!
打赏金额:
¥1

¥5

¥10

¥50

¥100

支付方式:

举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注