Part7-时钟初始化_lesson1
1、概念解析
1.1时钟脉冲信号

1.2时钟脉冲频率

1.3时钟源(提供时钟脉冲信号)
a、晶振


b、锁相环PLL

2、时钟体系
2440:


晶振的频率、时钟体系有多少个PLL、这些PLL分别产生了哪些时钟、产生的时钟用来做什么的。
采用的是12MHZ,总共有2个PLL分别是MPLL、UPLL,MPLL产生了FCLK、HCLK、PCLK,UPLL产生了UCLK。

6410:
12MHZ晶振,有三个PLL:APLL(产生ARMCLK)、MPLL(产生HCLK、PCLK)、EPLL(产生SCLK);


3、思维导图设计
1)、时钟初始化流程图
2440与6410:

一上电cpu以晶振频率运行,所以要利用软件对PLL进行配置,使cpu工作在高频,配置完锁相环之后,有一段lock time时间,处理器是不工作的,经过这个lock time时间后,cpu就会按照配置的高频运行了。
配置:



4、代码编写
1)设置lock time一般我们选择默认值,
2)设置分频系数(FCLK、HCLK以及PCLK的比例关系)
初学者不知道怎么选择这个稀疏,一般参考uboot(选择的是1:4:8)。

3)设置异步模式


因为让最高两位做或的操作,就是让他们都为1.
5、设置ARM核的频率



6410:
1、lock time的设置

2、配置分频系数





3、设置CPU工作在异步模式

OTHERS寄存器的第六位也要为0,因为


4、设置APLL以及MPLL的输出频率



5、选择后续时钟源



6、代码如下:

补充:时钟源的选择---当外部复位信号被声明时,OM[4:0]引脚决定了S3C6410的操作模式。OM[0]引脚选择外部时钟源,例如,如果OM[0]是0,则XXTIPll(外部晶体)被选择。否则,XEXTCLK被选择。友善之臂的电路图如下:

它的启动模式选择电路图如下:


http://www.cnblogs.com/lp1129/articles/3367841.html
Part7-时钟初始化_lesson1的更多相关文章
- s3c6410_时钟初始化
参考: 1)<USER'S MANUAL-S3C6410X>第三章 SYSTEM CONTROLLER 2)u-boot/board/samsumg/smdk6410/lowlevel_i ...
- LPC1788系统时钟初始化
#ifndef __SYS_H_ #define __SYS_H_ #include "common.h" #define SystemCoreClock 120000000 ...
- dsPIC33EP 时钟初始化程序
//文件名p33clk.h #ifndef _P33CLK_H_ #define _P33CLK_H_ //#include "p33clk.h" #define WDT_ENB ...
- STM32_3 时钟初始化分析
在startup文件中,调用了2个函数,一个是System_Init, 另一个是main. System_Init()在system_stm32f10x.c 这个文件中,先看一下时钟树,再分析一下这个 ...
- ARM系统时钟初始化
2440时钟体系,12MHz的晶振 6410时钟体系,12MHz的晶振 210时钟体系,24MHz晶振 时钟初始化:1.设置locktime 2.设置分频系数 4.设置CPU到异步工作模式 3.设置f ...
- s3c6410时钟初始化
今天自己写bootloader做时钟初始化时遇到的问题,特记录下来.为了方便理解,我大部分都有截图, 在此我先说明下,图均来自数据手冊.也希望看了本篇文章的同志多多參看数据手冊才干理解的更加透 ...
- X-005 FriendlyARM tiny4412 uboot移植之时钟初始化
<<<<<<<<<<<<<<<<<<<<<<<<< ...
- u-boot分析(六)----时钟初始化
u-boot分析(六) 上篇博文我们按照210的启动流程,分析到了关闭看门狗,今天我们继续按照u-boot的启动流程进行分析,今天我们会主要分析时钟的初始化. 今天我们会用到的文档: 1. ...
- STM32时钟初始化函数SystemInit()详解【转】
花了一天的时间,总算是了解了SystemInit()函数实现了哪些功能,初学STM32,,现记录如下(有理解错误的地方还请大侠指出): 使用的是3.5的库,用的是STM32F107VC,开发环境RVM ...
随机推荐
- System.Web.HttpRequestValidationException: 从客户端(dbFlag="<soap:Envelope xmlns...")中检测到有潜在危险的 Request.Form 值。
System.Web.HttpRequestValidationException: 从客户端(dbFlag="<soap:Envelope xmlns...")中检测到有潜 ...
- Python reload() 函数
reload(module) 作用: 用于重新载入之前载入的模块. module -- 模块对象.返回模块对象. 实例: 重新载入 sys 模块,并设置默认编码为 utf8 >>> ...
- 冒泡排序的JavaScript实现
1. 普通冒泡 思想 假设有n个数,按从小到大排序: 进行n-1次外循环,每次外循环会排好当前处理的数中的最大数,即进行第一次外循环排好所有数中的最大数,进行第二次外循环排好所有数中的次大数....直 ...
- python中的configparse学习笔记
configparse主要用于在python中进行配置文件的读取. 基本的读取配置文件: -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以 ...
- IaaS vs PaaS vs SaaS
在云计算的早期阶段,企业面临的最大问题是他们是否应该使用公共云服务.如今,几乎所有的组织都在采用一些公共云服务.更重要的问题是企业应该使用哪种云服务:基础设施即服务(IaaS),平台即服务(PaaS) ...
- Git&Repo 命令大全 ***
首先理解几个基本概念: origin:默认远程版本库: master:默认开发分支: 查看本地更新状态: git status jiangzhaowei@ubuntu$ git status # On ...
- 微信小程序只之全局存储
全局变量 app.globalData 本地缓存 wx.setStorageSync(KEY,DATA) wx.getStorageSync(KEY) wx.getStorageInfoSync wx ...
- git 批量删除本地分支
git branch | grep 'bug' |xargs git branch -D
- MFC学习(六)计算器
1 stdafx.h 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H.Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使 ...
- 第十九章 MySQL Cluster(待续)
··········