各位TI工程师:
开发平台是C6455,外挂DDR2,在配置完后整个数据空间都有数据而且是乱码,但是也能往指定的空间写数据,其他空间本应该为空,但是其他空间为乱数据,这是怎么回事呢?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
各位TI工程师:
开发平台是C6455,外挂DDR2,在配置完后整个数据空间都有数据而且是乱码,但是也能往指定的空间写数据,其他空间本应该为空,但是其他空间为乱数据,这是怎么回事呢?
我在cmd开辟一个数据段,存放一个固定数据的数组,但是DDR配置完成后存放的数据是乱的,不应该是配置完成后该数据段存放的就是那个固定数据吗?
正常的读写是可以的
DDR配置完后,才能使用。
所以正确的顺序是,先配置DDR,然后在把你的固定数组放到DDR中。这样就不能在CMD里把数据段放入DDR,因为DDR还没有初始化。
我感觉你好像反了,不知道我理解是否正确?
如果要是想在CMD里面把数据段放入DDR,需要在LOAD程序前把DDR初始化了。
一般有两种方法。
1,使用AISGEN工具配置DDR参数。(C6748有这种方法,我不太清楚6455是否有这种工具)
2,可以使用二级BOOT,先做一个小的BOOTLOADER把DDR初始化后,再把真正的应用BOOT起来。
谢谢Denny Yang!
你的说法应该是对的!之前我一直疑惑:在仿真器模式下,为什么添加GEL文件,在DDR的数据就不会乱呢,应该是在GEL文件上已经做了DDR的初始化了!按照你说的二次bootload上将DDR的初始化B写进去,是不是就是在.asm文件中用汇编语言实现呢?但有没有相关的参考啊,我没弄过汇编