搜索
 找回密码
 立即注册

简单一步 , 微信登陆

使用TV_TOOLS调试方法

作者:icezhou | 时间:2016-6-1 17:28:38 | 阅读:2712| 显示全部楼层
使用TV_TOOLS调试方法
在调试板子过程中,涉及到最小系统不能启动的问题,即打印信息提示为:boot fail
遇到这种情况,一般我们定位为最小系统没有起来,简单的讲也就是DDR与主IC之间的通信没有建立,遇到最小系统没有起来的分析方法总结如下:
1、 检查主板上的DDR是否为该平台support List中的一款;
2、 主板各路电压测量是否正确(内核,DDR供电等)
3、 DDR和主芯片之间连接是否正确(时钟,地址,数据线之间串的电阻阻值是否正确,排阻是否存在虚焊或者短路等焊接不良)
4、 DDR焊接是否良好
5、 主芯片焊接是否良好
一般排查到第三步能够解决,但是也有不能够解决问题,对于主芯片为QFP封装,1DDR的情况还好,不管是将主芯片重新上锡,还是更换DDR,都还不算很难的事情,但是针对有多片DDR的情况,例如MSD6A801-BD平台,如果重新焊接更换DDR,更换主芯片,一是时间比较长,还有就是对焊接的要求比较高,现在原厂有一个工具,可以快速定位到是哪一块DDR出了问题,这样给解决类似的问题带来很多便利,下面就介绍怎么样用TV_TOOLS这个工具来定位DDR的问题。
TV_TOOLSMStar的一款调试工具,可以用来下载烧录Mboot,查看寄存器的值等功能,目前我比较了解的就是查看寄存器的值,上述的快速定位是哪一块DDR出了问题的方法,实际上也是查看相关的寄存器的值来判断的。
TV_TOOLS界面如下:
1.jpg
一、拿到这个工具之后第一步就是要配置好这个工具,包括你要选择的调试接口类型,如果是I2C的话,还要填好对应的I2C地址。
a)、因为我们是通过I2C协议来读取主芯片相应寄存器的值,调试接口类型选择方法如下:
点击菜单栏中的Confuguration,选择Debug Interface,然后选择I2C,最后选择Protocol(MStar-USB)
2.jpg
b)、设置正确的I2C地址
主机的I2C地址选用默认的378h,如下图所示:
3.jpg
从机的I2C地址设置方法如下
点击菜单栏中的I2C,选择Set I2C,会弹出下图所示界面:
4.jpg
从机的I2C地址跟设备有关系,也即不同IC有不同的,这个地址如果不知道可以问原厂,目前MSD6A801-BD平台的这个I2C地址为0Xb4,如下所示:
5.jpg
二、读取对应的寄存器的值(下面介绍的选择读取BK0x1033_84的值)
一般按照如下图所示的方法设置可以查看相应的寄存器的值
MStar Controller下面选取Bank(MCU32),再选择102C~103D,同时选中CLKGEN1
6.jpg
设置好之后,点击Read Bank,在下面相应的区域就可以读取相应的值
7.jpg
上图读的值是0x1033_84的值为A005
按照以上方法一般能够读到要读的寄存器的值,但是有时候也会出错,这个时候就要排查整个环境是否配置正确,因为主芯片的串口同时和I2C共用,当你没有关闭串口的时候,从I2C协议读出来的值有可能会受到串口通信的干扰,这个时候我们就要通过命令来关闭串口,关闭的方法是:
打开串口工具,开机的同时按住回车键,提示输入命令时,输入命令du,按回车,这个时候就会提示串口已经关闭,这个去读取寄存器的值就不会变化!
针对上述最小系统不能启动,但是不能确定是哪一个DDR存在问题的,可以通过上述方法读取寄存器0x1033_84的值,下面结果所对应的状态
8.jpg
系统会默认先判断MIU0,当MIU0没有问题时再去判断MIU1。以下为MSD6A801-BD平台所对应的MIU0MIU1
9.jpg
该会员没有填写今日想说内容.
回复

使用道具 举报

大神点评3

bean.yang 发表于:2016-6-1 18:08:14
回复

使用道具 举报

halleyhuang 发表于:2016-6-2 11:59:08
很好,很全
该会员没有填写今日想说内容.
回复

使用道具 举报

gdhzw 发表于:2022-4-16 13:04:46
有MSO9380ATZ平台的吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版