各位大家下午好!
我照着MCSDK的例子,把i2cparam_0x51_c6657_be_0x500.out烧进了eeprom里面。
然后试着把UART的例子烧进了NOR FLASH里面,刚开始烧了一个大端的UART进去想看能不能跑起来。
因为是大端,所以NOR启动的时候SW3是(on,off,on,off,on,on,on,on) SW5是 (on,on,on,off,on,on,on,on)
结果程序没跑起来,串口什么数据都没有接到,无论是一开始的IBL版本还是UART的测试字符都没有收到。
然后觉得可能是不能共用大端来启动,所以把SW3设成(off,off,on,off,on,on,on,on) 又跑了一次,EEPROM和NOR FLASH 里面的程序都没动。然后reset了一遍,
发现UART能接到IBL的版本,可是UART的测试字符还是收不到。
觉得可能是因为烧进来的UART是大端的程序,所以把UART改成小端以后,再烧进去NOR FLASH了一遍,此时EEPROM没变,仍为大端的i2cparam_0x51_c6657_be_0x500.out。然后SW3仍然是(off,off,on,off,on,on,on,on),这次确实可以启动了,无论是IBL版本,UART的测试字符,还是串口输入和回显的数据都没有问题。
然后我想问难道烧进NOR FLASH里面的程序只能是小端的吗?
还有从NOR FLASH里面启动的话SW3一定要是(off,off,on,off,on,on,on,on)吗?因为即使我烧进去NOR FLASH里面的是小端的程序,我把SW3改成(on,off,on,off,on,on,on,on)的话,也是启动不了,什么都不显示,无论IBL版本,UART测试字符,什么都收不到。
谢谢!
Andy Yin1:
支持大小端,在大端的时候需要同时更新EEPROM中烧写的i2crom_0x51_c6678_le.bin,IBL烧写参考mcsdk中说明及如下总结,注意需要修改load IBL bin memory地址为0x0c000000,具体根据你使用的mcsdk版本有关。
http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/6490.aspx
你在烧写uart程序时,是直接将out文件重命名为dat格式还是做了什么转换。
joker Qin:
回复 Andy Yin1:
EEPROM里烧的仍确实是be.bin,烧写的地址也确实是0x0c000000。
我把UART烧进去的时候只是单纯地把out文件重命名成了app.bin,flash的地址为0x08000000
我想问从flash启动的时候SW3-1应该是on还是off?是应该根据程序的大小端来确定吗?
为什么我EEPROM里的是be.bin的时候,我SW3-1为on,主程序无论大小端都启动不了。。。。
假如sw3-1为off,主程序只有小端能启动,大端启动不了。。。