概括圖:
細節圖:
程式設計:fclk = 400mhz -> 設定mpllcon:讓fclk = 400mhz
-> mdiv=92,pdiv=1,sdiv=1
-> m = mdiv + 8 = 100, p = pdiv + 2 = 3, s = sdiv = 1
-> mpll = (2mfin) / (p*2^s) = 400mhz
hclk = 100mhz -> 設定clkcon:讓hclk = fclk / 4 = 100mhz -> clkdivn[2:1] = 10 -> clkdivn = 0x5
pclk = 50mhz -> 設定clkcon:讓pclk = fclk / 8 = 50mhz -> clkdivn[0] = 1 -> clkdivn = 0x5
設定鎖定時間,在其期間內cpu停止工作
locktime(0x4c000000) = 0xffffffff
ldr r0, =0x4c000000
ldr r1, =0xffffffff
str r1, [r0]
clkdivn(0x4c000014) = 0x5。使得fclk : hclk : pclk = 8 : 4 : 1
hdivn = clkdivn[2:1] = 10; 即hclk = fclk/4
pdivn = clkdivn[0] = 1; 即pclk = fclk/8
ldr r0, =0x4c000014
ldr r1, =0x5
str r1, [r0]
因為上一步驟改變了hdivn的值為 1,如果不設定的話,cpu還是會工作在hclk上
mrc p15,0,r0,c1,c0,0
orr r0,r0,#0xc0000000 //r1_nf:or:r1_ia
mcr p15,0,r0,c1,c0,0
設定mpllcon(0x4c000004) = (92<12)|(1<4)|(1<0),使得fclk = mpll = 400mhz
ARM 時鐘體系
以stm32f4的時鐘樹為例,如下圖所示arm的時鐘源一般有四種 綠圈 內部低速時鐘 lsi low speed inter 內部高速時鐘 hsi high speed inter 外部低速時鐘 lse low speed external 外部高速時鐘 hse high speed externa...
2410 2440時鐘體系架構
一 2440 2410提供三種時鐘 1 fclk 用於cpu核 2 hclk用於adb匯流排上的裝置,類記憶體的裝置,比如網絡卡 3 pclk用於apb匯流排上的裝置比如i2c,uart等 二 設定時鐘 設定時鐘需要通過時鐘控制器pll來控制,2410 2440通過mpll和upll來控制。mpll...
《2440裸機》時鐘體系
1.原理分析 s3c2440a有兩個鎖相環 plls 乙個 mpll 用於fclk hclk和pclk,另乙個 upll 專用於usb。其中fclk用於cpu,hclk用於ahb匯流排,pclk用於apb匯流排。ahb advanced high performance bus 高階高效能匯流排,用...