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.

【求助】DM368无法用仿真器调试



我们按开发板做的板子,启动后串口没有bootme输出,用ccs5.3连仿真器后,点击Test Connection测试能够通过,但Debug一个最简单的程序时也无法进行,每次执行到这里

ARM9: GEL Output:
DM365EVM ARM Startup Sequence

ARM9: GEL Output: Disable IRQ/FIQ
ARM9: GEL Output: Flush Cache
ARM9: GEL Output: Disable MMU
ARM9: GEL Output: Setup Power Modules (All on)... ARM9: GEL Output: [Done]
ARM9: GEL Output: Setup PinMux...ARM9: GEL Output: [Done]
ARM9: GEL Output: Setup PLL0...ARM9: GEL Output: [Done]
ARM9: GEL Output: Setup PLL1...ARM9: GEL Output: [Done]
ARM9: GEL Output: Setup DDR2...ARM9: GEL Output: DDR2 init is done for 16-bit Interface
ARM9: GEL Output: [Done]
ARM9: GEL Output:
Startup Complete.

ARM9: GEL Output: Disable VPSS
ARM9: GEL Output: Disable IRQ/FIQ
ARM9: GEL Output: Flush Cache
ARM9: GEL Output: Disable MMU
ARM9: GEL Output: Disable EDMA events
ARM9: GEL Output:
ARM9: GEL Output:

就停了。程序指针也无法跳到main函数停住,查看内存、CPU寄存器都提示读取错误。

请问这是什么问题?

谢谢!

 

  • 你好,

    “启动后串口没有bootme输出”

    请问你们的板子上的flash是否有烧写代码?如果有,能否擦除,并且配置为uart 启动,看串口是否有bootme输出?

    请问你使用的是针对对DM36x的gel么?你可以参考DM365 EVM的gel,并且修改里面的DDR参数(根据你板子上使用的DDR)。你的代码也需要修改DDR配置。请参考论坛讨论:http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/69143.aspx

  • 您好,谢谢回复。

    程序启动方式uart、flash、sd都配置过,串口都没有bootme输出。

    我们用的是dm365 evm的gel,目前还没用到ddr,cmd文件配置的是所有程序段都在0-4000的内部ram中,用xds100v2仿真器的结果如下:

    ARM9: GEL Output: Disable IRQ/FIQ
    ARM9: GEL Output: Flush Cache
    ARM9: GEL Output: Disable MMU
    ARM9: GEL Output: Setup Power Modules (All on)...ARM9: GEL Output: [Done]
    ARM9: GEL Output: Setup PinMux...ARM9: GEL Output: [Done]
    ARM9: GEL Output: Setup PLL0...ARM9: Trouble Writing Memory Block at 0x1c40928 on Page 0 of Length 0x4: (Error -2030 @ 0x6E6900) Internal error: Access to unknown or invalid register was requested. Restart the application. If error persists, please report the error. (Emulation package 5.1.641.0)
    ARM9: GEL: Error while executing OnTargetConnect(): Target failed to write 0x01C40928 at *(pll_postdiv)=0x8000 [QXDdm36x111.gel:497] at Setup_PLL1() [QXDdm36x111.gel:102] at OnTargetConnect() .
    ARM9: Error: Failed to get PRSC status
    ARM9: Unable to determine target status after 20 attempts
    ARM9: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging

    如果不用gel文件也是到debug到中途就停了,还没进入程序调试阶段。

  • gel文件里面还是会去配置并运行DDR的吧。你可以在gel里面加打印或者在什么地方停下来,具体看看是挂在gel里面的哪一步

  • 1. 用GEL时显示是配置PLL0时出错了,信息如下:

    ARM9: GEL Output: Setup PLL0...ARM9: Trouble Writing Memory Block at 0x1c40928 on Page 0 of Length 0x4: (Error -2030 @ 0x6E6900) Internal error: Access to unknown or invalid register was requested. Restart the application. If error persists, please report the error. (Emulation package 5.1.641.0)
    ARM9: GEL: Error while executing OnTargetConnect(): Target failed to write 0x01C40928 at *(pll_postdiv)=0x8000 [QXDdm36x111.gel:497] at Setup_PLL1() [QXDdm36x111.gel:102] at OnTargetConnect() .
    ARM9: Error: Failed to get PRSC status

     

    2. 我也试过不用GEL文件,也无法跳到程序调试界面。

    请问有可能是硬件问题吗?

  • 并且必须要用DDR吗?是不是如果把测试程序下到内部ram中就不用ddr了?

  • 在使用DDR之前,DDR是需要做初始化的。所以不论你是否使用了DDR,只要对DDR有初始化的动作,那就有可能是在初始化DDR的过程中不成功。所以建议是按照我之前给的,去排查一下看看。