APP下载

基于MPC8548E 的通用嵌入式计算机平台系统软件研究和实现

2014-01-03李文光

电子测试 2014年2期
关键词:计算机软件嵌入式代码

李文光

(灯塔市中等职业技术专业学校,111300)

0 前言

如今,我国对计算机软件的开发越来越重视,这也导致软件的开发过程越来越复杂,而嵌入式系统软件的开发是软件开发中的重要组成部分。但随着人们对计算机软件的不断需求,对嵌入式计算机系统软件开发的改革与创新势在必行。然而,通用嵌入式计算机平台的出现,使得计算机的系统更加完善。通用嵌入式计算机软件的开发环境有很多,以MPC8548E 为主要基本结构的通用嵌入式计算机软件是其中的重点。本文通过对基于MPC8548E 的通用嵌入式计算机系统平台软件进行整体描述,重点研究嵌入式计算机软件的共同需求、系统软件开发的基本结构设计以及软件开发系统的程序设计的实现。

1 通用嵌入式平台系统软件的共同需求

通用嵌入式计算机软件的共同需求主要分为两类,分别为基于平台的计算机软件需求和基于开发的计算机软件需求。下面对这两类需求进行分析与总结:

1.1 对于平台系统的共同需求

对于通用嵌入式的平台来说,其计算机系统软件的共同需求分别为:①通用嵌入式系统的可行性需求,由于嵌入式系统随着科学技术的进步,其功能也逐渐强大,系统的稳定性较差,因此,系统在运行时需要对其的可行性进行研究;②嵌入式系统还需要对其性能加以要求,包括其存储数据的能力、计算数据的能力以及吞吐量等;③平台系统还需要拥有较多的数据接口,对软件的开发只应用API 接口;④系统平台要求减少对能源的使用率,并且在一定程度上增加系统的运行时间;⑤嵌入式系统平台需要拥有较大的发展空间,这就要求系统需要一个较为开放的平台体系结构。

1.2 对于开发系统的共同需求

通用嵌入式系统除了拥有在平台上的需求外,还应该有开发方面的需求。嵌入式系统软件在开发方面的要求主要有:①建立良好的系统开发环境,主要应用合理的开发语言对嵌入式系统软件进行集成化的开发;②将平台上的特点运用到系统的开发中,使用嵌入式操作系统对平台软件进行开发,可以有效的达到系统中API 接口的要求与多重设计的要求。

2 基于MPC8548E 的通用嵌入式软件的设计方案

嵌入式平台系统软件的建立主要分为开发软件的工具、嵌入式操作系统、开发系统的驱动设备、以及系统运行与维护的设备四种。这四种是软件开发平台的基础,也是组成整体嵌入式系统软件开发的重要部分。

2.1 嵌入式系统平台的开发架构

开发工具链是开发系统的重要组成部分。其中主要有Tornado、bootloader 系统调试工具、FPGA、CPLD、DSP 等一系列的开发工具。对于基于MPC8548E 的通用嵌入式开发平台,需要对bootloader 的调试工具选择Freescale CodeWarror。而对于FPGA 和CPLD 来说,只适用于对专门的平台进行开发使用。系统平台的板级支持包主要作用于对系统功能进行管理,并为系统程序与硬件的连接提供专门的数据接口,分为bootloader、VxWorks 映像和驱动三个方面。而系统维护的设备主要是维护系统编码的安全性能等。系统的测试设备是对系统功能的实现进行测试的主要工具。

2.2 BSP 的设计

2.2.1 BSP 的构造

BSP 的具体构造以及与其有关的数据代码:

图1 BSP 的数据代码及其构造图

/target/h 目录为VxWorks 的头文件,/target/lib 目录为VxWorks 的函数库,/target/src 目录为部分驱动程序代码及其模板,/target/unsupported 目录为不支持的参考代码。

2.2.2 BSP 的开发过程

BSP 的开发过程主要分为六个阶段;①设计计划,计划嵌入式计算机设计平台的整体结构及其实现过程;②应用仿真技术对开发工具进行设计;③对系统中的数据值进行分析,实现MPC8548E 的网络驱动程序;④实现外围设备的驱动;⑤对嵌入式系统进行调试并改善系统的功能;⑥对软件进行售后维修及升级等。

2.3 系统维护

系统维护工具主要是代码固化。嵌入式系统软件的代码固化是嵌入式开发过程中的重要部分,代码固化分为平台软件固化和应用软件固化两种。基于平台的软件固化中,被固化的代码有bootloader、VxWorks,FPGA 的BIN 文件、DSP 的BIN 文件。基于应用的软件固化中的代码主要有VxWorks、FPGA 的BIN 文件、DSP 的固化文件、应用程序的固化文件。

在应用Nor Flash 当作代码固化的存储空间的分配形式为:

图2 代码固化存储空间图

为了减少代码固化情况,系统为固化的代码增加一项Daemon 任务,Daemon 任务的启动函数C 代码原型如下:

void InitUsrDaemon(void);

另外,代码固化工具还可以选择函数库方式:

int FlashFiIe(

unsigne int v_addr,//固化Flash 的有效地址

const char *v_fn, //存储文件名

);

3 基于MPC8548E 的通用嵌入式计算机的实现

3.1 嵌入式引导模式实现

为了维护嵌入式系统,设计了bootloader 的系统引导形式,可以对系统的实现模式进行引导,引导模式的应用代码有bootConfig.c 的改动和参数配置工具库实现。

对于bootConfig.c 的改动:

(1)增加功能函数:

LoadModuleVxWorks (int v type,//加载的VxWorks 类型0-BSP,1-用户

FUNCPTR*pEntiy//返回的入口函数地址

);

(2)在bootCmdLoopO 中增加命令“X”和“X”,当操作员在bootloader

命令行键入这两个字母的任意一个时,即调用函数

LoadModuleVxWorks(0)加载平台BSP VxWorks。

(3)在bootCmdLoopO 中,调用 getBootParams ()加载启动参数。

3.2 固话功能实现

固化功能实现的函数主要以DaemonO 函数为主,DaemonO函数的字符串数组有四个文件,主要代码形式为:

char*s—fh_str[4]={

FPGA 一FILE NAME, // App FPGA.bin

DSP_FILE_NAME, // App DSP.bin

USER VXWORKS FILE NAME, // App VxWorks

APP—OUT—FILE—NAME// App.out

4 结语

通过对基于MPC8548E 的通用嵌入式计算机平台系统软件与系统的实现进行研究,可以发现,嵌入式计算机软件的构造系统非常复杂,研究人员需要在现有软件系统的基础上,进行创新与改革,使嵌入式系统软件更加适应社会的需求。

[1] 孔祥营,柏桂枝.嵌入式实时操作系统VxWorks 及其开发环境Tornado[M].北京:中国电力出版社,2010.

[2] 马学国.正确理解资产减值准则[J].2010,5(3):82-86.

[3] 姜兆义,戴金海..嵌入式系统集成开发环境研究[J].电脑与信息技术,2012,2(2):98-104.

猜你喜欢

计算机软件嵌入式代码
TS系列红外传感器在嵌入式控制系统中的应用
创世代码
创世代码
创世代码
创世代码
基于C语言的计算机软件编程
搭建基于Qt的嵌入式开发平台
浅谈不同编程语言对计算机软件开发的影响
浅谈基于C语言的计算机软件程序设计
嵌入式软PLC在电镀生产流程控制系统中的应用