时钟对于一个系统的重要性不言而喻,时钟决定了系统发送数据的快慢,高性能的芯片往往能支持更快速度的时钟,从而提供更好的体验。

S3C2440的输入时钟频率是12MHZ,对于这款芯片,显然速度是不够的,所以就需要进行设置来获取我们想要的频率,S3C2440的芯片手册提供了这样的一个表格供选择

现在我们希望获取的输出频率为400MHZ,那么就需要设置MDIV,PDIV,SDIV这三个数值,只需设置对应的寄存器即可;因为需要的是400MHZ,因此使用的是MPLLCON

代码实现如下:

#define S3C2440_MPLL_400MHZ ((0x5c << 12) | (0x1 << 4) | (0x1))
ldr r0,=0x4c000004
ldr r1,=S3C2440_MPLL_400MHZ
str r1,[r0]

这个获取到了FCLK=400MHZ,还需要获取HCLK=200MHZ, PCLK=100MHZ,PCLK=100MHZ是最终的目的,所以还需要设置CLKDIVN寄存器

实现代码如下:

ldr r0,=0x4c000014
mov r1,#0x03 //FCLK:HCLK:PCLK = 4:2:1, HDIVN=1, PDIVN=1
str r1,[r0]

最后,芯片手册还有个notes,信息如下

当HDIVN不为0的时候,CPU的总线模式必须通过如下的指令切换成异步总线模式

mrc p15,,r0,c1,c0,
orr r0,r0,#R1_nF:OR:R1_iA
mcr p15,,r0,c1,c0,

至此S3C2440的时钟初始化就完成了,因为时钟初始化是在u-boot中进行的,所以使用了汇编进行编码,不过身为一个嵌入式er,这点汇编肯定是小意思啦。

S3C2440 时钟设置分析(FCLK, HCLK, PCLK)的更多相关文章

  1. 韦东山教程ARM的时钟设置出现的问题及其解决方法

    时钟设置是一个非常重要的环节,如果系统没有合适的时钟,根本无法工作.   S3C2440的时钟复杂,分为FCLK,HCLK,PCLK.    在程序测试中,曾出现这样一个错误.系统当前FCLK为400 ...

  2. S3C2440时钟系统详解

    在讲述系统时钟之前,因为这些设备都是挂靠在系统时钟上的,所以必须先说系统时钟,S3C2440的时钟系统如下 外部时钟源分两种,晶振或者外部频率,由om3-2选择,时钟电路根据两种选择也有两种 我们来分 ...

  3. S3C2440时钟配置

    参考: http://blog.csdn.net/mr_raptor/article/details/6555734 http://blog.csdn.net/mjx91282041/article/ ...

  4. S3C2440时钟体系

    注:以下内容学习于韦东山老师arm裸机第一期视频教程 一. 2440时钟简介 1.1 2440是一个SOC(system on chip)系统,不仅有很多CPU,还有很多外设,在2440芯片手册有系统 ...

  5. STM32F4时钟配置分析

    //学习STM32F4的过程中关于时钟上面讲的比较好 特地转发与大家分享 STM32F4时钟设置分析 原文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环 ...

  6. S3C2440时钟体系结构

    任意一款单板,我们了解其时钟都是通过时钟树来的. 这里没有全部截完,只是讲解时钟来源,OSC代表晶振,这说明我们的时钟可以来至晶振OSC也可以来至外部输入EXTCLK,这是通过OM选择器来完成的. 2 ...

  7. STM32中的几个时钟SysTick、FCLK、SYSCLK、HCLK

    STM32参考手册中的时钟树: 关于时钟讲解,在时钟树中都可以看出来:下面是正点原子PPT中的插图,看起来比较清晰. 总结一下: 1. 在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE. ...

  8. 合宙AIR105(二): 时钟设置和延迟函数

    目录 合宙AIR105(一): Keil MDK开发环境, DAP-Link 烧录和调试 合宙AIR105(二): 时钟设置和延迟函数 Air105 的时钟 高频振荡源 芯片支持使用内部振荡源, 或使 ...

  9. 第三章、Tiny4412 U-BOOT移植三 时钟设置【转】

    本文转自:http://blog.csdn.net/eshing/article/details/37521789 这一章说明配置时钟频率基本原理 OK,接着说,这次先讲讲CPU的系统时钟.U-BOO ...

随机推荐

  1. 【Weblogic】在linux创建domain过慢的解决方法

    修改Linux上Weblogic使用的jdk $JAVA_HOME/jre/lib/security/java.security 文件 将 securerandom.source=file:/dev/ ...

  2. 缓存一致性和跨服务器查询的数据异构解决方案canal

    当你的项目数据量上去了之后,通常会遇到两种情况,第一种情况应是最大可能的使用cache来对抗上层的高并发,第二种情况同样也是需要使用分库 分表对抗上层的高并发...逼逼逼起来容易,做起来并不那么乐观, ...

  3. sgu102 Coprimes

    102. Coprimes time limit per test: 0.25 sec. memory limit per test: 4096 KB For given integer N (1&l ...

  4. Windows下JNI的使用教程

    JNI的使用大致有以下4个步骤: 一.在Java中写native方法 二.用javah命令生成C/C++头文件 三.写对应的C/C++程序实现头文件中声明的方法,并编译成库文件 四.在Java中加载这 ...

  5. Spring AOP术语解释

    话说,越来越感觉有些人解释概念真的是晦涩难懂,我刚开始学习Spring aop时,对那些切入点,连接点,引入等概念搞得头疼.太多人就直接照搬定义,让我们这些初学者如何理解啊.下面是我找了大量的博客,终 ...

  6. 关于wamp服务器文件的配置

    有的前端朋友想在手机端看PC端开发的html5页面,这时候会在本地PC下载一个wamp,这时候在PC端输入电脑的IP地址或者是直接输入localhost,可以访问www目录下的文件(开发项目必须放置在 ...

  7. python 小技巧 防止SSL报错信息

    代码里面 只需要添加如下2行: import ssl ssl._create_default_https_context = ssl._create_unverified_context

  8. 递归的二叉查找树Java实现

    package practice; public class TestMain { public static void main(String[] args) { int[] ao = {50,18 ...

  9. .NET Core2.0 MVC中使用EF访问数据

    使用环境:Win7+VS2017 一.新建一个.NET Core2.0的MVC项目 二.使用Nuget添加EF的依赖 输入命令:Install-Package Microsoft.EntityFram ...

  10. sql执行机制

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp38 sql执行机制 1.对于普通的sql语句只有where条件的执行机制 ...