[求助] 请教Helper2416 时钟设置问题

arm9dzgc   2018-3-15 10:48 楼主
曾使用别的核心板调试(没有JTAG口),把程序写入SD卡,然后使用SD卡启动运行,程序中设置MPLLCON没问题。 使用 Helper2416 核心板JTAG裸机调试时,每次设置MPLLCON就死机,请问是什么原因。 使用ADS1.2和AXD,死机在 AXD中暂停则显示"RDI severe error 00602, Can't halt target and make it enter debuf state ",然后就自动退出AXD。是不是使用JTAG调试,OM[0]-OM[4]有什么设置要求? 本帖最后由 arm9dzgc 于 2018-3-16 15:17 编辑

回复评论 (6)

使用 ADS1.2 和 AXD
点赞  2018-3-15 10:52
使用JTAG调试设置PLL时,不要单步,可以设断点直接跳过看看。
My dreams will go on... http://www.jyxtec.com
点赞  2018-3-17 12:49
引用: spacexplorer 发表于 2018-3-17 12:49
使用JTAG调试设置PLL时,不要单步,可以设断点直接跳过看看。

谢谢版主!
发现不是单步的问题,单步和连续我都试过。程序循环运行,控制开发板上的LED等显示。进入AXD后查看 0x4c000010(MPLLCON),其值为 0x8042c061,即mdiv=267,pdiv=3,sdiv=1,此时我在程序中重新设置为此值,程序可以正常运行,若设置为其它值(包括手册推荐的值),程序都不能运行。
点赞  2018-3-19 15:53
引用: arm9dzgc 发表于 2018-3-19 15:53
谢谢版主!
发现不是单步的问题,单步和连续我都试过。程序循环运行,控制开发板上的LED等显示。进入AXD ...

我也曾经设置过,记得是单步不行,连续跑就可以了,你这个不行的话,我也不知道啥情况了。。。
My dreams will go on... http://www.jyxtec.com
点赞  2018-3-19 22:56
谢谢版主!

问题解决了!在此讲述一下解决过程:
调试中发现设置了新的 MPLLCON 后,AXD就出错退出(程序也不正常运行,灯不闪烁了)。但是只要不关开发板电源并重新进入AXD后运行,核心板竟然可以以新的时钟频率连续正常运行(程序中仍有设置MPLLCON),说明改变 MPLLCON值是没问题的,感觉是设置好 MPLLCON 后,系统时钟不响应或不稳定。

重新查看手册和程序,发现是 CLKSRC 寄存器的 SELMPLL 的设置问题。

MSYSCLK select
SELMPLL=0:  MPLL reference clock (produced through clock divider)
SELMPLL=1:  MPLL output

为了使程序以较快的速度运行,原来程序中设置了 SELMPLL=1,此时重新设置 MPLLCON 就出问题了。
修改程序,先设置 SELMPLL=0,然后设置 MPLLCON,最后设置SELMPLL=1,这样就不会出现上述问题了。
点赞  2018-3-20 10:14
引用: arm9dzgc 发表于 2018-3-20 10:14
谢谢版主!

问题解决了!在此讲述一下解决过程:
调试中发现设置了新的 MPLLCON 后,AXD就出错退出(程 ...

My dreams will go on... http://www.jyxtec.com
点赞  2018-3-21 19:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复