手上有一个C6678板卡,在不挂仿真器的情况下上电测试所有功能正常,但在挂仿真器后在CCS中点点“system reset”后再去操作FLASH,出现了CFI query failed、NOR Initialization failed的问题,此时完全不能操作FLASH在这时使用bootloader.out文件对EMIF进行初始话后再去对FLASH进行读写测试,测试过程中会出现读写不一致的问题。在这个过程中通过烧写工具去固化程序也会出现读出的数与写入数据不一致的情况。
在挂上仿真器时点“system reset” 会导致该dsp emif模块未上电,引起flash所在片选读出数据为全0,访问不到flash芯片。 对比正常的板卡,在板卡挂接仿真器的情况下点击“system reset”不会出现dsp emif模块未上电的情况,访问flash区域也正常,说明有问题的DSP芯片片在仿真器下点击“system reset”,会与其他芯片表现出不同的现象。
后面换C6678芯片后问题板也不会出现这一现象,将问题芯片焊接到正常板卡,该问题跟随芯片走。
CCS中的“system reset”为什么会导致这一现象呢?
Shine:
请问在不操作ccs->system reset时会发生不能读写flash的问题吗?
lei zhang12:
回复 Shine:
不会,不按“system reset”怎么测试、烧写均正常。
lei zhang12:
回复 Shine:
请问之前有遇到过类似问题吗?
Shine:
回复 lei zhang12:
请试一下下面的workaround。System Reset Operation Disconnects SoC from CCS Issuehttp://www.ti.com/lit/er/sprz334h/sprz334h.pdf
lei zhang12:
回复 Shine:
Workaround1:上说设置后应该也可以解决这一问题。另外通过CCS复位后重新初始化EMIF后再去测试FLASH,会不对呢?即使掉电了,重新初始化应该就可以了啊?
AnewconfigurationoptioncalledDomainPowerLossModeis addedin the CCStarget configurationfor enablingthe debugsoftwareto detectandhandlethe powerlosseventautomatically.Toenablethis option,openthe CCStarget configurationwindowandclickonthe sub-pathofICEPICK_D for eachC66xCorePac.Thenclickonthe propertyoptionDomainPowerLossModeandselectAuto