TI中文支持网
TI专业的中文技术问题搜集分享网站

6657 spi boot大镜像失败

在T2E论坛上下载的一个工程师提供的BOOT前初始化DDR的方法,就是在代码里初始化一段EMIF4CFG变量,将他存放在6657 0x008ffd20起始地址,

用这个方法成功将keystone I 开发包里的UART例子通过SPI启动,代码段都改为放在DDR中,这说明DDR的初始化是没问题的!

 

现在我将一个bios工程镜像采用同样的方法启动,由于发现提供的工具不支持大镜像,自己修改了b2i2c和romparse两个工具的限制,但是bios工程的启动一直没能成功。连上仿真器之后查看0x8000000发现DDR是初始化成功了的,代码似乎也搬移进去了,但是PC指针的位置却跑飞了,似乎每次的情况还不太一样。

初步我怀疑是我的重新编译工具错了,然后参考了http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/8065.aspx 这个里面的工具,发现仍然是同样的现象。

值得注意的是,之前成功启动过的UART的工程用新的工具转换后都可以成功启动,BIOS的工程一直失败。

为了排除是我代码的问题,我将hellwoworld evm工程稍微修改了一下后,还是无法启动

 

那么问题来了,带BIOS的工程肯定都比较大,用你们提供的那一套工具肯定是无法使用的!那么这种情况你们是怎么建议的呢?大家的代码都不使用BIOS吗?

Andy Yin1:

如果使用相同的工具对不带bios的工程能生成镜像并加载成功,但是带bios后能生成镜像并没有返回错误,只是加载失败,这说明生成镜像应该没有问题,在加载后通过仿真器连接板块看看程序运行的具体情况,是跑到哪个地方出问题的,也可以将代码download与通过ccs加载的代码比较是否加载成功。

baoyu yan:

回复 Andy Yin1:

你好ANDY 我对比了一下 搬移到DDR中的数据似乎完全不对 但是ddr可以通过memory读写  magic address 部分也已经是正确的cint0 的值了 劳烦帮忙分析这个是什么原因呢 现在完全没头绪了

Andy Yin1:

回复 baoyu yan:

  将代码放在LL2,不使用DDR是否有问题。

baoyu yan:

回复 Andy Yin1:

改到L2里后可以启动了 

但是我是想放在DDR里的 前面已经说过 uart的例程是可以在DDR里启动的,这个为什么不行呢 

连上仿真器后DDR都是可以读写的 为什么大镜像搬移出错了呢?

关于这个启动的具体步骤实在是不清楚也不知道去哪里查 在搬移的时候都做了什么? 虽然我在论坛里找到了rbl的代码 但是太复杂写的也很乱 不知道从何读起 哎 

赞(0)
未经允许不得转载:TI中文支持网 » 6657 spi boot大镜像失败
分享到: 更多 (0)