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.

OMAP-L138: 请教一下omap-138通过UART,DDR2和NAND烧录程序的相关问题

Part Number: OMAP-L138

您好,最近在重新尝试使用OMAP138,之前成功过。但换了DDR2和NAND  FLASH后出现了无法解决的问题:

     1、通过烧写器测试过DDR2配置是正确的,且能正常跑程序;但在CCS中跑bootloader测试NAND FLASH,爆出Invalid magic number in boot image错误,然后通过查找一下资料,找到这个magic number是烧写时用到的,于是去尝试直接烧写,但遇到了卡死在Waiting for SFT on the OMAP-138..请问这该怎么解决?

    2、查看烧写指导pdf时,看见提到使用UartHost.exe 来加载运行测试程序,检测DDR,flash 等,请问这些测试程序是在哪边?具体如何来使用UartHost.exe来去检测?

  • 您好,麻烦再问一下NAND FLASH没有内部ECC的话,能用的起来吗?

  • 请问是使用C:\ti\OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\CCS\NANDWriter烧写的吗?如果是的话,需要修改ddr2和nand flash参数后,重新编译NANDWriter烧写工程,具体请看一下下面文档里的4.1DDR 参数修改和7.2 停在 Waiting for SFT on the OMAP-L138…
    https://www.ti.com.cn/cn/lit/an/zhca481/zhca481.pdf

  • 您好,我时用sfh_OMAP-L138.exe去烧写的,您发的PDF我之前已经看过,也重新在CCS工程里验证过DDR2和NAND FLASH是否能正常读写;在烧写之前也修改了DDR2与NAND FLASH源码配置的内容,重新编译后依然是这样。现在情况时已经通过CCS工程验证了DDR2与NAND FLASH都能通过配置以后正常读写。现在不确认问题出在哪了?请问一下能在编译sfh_OMAP-L138.exe的源码里面加打印,以此来看一下我这边的配置是否已经正确写入配置成功?

  • 如果用sfh_OMAP-L138.exe的话,也需要对源码修改后,重新编译再烧写。

    建议用NANDWriter CCS工程烧写,修改编译比较方便,而且可以用CCS定位哪里出问题。

  • 谢谢您的建议。我有时间去查看一下。
    经过半天的尝试,现在时用改过源码的sfh_OMAP-138.exe能够正常的跑完烧写步骤,但是拨到NAND启动时,串口没有任何打印,也验证过UART确实用的是UART2。单独在CCS里跑bootloader工程有相关打印,看电流感觉是芯片没有正常跑起来,请问这种情况会是烧写.exe虽然显示成功了,其实未真正的烧写的进去?查了网上有很多说法,请问这种情况该去如何去确定是什么导致的?

  • 您好,根据你说的NANDWriter工程的方法也试了一下,同样显示的是烧写成功,但依然没有bootloder里面的打印消息,电流也一样没有变化,感觉也是烧进去了但并不能正常启动。

    CCS截图是用NANDWriter烧写的打印消息,串口截图是我们之前没有换DDR和NANDFLASH的正常打印,换了以后这个bootloader的打印都不能出现,怀疑是烧写后半年正常读取启动,请问该如何去排除?能否给一些检查的建议,谢谢!

  • 请先看一下boot mode管脚有没有设成nand flash boot mode? 看一下nand flash型号是否是ROM bootloader支持的,具体请看下面的bootloader文档。
    B.1 Details of Supported NAND Devices
    https://www.ti.com/lit/an/sprab41f/sprab41f.pdf

    另外,请参考下面文档里的3 Boot Examples
    https://www.ti.com/lit/an/spracm8a/spracm8a.pdf


  • 您好,谢谢您的建议,通过查看引脚模式发现bootloder起不来确实是引脚模式未配置成正确的模式。
    现在经过重新调试以后bootloder能正常运行了,但DSP核似乎未正确加载程序,怀疑是DspEntryPoint的设置问题,想请教一下我DSP端的程序里的是ENTRY POINT SYMBOL: "_c_int00"  address: c0000000,那我在bootloder里的unsigned int entryPoint = 0;
    unsigned int DspEntryPoint = 0xc0000000;是这样设置吗?  但我这样设置试了,也未能正确加载DSP核的程序,请问有什么参考文件去尝试着解决一下。
    谢谢!

  • 根据尝试已经解决,问题就是需要微调bootloader对DDR2的配置,需完全和单跑DSP时的配置成一模一样才可以跑起来。

    谢谢您之前建议!

  • 不客气~
    感谢分享!