我们按开发板做的板子,启动后串口没有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 InterfaceARM9: 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寄存器都提示读取错误。
请问这是什么问题?
谢谢!
Chris Meng:
你好,
“启动后串口没有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
haikuo shen:
回复 Chris Meng:
您好,谢谢回复。
程序启动方式uart、flash、sd都配置过,串口都没有bootme输出。
我们用的是dm365 evm的gel,目前还没用到ddr,cmd文件配置的是所有程序段都在0-4000的内部ram中,用xds100v2仿真器的结果如下:
ARM9: GEL Output: Disable IRQ/FIQARM9: GEL Output: Flush CacheARM9: GEL Output: Disable MMUARM9: 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 statusARM9: Unable to determine target status after 20 attemptsARM9: 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到中途就停了,还没进入程序调试阶段。
Eason Wang:
回复 haikuo shen:
gel文件里面还是会去配置并运行DDR的吧。你可以在gel里面加打印或者在什么地方停下来,具体看看是挂在gel里面的哪一步
haikuo shen:
回复 Eason Wang:
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文件,也无法跳到程序调试界面。
请问有可能是硬件问题吗?
haikuo shen:
回复 haikuo shen:
并且必须要用DDR吗?是不是如果把测试程序下到内部ram中就不用ddr了?
Eason Wang:
回复 haikuo shen:
在使用DDR之前,DDR是需要做初始化的。所以不论你是否使用了DDR,只要对DDR有初始化的动作,那就有可能是在初始化DDR的过程中不成功。所以建议是按照我之前给的,去排查一下看看。
TI中文支持网

