栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

全志平台uboot调试技巧说明1

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

全志平台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  or      fdtset  main_key  sub_key  2.fdtsave
md  查看内存,可以用来查看寄存器配置
mm  修改内存,用来修改寄存器配置

这样修改配置,就省去了仅仅为了修改一个配置而重新烧写固件的麻烦,加快了调试!

但是这个命令只能用来修改配置,不能用来增加配置。

5. debugview

debugview可以在sdk中licheetoolstools_winDebugView.zip获得,

它其实就是一个监控pc机USB接口的工具。

我们主要有两个地方使用它:在USB量产的时通过它来查看烧写情况;

在制作量产卡失败的使用来查看出错地方

(1)USB量产

首先打开debugview工具,然后进入量产,debugview可以获得串口无法反映的错误,

是USB循环量产必要log采集工具。

因为debugview是一个PC USB端口监控软件,

所以我们只要关注烧写固件的进程ID号所对应的打印即可。

(2) 制作量产卡

从上面的详细信息可以知道固件的各个部件烧写到TF卡的位置,

这个可以使用后面的winhex来进行查看。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/741098.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号