ARM软件程序设计
时间:11-22
来源:互联网
点击:
1. 中断处理流程
ARM系统的中断处理流程如图1所示。系统中主要有定时器中断、串口输入中断、串口输出中断、接口中断、链路中断5种中断。
图1 申断处理流程图
其中:
·定时器中断模块主要是为操作系统提供时钟基准。
·串口输入和输出中断模块主要给用户提供接口,方便程序的下载与调试。
·接口中断模块负责每2ms与总线上其他板卡通信一次。
·链路中断模块也是每隔一段时间处理一次链路的数据,它的任务最重。
因此,应该将链路中断模块设置成∏Q快速中断方式,其他模块都设成IRQ普通中断方式。
2. 中断程序设计
正确、恰当地使用中断程序可以使嵌入式系统应用运行得更有效率,下面给出ARM中断测试的部分汇编源程序。测试程序开启T】定时器中断进行测试,通过中断服务程序使与PD0连接的LED指示灯闪亮。
(1)中断服务程序
3. 中断处理程序优化
将中断处理尽可能搬到内部RAM或SDRAM中,以前的中断处理函数代码放在Flash中,数据放在SDRAM中,Flash速度远慢于SDRAM,这是限制中断处理速度的一大瓶颈。现在可以通过改变编译配置,将所有的中断处理函数都复制到ARM内部RAM或者SDRAM中。一股情况下,内部RAM速度要快于外部的SDRAM,因此,可以修改以下编译配置文件。
如表所示是改编译环境前后的中断处理速度的对比,可是看出在SDRAM中代码的执行速度比在Flash中大约快4倍。
表 中断处理速度优化前后对比
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)