微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM软件程序设计

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倍。

  表 中断处理速度优化前后对比

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top