专题7-ARM跑快了-系统时钟初始化
1.概念解析:
(1)时钟脉冲信号:由特定的电压幅度以及特定的时间间隔产生的脉冲信号
(2)时钟脉冲频率:单位时间内产生的脉冲个数
(3)信号产生:
A.晶体振荡器:石英晶体经过打磨,加电极,通电,会产生稳定的时钟脉冲。但是如果需要高频率的信号,虽然结构简单,噪声低,但是成本倍增,交货周期长,而且难以获得非标准频率。
B.PLL电路:也需要外部晶振,可改变外部晶体频率。但是占板面积小,可以产生不同频率的时钟信号,可以得到高频信号,成本低
2.时钟体系:主要记住处理器核使用的时钟如何产生及控制,还有所用的外部晶振。
2440:
(1)晶振:12MHZ
(2)几个PLL:MPLL,UPLL
(3)MPLL产生的子时钟:
FCLK. HCLK. PCLK
UPLL产生的子时钟:UCLK
(4)不同子时钟的应用:
6410时钟体系:
晶振也是12MHZ
210时钟体系:
晶振是24MHZ
主系统时钟体系
显示相关时钟
外设设备时钟
3.时钟初始化流程:
(1)配置locktime(通常选择默认)
(2)设置分频系数(比例关系由datasheet的一张表限定,参照uboot的比例关系设定1:4:8)
(3)设置flck
(4)如果fclk不等于hclk,设置cpu到异步工作模式
注意:fclk是处理器核的频率,hclk是总线频率
6410的datasheet关于时钟设置在第三章system controller
(5)6410流程:多一步选择时钟源,设置异步模式的时候和2440有所不同
(6)210不需要设置到异步模式,但和6410一样需要选择时钟源
(7)EPLL不设置会不会对以后的操作系统有影响???
(8)协处理器访问指令只是操作码改变,后面的操作数顺序不变
但是状态字寄存器指令两样都要变
4.代码编写(2440):