TQ2440國嵌學(xué)院gboot-時鐘初始化
通過選擇HDIVN
因此設(shè)定HDIVN=2,也就是01;設(shè)定PDIVN=1,也就是0。DIVN_UPLL不設(shè)定,組合起來也就是在CKDIVN寄存器里寫入0X5(0b000101),寄存器的地址是0x4c000014。
如何設(shè)定CPU到異步模式呢?
為什么要設(shè)定CPU到異步模式呢?看下面介紹:
翻譯可知,當(dāng)HDIVN不等于0的時候,要設(shè)定CPU到異步模式,HDIVN不等于0代表什么呢?首先看等于0,等于0代表FCLK=HCLK,也就是CPU核工作時鐘等于總線時鐘,當(dāng)2者相同的時候是同步,不相等就是異步模式。因此要設(shè)定到異步模式。如何設(shè)置到異步模式?
代碼上面也有給出,通過設(shè)定CP15的C1寄存器的nF和iA位都為1即可。
最后來看設(shè)定FCLK的頻率:
首先我們采用的CPU的工作頻率是405MHZ,也就是MDIV=0X7F,PDIV=10;SDIV=1
全部代碼:
#define CLKDIVN 0x4c000014
#define MPLLCON 0x4c000004
#define MPLL_405MHZ ((127<<12)|(2<<4)|(1<<0))
init_clock:
評論