打印

终于找到DM6446 RBL里的bug!

[复制链接]
2965|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wowow|  楼主 | 2013-6-17 19:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
做的DM6446板子死活启动不了UBL,啃了几天RBL反汇编,最后终于找到原因。由于UBL必须小于14k,读到UBL信息后有个比较:
    5a4c:    e0000a9c     mul    r0, ip, sl
    5a50:    e3500b0e     cmp    r0, #14336    ; 0x3800
    5a54:    2a000031     bcs    0x5b20;
就这个跳转指令错了,怎么会用bcs?!bcs这是根据进位来判断是否跳转啊,刚好这个时候C=1,直接跳出来了。

比较了一下开发板上的DM6446里的RBL,相差非常大。找到相关指令:
    52f4:    e0000c96     mul    r0, r6, ip
    52f8:    e3500b0e     cmp    r0, #14336    ; 0x3800
    52fc:    8a000080     bhi    0x5504
这里用的bhi就是对的了。

这种问题真要搞死人啊!
有问题的批号是:
$7C-ICA06HW
TM320DM6446BZWT8
189
没问题的是:
$NA-06A15FW
TMS320DM6446AZWTA

谁知道这些批号第一行的含义?

评分
参与人数 1威望 +8 收起 理由
zhangmangui + 8 很好 感谢分享

相关帖子

沙发
i1mcu| | 2013-6-17 19:41 | 只看该作者
板凳
i1mcu| | 2013-6-17 19:41 | 只看该作者
看看这个是不是有用的

使用特权

评论回复
地板
wowow|  楼主 | 2013-6-17 19:49 | 只看该作者
我说的是第一行:$7C-ICA06HW 、 $NA-06A15FW 的生产批号,不是芯片型号TDS320DM6446xxxx

使用特权

评论回复
5
zhangmangui| | 2013-6-18 13:55 | 只看该作者
TM320DM6446BZWT8和TMS320DM6446AZWTA  
这两个型号的后5位不同  肯定芯片是有区别的  今天我进不去TI的官网这页
你可以去对比看看
http://www.ti.com/lsds/ti/dsp/video_processors/dm64x/products.page?

使用特权

评论回复
6
charmless| | 2013-6-19 22:51 | 只看该作者
我今天问了TI的技术支持,他们说TM320DM6446BZWT8和TMS320DM6446AZWTA  
有区别,但是没跟我说明白区别在哪儿。我看了一下这两款芯片对于NAND支持有不同,其中
TM320DM6446BZWT8是V2.3的,后者是V2.1版的。附件不知对你有用没。
sprab80.pdf (47.92 KB)

使用特权

评论回复
评分
参与人数 1威望 +8 收起 理由
zhangmangui + 8 感谢你的分享!
7
zhangmangui| | 2013-6-20 00:18 | 只看该作者
charmless 发表于 2013-6-19 22:51
我今天问了TI的技术支持,他们说TM320DM6446BZWT8和TMS320DM6446AZWTA  
有区别,但是没跟我说明白区别在哪 ...

看来真的有区别

使用特权

评论回复
8
wowow|  楼主 | 2013-6-20 06:13 | 只看该作者
本帖最后由 wowow 于 2013-6-20 06:17 编辑

型号区别我清楚,我问的是生产批号。

使用特权

评论回复
9
wowow|  楼主 | 2013-6-21 20:22 | 只看该作者


新买了批号为$NA-34AQJW的TMS320DM6446AZWT启动正常。读RBL与$NA-06A15FW的TMS320DM6446AZWTA相同。
谁手头上有DM6446的板子,读一下0x4000开始的2048words(8192字节),保存为bin,传上来比较一下?
附件:
rbl-1.bin  $NA-34AQJW TMS320DM6446AZWT, $NA-06A15FW TMS320DM6446AZWTA
rbl-2.bin $7C-ICA06HW TM320DM6446BZWT8

rbl.rar (8.57 KB)

使用特权

评论回复
10
charmless| | 2013-6-23 16:36 | 只看该作者
周一去读一下看看

使用特权

评论回复
11
u880| | 2013-6-23 23:40 | 只看该作者
强人!

使用特权

评论回复
12
huigoushang| | 2013-6-24 00:06 | 只看该作者
楼主威武

使用特权

评论回复
13
G21372| | 2013-6-24 00:09 | 只看该作者
了解了

使用特权

评论回复
14
yangguangaisha| | 2013-6-24 00:48 | 只看该作者
厉害厉害

使用特权

评论回复
15
putron09| | 2014-2-13 11:36 | 只看该作者
ding

使用特权

评论回复
16
zhangmangui| | 2015-3-16 22:46 | 只看该作者
看到这方面的问题很多人遇到过   楼主的分享很好

使用特权

评论回复
17
wowow|  楼主 | 2015-3-18 10:47 | 只看该作者
本帖最后由 wowow 于 2015-3-18 10:50 编辑

我看到还有人回这个贴子,附上后来找到的问题和解决方法:

2013-11-29 更新:

再次跟踪代码,发现:
R0 = R10(扇区大小2048) * R12(扇区数6)= 0x3000
旧的是比较R0>0x3800
新的是比较R0>=0x3800
所以对于2048字节的nand,ubl最大12k=12288(包含header)
原来的是12612不行,新编译的12244可以


使用特权

评论回复
18
zhangmangui| | 2015-3-18 23:21 | 只看该作者
楼主好样的

使用特权

评论回复
19
comeon201208| | 2015-3-19 21:35 | 只看该作者
找着问题的是非常好的,,解决还需要一定的能力的。

使用特权

评论回复
20
opensrc| | 2016-6-2 18:07 | 只看该作者
wowow 发表于 2015-3-18 10:47
我看到还有人回这个贴子,附上后来找到的问题和解决方法:

2013-11-29 更新:

朋友,看到你的帖子,我现在也碰到问题,ubl大小为12244,可以用
slh_DM644x.exe -load2IRAM ubl.bin 引导启动,但是,如果写到nand,就不能启动了。
请问还有什么细节问题吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:skywolf.github.io

59

主题

649

帖子

3

粉丝