【记录】xds100v2调试DM6467,配置PLL时出错

时间:2021-12-26 08:47:13

xds100v2加CCS4.2调试DM6467,在加载gel文件时会出现下面类似的错误:

ARM926: GEL: Error while executing OnTargetConnect(): Target failed to write memory at 0x

刚开始以为是GEL文件有问题,就把gel文件去掉,直接把初始化程序放到了main()函数内执行,但是执行到PLL初始化时还是出错了,经过google发现,用xds100v2调试ti的ARM9都有这个问题,最好的解决办法是把PLL的初始化放在UBL内执行,启动UBL后再进行调试。下面是xds100v2官方网页的解释:

Q: My XDS100v2 does not work reliabily with the OMAPL138 / DM365 / ARM926 core
A: This can be caused by a variety of issues such as where the PLL is programmed to the use of Adaptive Clocking emulator. Usually, it is seen as a problem around the PLL setup. This is because the core PLL clock is changing. Example error message:
ARM9: GEL Output: Setup PLL0...

ARM9: Trouble Writing Memory Block at 0x1c40900 on Page 0 of Length 0x4: 0x00000004/-2030 @ marker 1026 Error during: Register, Access to an unknown or invalid register was attempted.

ARM9: GEL: Error while executing OnTargetConnect(): target access failed.

A couple of things to try:
Setup the PLL by executing code (ex: UBoot, etc.) instead of using the GEL file. (preferred)
Turn on adaptive clocking XDS100#Q:_How_can_I_turn_on_adaptive_clocking.3F and setup the timeouts to very slow. In this mode, it is still better to "run" the code and not "step" it.
Make sure you have the latest CPLD version. To update the XDS100v2 CPLD, please see XDS100#Q:_How_can_I_update_the_CPLD_on_my_XDS100v2.3F

官方链接:http://processors.wiki.ti.com/index.php/XDS100#Q:_How_can_I_update_the_CPLD_on_my_XDS100v2.3F

ps:上面提到的更新CPLD固件的办法,我尝试过更新到最新的固件,但还是会出现上面的问题,所以最好还是使用UBL初始化PLL吧。