网上冷火的资料很少,我们当时在这这块芯片的驱动上面花了很多时间,特地将我们都配成功的模块都贴出来,以供大家参考。
PLL 模块:
建立ColfFire MCF52259 工程时Codewarrior会生成一个MCF52259_sysinit.c 文件,该文件中有一个pll_init()函数如下:
该函数的功能是将系统频率倍频到80MHZ,我们可以直接在系统生成的这个文件中修改。
void pll_init(void)
{
MCF_CLOCK_SYNCR = MCF_CLOCK_SYNCR_MFD(3) | MCF_CLOCK_SYNCR_CLKSRC| MCF_CLOCK_SYNCR_PLLMODE | MCF_CLOCK_SYNCR_PLLEN ;
while (!(MCF_CLOCK_SYNSR & MCF_CLOCK_SYNSR_LOCK))
{
}
}
参考手册给出的时钟频率的计算公式为:Fsys = F/(CCRH+1)*2*(MFD+2)/(2^RFD);
我们使用的晶振是48MHZ,所以倍频到1