国嵌上学期笔记-自己实现bootloader-第二节

摘要:第一节讲述了mini2440的核心初始化。

1、点亮LED,根据数据手册,配置GPIO的控制寄存器和数据寄存器就可实现LED的控制。

2、时钟初始化:

     产生时钟信号的方式有两种:

    (1)晶振:晶体振荡器,结构简单,噪声低,但是如果要得到高频率,生产成本较高。

    (2)PLL:锁相环,可以对晶振的频率进行分频或者倍频。

3、mini2440时钟体系

    (1)学习时钟体系步骤

     阅读手册:了解晶振频率、了解PLL个数、PLL产生哪些时钟、这些时钟用来作什么。

    (2)时钟体系

国嵌上学期笔记-自己实现bootloader-第二节

由图可知,有两个PLL,MPLL和UPLL。

MPLL--------->HCLK(AHN总线时钟)    PCLK(APB总线时钟)      FCLK(ARM920T内核时钟)

UPLL---------->UPLL(USB时钟)

4、时钟初始化流程

国嵌上学期笔记-自己实现bootloader-第二节

(1)上电后,处理器按照晶振频率工作(开发板为12M晶振)。

(2)复位为高电平的时候,PLL可以配置,完成配置后一段时间,CPU频率为0(lock time)。Lock Time结束后,处理器按照               配置的频率工作。

5、配置

(1)配置Lock Time:用默认值就可以。

国嵌上学期笔记-自己实现bootloader-第二节

(2)设置分频系数。

 国嵌上学期笔记-自己实现bootloader-第二节

国嵌上学期笔记-自己实现bootloader-第二节

(3)设置CPU到异步工作模式,原因如下图。

国嵌上学期笔记-自己实现bootloader-第二节

nF和iA的值查询内核手册,这两位都设置为1。

(4)设置FCLK(HCLK   PCLK由分频系数和FCLK决定,UBOOT中FCLK:HCLK:PCLK = 1:4:8)。比例必须看数据手册,不能随便            指定。

国嵌上学期笔记-自己实现bootloader-第二节