国嵌上学期笔记-自己实现bootloader-第二节
摘要:第一节讲述了mini2440的核心初始化。
1、点亮LED,根据数据手册,配置GPIO的控制寄存器和数据寄存器就可实现LED的控制。
2、时钟初始化:
产生时钟信号的方式有两种:
(1)晶振:晶体振荡器,结构简单,噪声低,但是如果要得到高频率,生产成本较高。
(2)PLL:锁相环,可以对晶振的频率进行分频或者倍频。
3、mini2440时钟体系
(1)学习时钟体系步骤
阅读手册:了解晶振频率、了解PLL个数、PLL产生哪些时钟、这些时钟用来作什么。
(2)时钟体系
由图可知,有两个PLL,MPLL和UPLL。
MPLL--------->HCLK(AHN总线时钟) PCLK(APB总线时钟) FCLK(ARM920T内核时钟)
UPLL---------->UPLL(USB时钟)
4、时钟初始化流程
(1)上电后,处理器按照晶振频率工作(开发板为12M晶振)。
(2)复位为高电平的时候,PLL可以配置,完成配置后一段时间,CPU频率为0(lock time)。Lock Time结束后,处理器按照 配置的频率工作。
5、配置
(1)配置Lock Time:用默认值就可以。
(2)设置分频系数。
(3)设置CPU到异步工作模式,原因如下图。
nF和iA的值查询内核手册,这两位都设置为1。
(4)设置FCLK(HCLK PCLK由分频系数和FCLK决定,UBOOT中FCLK:HCLK:PCLK = 1:4:8)。比例必须看数据手册,不能随便 指定。