面向具体应用的嵌入式开发决定了嵌入式开发的方法、流程各有不同,这里仅给出一般的嵌入式开发的具体过程:
1.嵌入式软件开发的特点和技术挑战
2.嵌入式软件开发环境
3.嵌入式应用软件开发的基本流程
4.嵌入式软件开发的可移植性和可重用性
嵌入式开发环境组成
嵌入式系统应用软件的开发属于跨平台开发,因此需要一个交叉开发环境。
交叉开发是指在一台通用计算机上进行软件的编辑编译,然后下载到嵌入式设备中运行调试的开发方式,它通常采用宿主机/目标机模式。用来开发的通用计算机可以选用比较常见的PC机 等,运行通用的Windows等操作系统。
开发计算机一般称宿主机,嵌入式设备称为目标机,在宿主机上编译好的程序,下载到目标机上运行,交叉开发环境提供调试工具对目标机上运行的程序进行调试。
交叉开发环境一般由运行于宿主机上的交叉开发软件、宿主机到目标机的调试通道组成。
运行于宿主机上的交叉开发软件最少必须包含编译调试模块,其编译器为交叉编译器。作为宿主机的一般为基于x86体系的桌上型计算机,而编译出的代码必须在目标机处理器体系结构上运行,这就是所谓的交叉编译了。在宿主机上编译好目标代码后,通过宿主机到目标机的调试通道将代码下载到目标机,然后由运行于宿主机的调试软件控制代码在目标机上运行调试。
远程调试结构图如下:
基于交叉开发环境的嵌入式应用软件开发主要分如下几个步骤:
嵌入式应用软件开发的基本流程
软件模拟环境也称为指令集模拟器IIS(Instruction Set Simulator),在很多时候为保证项目进度,硬件和软件开发往往同时进行,这时作为目标机的硬件环境还没有建立起来,软件的开发就需要一个模拟环境来进行调试。
模拟开发环境建立在交叉开发环境基础之上,是对交叉开发环境的补充。这时,除了宿主机和目标机之外,还需要提供一个在宿主机上模拟目标机的环境,使得开发好的程序直接在这个环境里运行调试。
提高应用软件的可移植性和可重用性的方法: