Hi all,
6614的datasheet(SPRS671D),
2.6.1章节,写着“With ARM as the boot master, two boot modes are chosen by the boot mode sequence. If a failure on the primary
boot mode is detected, then the secondary boot mode is attempted.”
table 2-13 ARM Boot Mode Sequence,里面每一组设置都有两种boot mode(分别为1st和2nd),我以0001组合为例,其对应的boot mode是1st=UART,2nd=EMIF16(NOR),在串口没有接线的情况下,等了好久也没见EMIF16(NOR)有进行boot(在组合1101时,这种bootmode是能正常工作的)。
问题:如何理解上面红色的句子?怎样算primary boot mode failure?
谢谢!
Nancy Wang:
标红部分的意思是支持两种启动方式,如果第一启动方式失败,就会尝试从第二方式启动。
primary boot mode failure就是比如您的uart没有接线,就无法通过第一方式启动。
Shine:
您可以用仿真器跟一下boot过程,看进入哪种boot mode了?DEVSTAT的值是多少?TCI6614的资料在网上已经找不到了,组合1101是EMIF16(NOR)作为Primary boot mode?
Eric Liang:
回复 Shine:
是的,1101组合是EMIF16(NOR)作primary。0001则是UART作primay,EMIF16(NOR)作secondary。
从DEVSTAT的值看,组合值的确写进去了。无论是0001还是1101都正确地写进行了。
但就是0001时,EMIF16(NOR)一直没有boot起来。(boot起来的话,有灯会闪,也能网络SSH进去的)
有人尝试成功过吗?secondary boot mode引导起来。
Shine:
回复 Eric Liang:
DEVSTAT寄存器里的Bit6~3是否是按照emif配置的?手册上Figure2-16 EMIF16 (NOR) Boot Mode Configuration Fields。
Eric Liang:
回复 Shine:
由始至终只改变DEVSTAT寄存器的bit10和bit9,
DEVSTAT value = 0x0001DEA0(1101组合) / 0x0001D8A0(0001组合)
Shine:
回复 Eric Liang:
EMIF16 (NOR) Boot Mode Configuration Fields要配置一下,ROM bootloader才会知道从哪个CS片选进行加载。
Eric Liang:
回复 Shine:
当组合1101时,DEVSTAT值=0x0001DEA0,EMIF16(NOR)先启动,其boot mode配置(bit 6-3)是0100(No wait,16bit,CE0),是可以正常启动的。
当组合0001时,DEVSTAT值=0x0001D8A0,UART先启动,其boot mode配置(bit 6-3)也是0100(无论UART还是EMIF16(NOR)也是这个配置),对于UART来说,只有bit3(值0,表示port 0)是有效的。在串口没有接线的情况下(UART启动显然失败),在ARM bootloader转到EMIF16(NOR)启动时,要如何配置EMIF16(NOR)的boot mode配置?但即使要重配EMIF16(NOR)的boot mode configuration fields,最终也是配回0100吧?
Shine:
回复 Eric Liang:
我的理解是既然在组合1101时boot mode配置(bit 6-3)0100这个配置可以启动,那在组合0001时,这个配置应该可以的。可以用仿真器跟一下boot过程,看是否有进入EMIF boot模式。
processors.wiki.ti.com/…/Debugging_Boot_Issues