芯片是AM4376BZDNA100,ARM内核最大支持1GHz。主晶振使用24MHz,寄存器如下设置:
CM_CLKSEL_DPLL_MPU.DPLL_DIV = 0x17
CM_DIV_M2_DPLL_MPU.DPLL_CLKOUT_DIV = 1
CM_CLKSEL_DPLL_MPU.DPLL_MULT根据不同的主频进行设置,当1GHz时,设置为0x7D0(2000);当600MHz时,设置为0x4B0(1200)。
用示波器量芯片CLKOUT1管脚,CM_CLKOUT1_CTRL.CLKOUT1SOURCE = 2,CM_CLKOUT1_CTRL.CLKOUT1SEL2SOURCE = 5,CM_CLKOUT1_CTRL其余字段默认设置。这样就把MPU_PLL_CLKOUT引出到芯片CLKOUT1管脚。
当ARM核设置为不同主频时,CLKOUT1管脚信号不一样,当ARM核主频 >= 700MHz时,CLKOUT1输出固定是24MHZ的波形;当ARM核主频 < 700MHz时,CLKOUT1没有波形,固定为高电平。
当CM_CLKOUT1_CTRL.CLKOUT1SEL2SOURCE = 3时,CLKOUT1管脚输出192MHz是波形。
请问这是什么原因造成的?
另:无论ARM核频率多少,程序都可以跑。