微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式系统集成开发平台的设计与实现

嵌入式系统集成开发平台的设计与实现

时间:01-15 来源:3721RD 点击:

0引言

嵌入系统开发已经趋于规范化,但是嵌入式系统的开发并不像在普通PC机上进行软件开发那样容易,它同样需要一个高度集成的开发平台,来降低开发的难度。目前市场上的嵌入式系统集成开发平台特点是: ( 1)多数嵌入式系统集成开发平台都是以Windows为系统环境,很少有以Linux为系统环境的;( 2)部分集成开发平台具有一定的开放性,许多功能作为插件供用户选择; ( 3)多数集成开发平台通用性较差,仅支持一个或者几个系列的微处理器; ( 4)目前嵌入式系统集成开发平台产品大都价格昂贵; ( 5)很少有集成开发平台集成有图形模块支持的功能。

为了解决其它嵌入式集成开发平台的缺点,本文研究了嵌入式系统可视化集成开发平台,ESGIDE ( Embedded system graphical integrated development environment),其最大特点是具有图形化人机交互功能和ARM CPU工作方式自动初始化。所谓图形化人机交互,是指把将要裁剪和配置的系统级软件(比如bootloader、kernel、通用I /O输入、输出等)化整为零,封装成不同功能的形象化图形模块,开发者根据自己开发的系统需要,选择不同图形模块,动态生成bootloader、kernel、I /O等系统级的源代码,不需要开发者自己输入,这大大简化了开发步骤,减轻了程序员的负担,减少了操作的复杂度,提高了开发效率。另一方面,ARM系列CPU应用比较广泛,不同型号的CPU在开发时需要对使用的内部资源进行初始化。传统的做法是开发者确定工作方式,确定工作方式字,然后手动编程。我们采用开发模式是:以定时器应用为例,将定时器的个数,工作方式确定,时钟频率的确定,是否允许中断等编写成对话框模式,开发者只要选中其中的方式,初始化控制字自动生成,编写代码自动生成,同样大大简化了开发步骤,减轻了程序员的负担。

面向对象技术是当前实现软件模块化、提高软件复用性最优的方法,现在成为计算机领域中的一种主流技术,本文提出利用面向对象的技术来设计一种嵌入式软件IDE,对嵌入式软件开发中的各个对象的类进行分析与设计,架构一个通用的开发模型,根据硬件配置自动产生基本的系统软件方案。只需要系统中的每个对象类的属性及其操作设置,自动搭建交叉编译环境,降低操作系统裁减和移植的难度,产生驱动程序的基本框架。开发人员只需要配置好各个模块的基本信息,将更多精力集中在系统的应用上。

1嵌入式软件的开发流程

与常见的PC和服务器软件不同,嵌入式软件主要是对设备内部各部分的运行进行协调,并不与设备使用者发生直接接触。PC和服务器软件的运行环境是标准化的,而嵌入式软件的运行环境随电子设备的不同而改变,必须针对不同的电子产品进行专门的设计、开发和优化。由于嵌入式Linux操作系统在嵌入式开发中占据了主流,因此本文围绕针对移植有Linux操作系统的嵌入式开发流程进行讨论。

典型的基于嵌入式Linux操作系统的嵌入式软件开发流程如下[1]:( 1)获取硬件系统的信息:如选取的微处理器体系,Flash型号、网卡型号及其他外设的信息等;( 2)建立交叉编译工具:一般的GCC工具都是针对X86体系的,为了能够生产目标板执行的代码必须建立交叉编译工具;( 3)开发Bootloader:建立启动系统的主引导程序;( 4)移植Linux内核:如基于Linux2.6内核移植;( 5)开发一个根文件系统:如rootfs的制作;( 6)开发特定硬件的驱动程序:如LCD,Keypad等;( 7)开发上层的应用程序:如QT GUI开发。

对于开发过程的各个环节,有的提供了辅助的开发工具,有的需要完全依赖经验手工从底层开发,嵌入式软件开发依然停留在手工作坊式的方式,很难做到工程化管理。本文所设计的IDE将涵盖整个开发的各个重要环节,力求最大程度上降低开发难度,在集成化开发环境里完成主要工作。

2 IDE面向对象的分析与设计

对于运行嵌入式Linux操作系统的系统,根据其开发流程,利用面向对象技术分析设计出6个基本的大类,并给出对象之间的协作关系图,如图1、图2所示。这几个大类贯穿了嵌入式软件开发的重要环节。

图1嵌入式软件IDE基本类

图2基本对象类的协作图

硬件系统信息类,承载了硬件系统的描述信息,比如选取何种体系的微处理器,处理器的工作频率设置,采用何种启动方式,是NandFlash,还是NorFlash或者EPROM等,用户通过设定这些参数,其他对象将获取其中的信息进行配置。

嵌入式开发需要交叉编译,Linux环境下一般就是采用开源Gcc系列进行配置,环境搭建类管理交叉编译链的源代码,根据体系架构的信息自动生成运行脚本

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top