background image

ADS 的一个工具)等,在调试阶段所用的 Multi-ICE 等。同时,不同的嵌入式操作系统往往
会有配套的开发工具,比如

Vxworks 有集成开发环境 Tornado,WindowsCE 的集成开发环

WindowsCE Platform 等。此外,不同的处理器可能还有对应的开发工具,比如 ARM 的常

用集成开发工具

ADS、IAR 和 RealView 等。在这里,大多数软件都有比较高的使用费用,但

也可以大大加快产品的开发进度,用户可以根据需求自行选择。图

4.16 是嵌入式开发的不

同阶段的常用软件。

§

1.2  嵌入式开

发不同阶段的常

用软件

嵌 入 式 系

统 的 软 件 开 发 与
通 常 软 件 开 发 的
区 别 主 要 在 于 软
件 实 现 部 分 , 其
中 又 可 以 分 为 编
译 和 调 试 两 部 分 ,
下面分别对这两部分进行讲解。
1.交叉编译
     嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在
另一个平台上执行的代码。在第

3 章中已经提到,编译的最主要的工作就在将程序转化成运

行该程序的

CPU 所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不

同的

CPU 需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不

CPU 的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的

某一个

CPU 平台上运行。嵌入式系统交叉编译环境如图 4.17 所示。

图 4.17  交叉编译环境

 小知识

    与交叉编译相对应,平时常用的编译称为本地编译。

     这里一般将进行交叉编译的主机称为宿主机,也就是普通的通用 PC,而将程序实际的
运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资
源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其