基于 ARM 的嵌入式程序开发要点
ARM-CHINA-040415A
基于 ARM 的嵌入式系统程序开发要点(一)
—— 嵌入式程序开发过程
ARM®系列微处理器作为全球 16/32 位 RISC 处理器市场的领先者,在许多领
域内得到了成功的应用。近年来,ARM 在国内的应用也得到了飞速的发展,越
来越多的公司和工程师在基于 ARM 的平台上面开发自己的产品。
与传统的 4/8 位单片机相比,ARM 的性能和处理能力当然是遥遥领先的,但
与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了。
本文旨在通过讨论系统程序设计中的几个基本方面,来说明基于 ARM 的嵌入式
系统程序开发的一些特点,并提出和解决了一些常见的问题。
文章分成几个相对独立的章节刊载。第一部分讨论基于 ARM 的嵌入式程序
开发和移植过程中的一些基本概念。
1.嵌入式程序开发过程
不同于通用计算机和工作站上的软件开发工程,一个嵌入式程序的开发过程
具有很多特点和不确定性。其中最重要的一点是软件跟硬件的紧密耦合特性。
(不带操作系统支持) (带操作系统支持)
图-1:两类不同的嵌入式系统结构模型
这是两类简化的嵌入式系统层次结构图。由于嵌入式系统的灵活性和多样
性,上面图中各个层次之间缺乏统一的标准,几乎每一个独立的系统都不一样。
这样就给上层的软件设计人员带来了极大地困难。第一,在软件设计过程中过多
地考虑硬件,给开发和调试都带来了很多不便;第二,如果所有的软件工作都需
要在硬件平台就绪之后进行,自然就延长了整个的系统开发周期。这些都是应该
从方法上加以改进和避免的问题。
为了解决这个问题,工程和设计人员提出了许多对策。首先在应用与驱动(或
API)这一层接口,可以设计成相对统一的一些接口函数,这对于具体的某一个
开发平台或在某个公司内部,是完全做得到的。这样一来,就大大提高了应用层
应用(Application)
驱动/板级支持包
(Driver/BSP)
硬件(Hardware)
应用(Application)
硬件抽象层(HAL)
硬件(Hardware)
操作系统(OS)
标准接口函数(API)