嵌入式系统基础之:ARM处理器硬件开发平台
电。
n 3.3V的存储器独立供电(通常对SDRAM采用3.3V,对移动SDRAM采用1.8/2.5V)。
n 3.3V的VDDQ。
n 3.3V的I/O独立供电。
由于在嵌入式系统中电源管理非常关键,它直接涉及功耗等各方面的系统性能,而S3C2410X的电源管理中独立的供电方式和多种模式可以有效地处理系统的不同状态,从而达到最优的配置。
5.中断控制
中断处理在嵌入式系统开发中非常重要,尤其对于从单片机转入到嵌入式的读者来说,与单片机中简单的中断模式相比,ARM中的中断处理要复杂得多。如果读者无相关基础,建议先熟悉相关的基础概念再进行下一步学习。
首先给出了一般的中断处理流程,如图4.13所示。
图4.13一般中断处理流程
S3C2410X包括55个中断源,其中有1个看门狗定时器中断、5个定时器中断、9个通用异步串行口中断、24个外部中断、4个DMA中断、2个RTC(实时时钟控制器)中断、2个USB中断、1个LCD中断和1个电池故障。其中,对外部中断源具有电平/边沿两种触发模式。另外,对于非常紧急的中断可以支持使用快速中断请求(FIQ)。
S3C2410X的中断处理流程(该图摘自S3C2410X用户手册)如图4.14所示。
图4.14S3C2410X中断处理流程
图中的SUBSRCPND、SRCPND、SUBMASK、MASK和MODE都是与中断相关的寄存器,其中SUBSRCPND和SRCPND寄存器用来表示有哪些中断被触发了和是否正在等待处理(pending);SUBMASK(INTSUBMSK寄存器)和MASK(INTMSK寄存器)用于屏蔽某些中断。
图中的“Requestsources(withsub–register)”表示的是INT_RXD0、INT_TXD0等11个中断源,它们不同于“Requestsources(withoutsub–register)”的操作如下:
(1)“Requestsources(withoutsub–register)”中的中断源被触发之后,SRCPND寄存器中相应位被置1,如果此中断没有被INTMSK寄存器屏蔽、或者是快中断(FIQ)的话,它将被进一步处理。
(2)对于“Requestsources(withsub–register)”中的中断源被触发之后,SUBSRCPND寄存器中的相应位被置1,如果此中断没有被SUBMSK寄存器屏蔽的话,它在SRCPND寄存器中的相应位也被置1。在此之后的两者的处理过程是一样的。
接下来,在SRCPND寄存器中,被触发的中断的相应位被置1,等待处理。
(1)如果被触发的中断中有快中断(FIQ)——MODE(INTMOD寄存器)中为1的位对应的中断,则CPU的FIQ中断函数被调用。注意:FIQ只能分配一个,即INTMOD中只能有一位被设为1。
(2)对于一般中断IRQ,可能同时有几个中断被触发,未被INTMSK寄存器屏蔽的中断经过比较后,选出优先级最高的中断,然后CPU调用IRQ中断处理函数。中断处理函数可以通过读取INTPND(标识最高优先级的寄存器)寄存器来确定中断源是哪个,也可以读INTOFFSET寄存器来确定中断源。
ARM处理器 ARM9 嵌入式系统 哈佛结构 S3C2410 相关文章:
- 关于对ARM处理器中“8位位图”的理解(12-01)
- ARM处理器工作模式(11-28)
- ARM处理器模式介绍和模式切换(11-28)
- ARM处理器的总线信号(11-27)
- 选择ARM处理器,ARM7还是Cortex-M3(11-27)
- GNU ARM汇编--(三)ARM处理器的基本原则(11-26)