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.

关于TMDSEVM6678LE SPI NOR FLASH加载的问题



大家好,我按照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。

请大家帮忙分析分析,非常感谢!

6404.KeystoneI_bootloader_workshop.zip
  • DEVSTAT寄存器值为0x40D boot mode5=I2C,不是SPI boot模式 (110),请检查 一下boot mode管脚设置。

    PC 指针0x20B0A350说明还在RBL里,memory browser中输入0x1087fffc查看该地址对应的value是否为程序入口地址(入口地址可在map中查看对应c_int00)

  • 感谢回复!

    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烧写成功与否如何验证?

    非常感谢能继续提供思路。

  • 烧写flash时,是否有“NOR programming completed successfully”打印信息?

    另外烧写的是.dat文件吗?norwriter有按照下面的要求重新编译过吗?

    While flashing using the NOR writer use the .dat as is and don’t convert the .dat into a bin file. Rebuild then Nor write present in the MCSDK folder , with the following change to the nor_writer_input.txt , replace the file name from app.bin to the file name(app.dat) that was generated in step 5 of previous section.

  • 问题已解决,原因是在运行norwriter程序之前未将.dat文件load入0x80000000地址空间:(

    在这里要吐槽一下TI的文档,ti-processor-sdk-rtos-c667x-evm包中并没有怎么使用norwriter工具的文档,而mcsdk是有的,希望下一步能完善一下。

    另外,谢谢提供思路给予支持!