時鐘初始化的時候,**有這兩句:
/* enable prefetch buffer */
flash_prefetchbuffercmd(flash_prefetchbuffer_enable);
/* flash 2 wait state */
flash_setlatency(flash_latency_2);
這是因為cpu比flash速度快,例如flash最快24mhz,如果cpu頻率超過這個頻率,就必須加入等待時間,比如一般用72mhz主頻,那麼flash等待週期必須設定為2,在flash->acr暫存器中設定。
ARM Linux時鐘初始化
arm linux時鐘初始化是從machine start中的map io函式開始的,map io函式中會呼叫s3c24xx init clocks 12000000 來進行,我們來看一下初始化過程 static struct cpu table cpu void init s3c24xx init...
linux clk時鐘初始化
例項記錄的是am335x 時鐘初始化框架,具體細節還沒來得及深究,僅供自己記錄學習用。arch arm mach omap2 board generic.c dt machine start am33xx dt,generic am33xx flattened device tree reserve...
SystemInit時鐘系統初始化函式
void systeminit void static void setsysclock void 下面主要講解該函式 static void setsysclockto72 void while hsestatus 0 startupcounter hse startup timeout if r...