s3c2440之cpu提速

发布者:温暖心绪最新更新时间:2024-07-19 来源: cnblogs关键字:s3c2440  启动过程 手机看文章 扫描二维码
随时随地手机看文章

刚看完韦东山老师的教学视频,写个随笔巩固一下下。

2440芯片上不止有cpu,还有 AHB高速总线(LCD,中断,USB,内存 控制器等),APB低速外设总线(I2C,I2S,GPIO等)。存在3个时钟,FCLK,HCLK(AHB),PCLK(APB).

2440有一个12m的晶振(时钟源),是通过锁相环PLL硬件实现倍频。2440芯片有两个PLL:MPLL、UPLL,时钟源经过MPLL, MPLL和UPLL (供给USB)通过 M、P、S 这3个参数确定FCLK输出频率。MPLL通过HDIVN和PDIVN分频之后确定HCLK和PCLK的频率,通过通过设置MPLL、HDIVN、PDIVN 给CPU提速。

 

2440CPU 启动过程。

1.上电之后,复位芯片等待电源稳定,会处于低电平一段时间,电源稳定之后才输出高电平。

2.根据OM[3:2]的值,此时的FCLK为12MHZ(时钟源的频率)

3.复位芯片输出高电平之后,会锁存OM[3:2]的值。

4.设置PLL的值,此时PLL开始工作,并等待PLL输出稳定之后(LOCK TIME寄存器

5.FCLK输出新时钟。

 

涉及寄存器

 

 设置CLKDIVN寄存器设置HDIVN和PDIVN。

 设置MPLL寄存器

 

 

 具体如何设置MDIV PDIV SDIV,下图提供了相关参考:

具体代码如下:

 1 //设置LOCKTIME

 2 ldr r0, =0x4C000000

 3 ldr r1, =0xFFFFFFFF

 4 str r1, [r0]

 5     

 6 //设置MPLL FCLK:HCLK:PCLK = 400:100:50(1:4:8)

 7 ldr r0, =0x4C000014

 8 ldr r1, =0x5 //CLKDIV = Ox5 (0b101)

 9 str r1, [r0]

10 

11 //设置cpu为异步模式

12 mrc p15, 0, r0, c1, c0, 0 

13 orr r0, r0, #0xc0000000

14 mcr p15, 0, r0, c1, c0, 0

15 

16 /*设置时钟以最高频率运行 400MHZ*/

17 //MPLL= (92 << 12) | (1 << 4) | (1 << 0)

18 ldr r0, =0x4C000004

19 ldr r1, =(92 << 12) | (1 << 4) | (1 << 0)

20 str r1, [r0]


关键字:s3c2440  启动过程 引用地址:s3c2440之cpu提速

上一篇:S3C2440 gpio
下一篇:s3c2440之点亮led

推荐阅读最新更新时间:2024-11-12 22:10

keil5(MDK5)配置S3C2440裸机开发调试环境
引言 用于arm裸机程序开发的IDE基本有 以下3个:MDK或者称Keil,IAR,还有ADS。其中ADS已经停止更新,不建议使用了。它们的具体情况在这里我就不多说了,百度一下就明白了。 由于之前开发c51的时候都使用了MDK开发环境,而且MDK的界面确实看起来舒服多了,所以我选择了MDK作为我的s3c2440裸机开发的IDE。以下主要介绍一下如何使用MDK配合J-link来调试基于s3c2440的开发板。 MDK、J-link的安装 MDK5软件包请自行百度下载,官方网站上的需要注册下载略显麻烦。安装后需要注册码,否则使用有限制。个人学习研究可尝试破解,安装和破解方法请自行百度。 这里我只提醒需要特别注意的地方:MDK5以后的
[单片机]
基于s3c2440的madplay移植
在mini2440移植声卡后,赶紧找了移植madplay的资料,看上去挺简单的,于是接着移植madplay。 一、 环境和软件介绍 1、主机环境:虚拟机下Fedora9 2、交叉编译器:arm-linux-gcc-4.3.2 3、软件包:zlib-1.2.3、libid3tag-0.15.1b.tar.gz、libmad-0.15.1b.tar.gz、madplay-0.15.2b.tar.gz 4、 把以上软件包解压到/opt/studyarm/madplay-make目录下,分别改名为zlib、libid3tag、libmad、madplay。并在madplay-make目录下新建include和lib目录用于存放编译后
[单片机]
S3C2440外部中断详解
要想正确地执行2440的外部中断,一般需要完成两个部分内容:中断初始化和中断处理函数。 在具体执行中断之前,要初始化好要用的中断。2440的外部中断引脚EINT与通用IO引脚F和G复用,要想使用中断功能,就要把相应的引脚配置成中断模式,如我们想把端口F0设置成外部中断,而其他引脚功能不变,则GPFCON=(GPFCON & ~0x3) | 0x2。配置完引脚后,还需要配置具体的中断功能。我们要打开某一中断的屏蔽,这样才能响应该中断,相对应的寄存器为INTMSK;还要设置外部中断的触发方式,如低电平、高电平、上升沿、下降沿等,相对应的寄存器为EXTINTn。另外由于EINT4到EINT7共用一个中断向量,EINT8到EINT2
[单片机]
<font color='red'>S3C2440</font>外部中断详解
S3C2440-蜂鸣器
ARM驱动蜂鸣器的方式有两种:一种是PWM输出口直接驱动,另一种是利用IO定时翻转电平产生驱动波形对蜂鸣器进行驱动。PWM输出口直接驱动是利用PWM输出口本身可以输出一定的方波来进行驱动。在ARM中可以用几个特殊功能寄存器对占空比和周期进行设置。通过设置这些寄存器产生符合蜂鸣器要求的方波后,这个时候利用这个方波就可以对蜂鸣器进行驱动了。使用PWM时,通过TCMPn可以决定脉宽,TCNTn决定频率,TCMPn/TCNTn决定占空比。使用IO口电平翻转时,需要使用定时器来做定时,通过定时翻转产生符合要求频率的波形。由于蜂鸣器一般的工作电流比较大,以至于IO口无法驱动,一般使用放大电路来驱动,一般使用三极管来放大电流就可以了。
[单片机]
S3C2440-蜂鸣器
s3c2440裸机-内存控制器1-内存控制器的原理
1.内存接口概念 S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚(GPA-GPH)),有串口控制器 (接有TXD RXD引脚),有memory controller内存控制器,有Nand控制器等... 1.不同类型的控制器: (1)GPIO控制器属于门电路,不涉及到时序,相对简单。 (2)串口控制器属于协议类接口,类似的协议类接口还有iic、iis、spi等。 (3)前面的GPIO/门电路接口、协议类接口,都不会把地址输出到外部设备,仅仅只是将地址写入到相应的控制器。 接下来的内存类接口,会把地址输出到外部,cpu将地址写入内存控制器,内存控制器还需访问外部设备,比如NorFlash、网卡、SDRAM。 2.
[单片机]
S3C2440触摸屏驱动代码分析
实验环境: 主机:Fedora14 开发板:Tq2440 移植linux内核版本:linux-2.6.30.4 最近学习了一下S3C2440的触摸屏驱动代码,也算是对前期一段时间的复习,让自己回忆起一些关于驱动的知识,关于S3C2440的触摸屏驱动代码主要是基于输入子系统的实现,在转载的文章 嵌入式Linux之我行 S3C2440上触摸屏驱动实例开发讲解 一文中详细的介绍了基本的实现。具体的实现我就在介绍,这篇文章已经写得非常的详细。我主要是采用流程图的方式简要的介绍了一下驱动代码的实现过程。 驱动的初始化过程: 驱动的实现过程: 以上的流程图就大致实现了触摸屏的驱动。
[单片机]
<font color='red'>S3C2440</font>触摸屏驱动代码分析
S3C2440+ADS1.2+H_JTAG 实现单步调试
1: 设置H_JTAG如下: 使之出现 2: 在ADS中debug,出现AXD调试界面,设定连接目标版 然后 下载镜像文件 接下来就可单步调试观察 TQ2440上的变化了 现在只会按照别人的操作 ,具体为什么这样做,尤其对那些JTAG 比如 H JTAG JTAG Jlink ...还不清楚
[单片机]
S3C2440裸机------内存控制器
1.内存接口概念 GPIO和协议类接口:我们在配置GPIO或者协议类接口(uart I2C总线)时,对于CPU 来说,它不关心这些接口,它只是去操作这些寄存器,CPU通过配置相应的寄存器,然后由GPIO控制器或uart控制器发出特定的波形,CPU是根据地址去选择不同的寄存器,cpu配置寄存器时是通过内存控制器去配置的,cpu把地址发送给内存控制器, 然后由内存控制器根据地址去选择不同的模块,然后把数据发送给模块或者从模块中读取数据。CPU发出的数据并不会直接输出到外部接口,cpu只是把数据发送给了相应的寄存器。 内存接口:对于内存设备来说,CPU发出的地址可以直接传给内存类设备,内存类设备包括norfalsh, 网卡,SDRA
[单片机]
<font color='red'>S3C2440</font>裸机------内存控制器
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved