大家好,我按照TI论坛提供的闪灯例程(见附件)进行操作,修改core_freq_mhz=1000,sw_pll_prediv=2, sw_pll_mult = 40,sw_pll_postdiv = 2,最后将生成好的.dat文件烧写入SPI NOR FLASH中。重新上电前将SW3~SW6按http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup ROM SPI Boot要求进行拨位,上电后不能boot。
以下是连仿真器后的一些调试信息:
1、DEVSTAT寄存器值为0x40D,PC寄存器值为0x20B0A350,ROM版本为v1.12.Sat.Aug.13.15:21:07.2011.i2c.mac.srio.pcie.vusr.spi(读取0x872dc0存储器)。
2、从0x873680读出的boot parameter table内容为0028 0000 0032 0000 0000 0000 0000 0018 0004 0000 0000 0001 03E8 0000 01F4 0000 0000 0000 0000 0000。
请大家帮忙分析分析,非常感谢!
Shine:
DEVSTAT寄存器值为0x40D, boot mode是5=I2C,不是SPI boot模式 (110),请检查 一下boot mode管脚设置。
PC 指针0x20B0A350说明还在RBL里,在memory browser中输入0x1087fffc查看该地址对应的value是否为程序入口地址(入口地址可在map中查看对应c_int00)。
bo zhou5:
回复 Shine:
感谢回复!
1)又确认了下SW3~SW6的拨位,0xD = 4'b1101,bootmode[2:0] = "110",配置应该是正确的吧:-);
2)从memory bowser读出地址0x1087fffc的数据是0,而并非c_int00地址。
另外,从boot parameter table读出的数据看,spi加载的options=0而不是预先设置的1,这一点比较疑惑。
还有,flash nor writer烧写成功与否如何验证?
非常感谢能继续提供思路。
bo zhou5:
回复 Shine:
问题已解决,原因是在运行norwriter程序之前未将.dat文件load入0x80000000地址空间:(
在这里要吐槽一下TI的文档,ti-processor-sdk-rtos-c667x-evm包中并没有怎么使用norwriter工具的文档,而mcsdk是有的,希望下一步能完善一下。
另外,谢谢提供思路给予支持!