TI中文支持网
TI专业的中文技术问题搜集分享网站

6614 ARM boot mode sequence不能正常工作

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

赞(0)
未经允许不得转载:TI中文支持网 » 6614 ARM boot mode sequence不能正常工作
分享到: 更多 (0)