This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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?

谢谢!

  • 标红部分的意思是支持两种启动方式,如果第一启动方式失败,就会尝试从第二方式启动。
    primary boot mode failure就是比如您的uart没有接线,就无法通过第一方式启动。
  • 您可以用仿真器跟一下boot过程,看进入哪种boot mode了?DEVSTAT的值是多少?

    TCI6614的资料在网上已经找不到了,组合1101是EMIF16(NOR)作为Primary boot mode?

  • 是的,1101组合是EMIF16(NOR)作primary。0001则是UART作primay,EMIF16(NOR)作secondary。

    从DEVSTAT的值看,组合值的确写进去了。无论是0001还是1101都正确地写进行了。

    但就是0001时,EMIF16(NOR)一直没有boot起来。(boot起来的话,有灯会闪,也能网络SSH进去的)

    有人尝试成功过吗?secondary boot mode引导起来。

  • DEVSTAT寄存器里的Bit6~3是否是按照emif配置的?手册上Figure2-16 EMIF16 (NOR) Boot Mode Configuration Fields。
  • 由始至终只改变DEVSTAT寄存器的bit10和bit9,

    DEVSTAT value = 0x0001DEA0(1101组合) / 0x0001D8A0(0001组合)

  • EMIF16 (NOR) Boot Mode Configuration Fields要配置一下,ROM bootloader才会知道从哪个CS片选进行加载。
  • 当组合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吧?

  • 我的理解是既然在组合1101时boot mode配置(bit 6-3)0100这个配置可以启动,那在组合0001时,这个配置应该可以的。可以用仿真器跟一下boot过程,看是否有进入EMIF boot模式。
    processors.wiki.ti.com/.../Debugging_Boot_Issues
x 出现错误。请重试或与管理员联系。