今天在宿舍学习的是S3C2440的系统时钟体系,这部分的难点不是很多,所以相对来说轻松点,但还是把感悟记录下来吧。
1.S3C2440的的时钟体系有哪些?它们分别有什么作用?
答:以前一直有个小疑问,你说,这CPU运行那么快,外部的设备运行的就比较慢,那它们的时钟源怎么匹配呢?哦,今天算是差不多弄清楚了。因为它们有不同的时钟源。就S3C2440来说,
它有三种时钟源:
(1)FCLK:用于CPU核。
(2)HCLK:用于AHB总线上的设备,比如CPU核存储器控制器、中断控制器、LCD控制器、DMA和USB主机模块等高性能的设备。
(3)PCLK:用于APB总线上的设备,比如WATCHDOG、IIS、I2C、PWM定时器、MMC接口、ADC、UART、GPIO、RTC和SPI等低速设备。
产生这些时钟源的简要流程可以这样描述:
(1)系统刚上电的时候,FCLK即等于外部输入的时钟。一般是12M或者24M的晶振。
(2)然后用软件的方式打开MPLL(锁相环电路,用于提高系统时钟频率),把12M或者24M的时钟频率提高到100-400M(针对于S3C2440)。
(3)再然后,通过设置一些寄存器,可以改变FCLK、HCLK、PCLk的时钟频率比例(比如说1:2:2)
这样,其他的两个时钟源也就提高了。
要明白的是,系统在运行的时候,是三个时钟源一起在工作,分别为不同的设备提供不同的时钟频率。当然,有些设备对这些频率还不是很“满意”、它会自己进行一些倍频或者分频的工作。
2.本质上,定时器的工作原理是什么?
答:定时器的工作原理简要说起来其实也很简单。就是利用系统给的时钟(一般是PCLK)进行计数,当数计满了,就会产生一次中断。我们想要所长时间进行一次中断,把这个数计算好就行了。
其他:在敲代码的过程中,发现一个小问题。书上说:就是在CPU在转到中断服务的时候,LR保存的是前一个工作模式的的即将执行的地址,就中断而言,是当前PC+4。可是给的代码例程里计算返回地址的时候用的是SUB lr,lr,#4—–是lr-4,这不又回到需要中断的指令了。有问题。
后来,查了一些资料才知道,可能是书上写错了,这是我摘自一篇博客的话:
IRQ异常发生时,因为这个异常是在指令执行时候发生的,PC的值等于当前执行指令加8,然后将这个值保存在LR中。但是LR寄存器中保存的是PC+8,指向的是后面的第二条指令,如果不进行减4处理,将会漏执行一条指令,所以PC恢复的时候就需要LR减4,所以正常从子程序返回的时候会使用如:
SUBS PC, LR,#4 返回到当前指令的下一条指令
关键字:ARM 时钟体系结构
引用地址:
ARM学习之时钟体系结构
推荐阅读最新更新时间:2024-03-16 16:09
ARM指令集----杂项指令
ARM指令集可以分为6类,即是跳转指令,数据处理指令,程序状态传输指令,Load、Store指令,协处理器指令和异常中断指令 跳转指令: 在ARM中有两种方式可以实现程序的跳转,一种是跳转指令,另一种是直接向PC寄存器写入目标地址的值 通过直接向PC寄存器写入目标寄存器的数字可以实现在4GB 地址空间的任意跳转,这种跳转又称为长跳转,如果在残肢令前面使用MOV LR,PC等指令,可以保存返回来的地址值,这样就实现了在4GB空间中的子程序调用 ARM的跳转指令可以从当前指令向前或者是向后的32位的地址进行空间跳转,这类跳转指令有一下4种 B 跳转指令 BL带换回的跳转指令 BLX 带返回的跳转和切换指令
[单片机]
ARM AMBA AHB-LITE协议理解
1.AHB总线的特性 主要包括四点:burst 传输,单时钟沿,非三态实现和支持的数据位宽为8/16/32/64/128一直到1024位,但是受限于cpu的总线位宽,如果是32位,则最多支持32位宽,关于Burst传输的含义从别处看到的,如下: Burst传输实质就是只发送一次地址,某些总线发送每个数据都要对应发送其地址。但是Burst传输就是提高了传输效率,在一次传输过程中,只发送一次地址。 但burst传输有应用限制,不是所有传输类型都适合burst传输,一般busrt传输应用在下面三种场景: Flash应用类型 只发送一次地址,之后地址自动累加,直到所有数据发送完成。 Cache应用类型
[单片机]
基于ARM7的蓝牙接入点的硬件系统结构和软件流程
本文着重介绍了蓝牙接入点的硬件系统结构和软件流程,并针对在工业现场上使用蓝牙接入点将阀门、流量计、温度变送器等几个蓝牙设备连接到工业以太网中,实现了带蓝牙通信模块的工业设备和现有的有线网络的通信。 1引言
在工业现场中,由于有些环境比较恶劣,布线不方便等因素可以采用蓝牙无线通信技术来实现数据的通信。同时,工业现场中有很多以不同方式互连的设备,其中包括非智能化简单数据连接单元 (I/O)、智能化设备 (比如智能传感器、单回路控制器和 PLC)和监控系统 (作为 HMI使用,用于数据记录和监控 )等。这些设备大都是以各种不同的通信协议和媒介来互连的,其中有些就可以用蓝牙无线技术代替。本文以 AT91R40008
[嵌入式]
ARM加入中国移动Open NFV实验室
中国移动宣布与UMCloud|Miran TI s 中国,ARM,Cavium和Enea等四家中国移动Open NFV实验室第三批合作伙伴签订MOU。这四家合作伙伴后续将在中国移动Open NFV实验室开展相关测试工作,针对多个NFV(网络功能虚拟化)典型场景和典型业务进行测试。 中国移动Open NFV实验室于2015年初成立,旨在为业界提供国际化、开放的测试环境。同时,此实验室也得到了OPNFV开源组织的认证,成为亚洲首个OPNFV开放实验室。2015年7月,中国移动与包括华为、红帽、风河在内的九家第一批合作伙伴签订MOU。2016年1月,中国移动再次与包括爱立信、华三在内的四家第二批合作伙伴签订MOU。实验室目前已有合作
[网络通信]
基于ARM9 AT91RM9200T的嵌入式网络接口设计
1 引言 当今时代设备网络化是当今科技发展的趋势。如何使用嵌入式系统将设备的远程控制、数据的远程传输数据转发到网络上呢?这里设计的是一个信息电器网络接口模块,并构建一个实现特定功能的嵌入式Web服务器,它可以对远程设备进行监控,用户可通过网络远程访问Web服务器来实现数据的采集和历史数据的查询,也可以通过各种接口对信息家电进行控制。另外,还可以根据需要添加新的控制功能, 而不需对Web服务器的框架进行大的改动。 2 硬件设计 本系统采用ATMEL公司生产的微处理器AT91RM9200T 。其处理速度可达200MIPS,同时它也具有USB、Earthnet、支持RS485的红外串口、IIC、SPI、SSC等丰富的片内资源。网口
[单片机]
ARM-Linux驱动--RTC(实时时钟)驱动分析
硬件平台:FL2440(S3C2440) 内核版本:Linux 2.6.28 主机平台:Ubuntu 11.04 内核版本:Linux 2.6.39 交叉编译器版本:arm-linux-gcc 3.4.1 原创作品,转载请标明出处 http://blog.csdn.net/yming0221/article/details/6584285 1、实时时钟概述 实时时钟(RTC)单元可以在断电的情况下使用纽扣电池继续计时工作。RTC使用STRB/LDRB ARM操作传输二进制码十进制数的8位数据给CPU。其中的数据包括秒、分、时、日期、天、月、年的时间信息。可以执行报警功能。 2、实时时钟操作 下面是RTC模块的电路图
[单片机]
ARM的综合实验设计
一、实验目的 学习做一个复杂的应用程序的方法和程序结构,结合应用以前16 次实验所学到的知识,编写一个比较综合的应用。 二、实验内容 用一个列表框作为主菜单,通过键盘可以选择功能,主要的功能有:显示bmp 文件、设定系统时间、USB 下载。同时,使用文本框控件作为系统的一个状态条,显示提示信息和系统的时间。 三、预备知识 1、用ARM SDT 2.5 集成开发环境,编写和调试程序的基本过程。 2、基于操作系统的应用程序的框架结构。 3、会使用Source Insight 3 编辑C 语言源程序 4、会使用消息循环响应键盘消息 5、会使用文本框控件和列表框控件 6、会编写通过USB 连接下载的程序 7、会控制系统的时钟和多线
[单片机]
浅谈arm处理器的优势
目前,世界正在向物联网、人工智能的潮流迈进,也随着物理网、人工智能技术上的发展与推进,微处理器技术也在不断革新,各种新型微处理器的应用也在不断深入。对于现阶段大量32位嵌入式应用的出现, ARM嵌入式技术广泛地使用在许多嵌入式系统设计。正因为ARM的处理器拥有众多优势,才得以如此广泛的应用。 体积小、低功耗、低成本、高性能 ARM处理器因为其体积小,不占空间,所以能够完美完成嵌入式环境下的应用,ARM针对嵌入式应用,同样保持着超强的性能,处于世界领先地位,不仅如此还力求做到最低的功率消耗。之前ARM还发布了一颗名为 “Cortex-M0” 的新处理器,最大的特色在于体积号称世界最小,耗电世界最低。ARM结构的优点是能兼顾到性能
[单片机]