嵌入式软件的移植

来源:互联网 发布:mysql怎么优化sql语句 编辑:程序博客网 时间:2024/04/30 07:02

首先明白嵌入式软件的体系结构分为四个层次:设备驱动层、操作系统层、中间层和应用软件层。

嵌入式软件的移植分两类:

    1.无操作系统的软件移植,2.有操作系统的软件移植

无操作系统的软件编写应该尽量做到“模块化”,“层次化”

 

有操作系统的软件移植主要工作集中在:引导加载程序bootloader、设备驱动程序以及操作系统中与处理器密切相关的部分代码。

 

应用软件的移植通常含义是:将应用软件从一个操作系统平台移植到另外一个操作系统平台。一个应用软件的实现涉及到两方面:

(1)这个应用软件是用哪种编程语言来编写?

(2)这个应用软件是要在哪个操作系统平台运行的?因为不同的操作系统平台所向上提供的API是不同的。

-------------------------------------------------------------------------------------------------

为了提高应用程序的可移植性应该遵守一些原则:

(1)在软件设计上,层次化与模块化设计

(2)在软件体系结构上,可以在操作系统与应用软件之间引入一个虚拟机层,或者叫操作系统抽象层。把一些通用的共性的操作系统API接口函数封装起来。

(3)在功能服务的调用上,尽量使用可移植的函数,如标准的C语言函数,或者是自己编写的函数,尽量不使用依赖于特定操作系统的API函数。比如C库函数中的fopen(),尽量不使用操作系统提供的open()。

(4)在数据类型上,尽量不使用int ,char等,一般使用宏定义,将其定义成一组可移植的数据类型。

(5)将不可移植的部分局域化。例如,将不可移植的部分代码宏定义成模块获其他,这样就容易找到我们程序中不可移植的部分,否则程序中到处散布着不可移植的代码将使得移植工作繁重而麻烦,也容易出错。

原创粉丝点击