当前位置:智城范文网>范文大全 > 征文 > 嵌入式应用软件设计

嵌入式应用软件设计

时间:2022-03-24 09:12:31 来源:网友投稿

摘要:嵌入式计算机是随着微处理器的应用而快速发展起来的,嵌入式系统是嵌入到对象体中的专用计算机系统。嵌入式系统的广泛应用和发展潜力使其成为21世纪的应用热点之一。该文以嵌入式图像软件设计为主,重点研究和实现了嵌入式图像软件中的Windows CE的笔触输入功能、二维图形界面、显示图像、距离测量和角度测量。设计的实现是基于开发环境EVC4.0,用Windows SDK编写程序,以提供最佳的性能、最强大的功能和最大的灵活性。

关键词:嵌入式系统;EVC4.0;SDK;距离测量;角度测量

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)09-2166-03

The Design of Embedded Application Software

WANG Li-li, SU Li-xian

(Xi"an University of Architecture and Technology, Xi"an 710055, China)

Abstract: With the application of microprocessor, embedded computers develop very quickly. Embedded system is special computer system which is embedded into the object body. Widespread application and the development potential of embedded system cause it to become one of the 21st century"s hot application. This paper focuses on the design of embedded graphic software, researching and implementing pen touch input function of Windows CE of embedded graphic software; 2D graphical interfaces; displaying image; distance measurement and angle measurement. The realization of the design is based on the development environment EVC4.0 and Windows SDK. This approach offers you the best performance, the most power, and the greatest versatility in exploiting the features of Windows.

Key words: embedded system; EVC4.0, SDK; distance measurement; angle measurement

20世纪70年代,微处理器的出现,计算机出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。

由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。

如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20世纪末,计算机的高速发展时期。 嵌入式计算机系统走单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。

1 嵌入式系统概述

1.1 嵌入式系统定义

嵌入式系统(Embedded System),一般是指嵌入到对象体系中执行专用功能的计算机系统。嵌入式系统诞生于微型机时代,其嵌入性的本质是将一个计算机嵌入到一个对象体系中去;对象系统则是指嵌入式系统所嵌入的宿主系统。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。嵌入式系统通常由嵌入式硬件和软件两部分组成。一个简单的嵌入式系统可以由微控制器或单片机及嵌入式软件组成。

1.2 嵌入式系统的特点

通过嵌入式系统的定义,可知一个嵌入式系统,通过嵌入式系统的定义,可知一个嵌入式系统,应该满足的三个基本要素,即“嵌入性”、“专用性”与“计算机系统”。它与通用计算机系统相比,一般具有以下的特点。

1) 实时性要求。许多嵌入式系统对系统响应时间有要求, 其软件和硬件设计必须满足实时性, 以保证系统在允许的时间内完成任务;

2) 系统体积小型化、功能专业化;

3) 软件的固化特性。

1.3 嵌入式实时软件的开发

嵌入式实时软件是应用程序和操作系统两种软件的一体化程序。在嵌入式实时系统中, 应用程序和操作系统两种软件界限并不明显。这是因为, 不同的应用系统配置差别较大, 所需操作系统繁简不一, IO 操作也不标准, 这部分驱动软件常常由应用程序提供。这就要求采用不同配置的操作系统和应用程序链接装配成统一的运行软件系统。所以, 嵌入式实时软件的开发应该在系统总设计目标的指导下将它们综合加以考虑、设计与实现。

1.4 嵌入式实时软件的交叉开发环境

嵌入式实时软件的开发需要独立的开发平台。由于嵌入式实时应用系统的软件开发受到时间、空间开销的限制, 常常需要在专门的开发平台上进行软件的交叉开发, 开发平台称为宿主机, 应用系统称作目标机。宿主机可以是与目标机相同或不相同的机型, 这种不同机型的开发平台又称作交叉式开发系统。显然在这种独立的实时软件开发系统上应配备完整的实时软件开发的工具, 如高级语言编译器(C/C++语言等)、ROM仿真器(ROM Emulator)、芯片仿真器(On Chip Emulator) 和在线仿真器(In-Circuit Emulator)等。

从国际上来看, 当前现代软件技术的发展已经进入自动化、图形化开发阶段。图形化嵌入式软件开发平台已经问世, 如德国的BlueRiver 公司的V32、E32、X32和O32开发平台。用户通过功能强大的系统级图形化软件开发工具对所开发的项目进行描述, 建立整套系统的模型。因此, 只要建立起正确的系统模型, 利用好的图形化开发工具就可以根据该模型生成C/C++/Java语言的源代码, 提供完善的系统流程图、标准化的软件说明文档, 甚至可对系统功能进行模拟仿真, 从而极大地提高了软件产品的开发效率。

2 嵌入式图像软件设计

2.1 软件开发平台和环境

本文是在SDK(Software Development Kit)平台下创建Windows窗口程序来实现图像软件的设计。SDK包含了进行Windows软件开发的文档和API函数的输入库、头文件(因为API在动态链接库中,这些动态链接库是系统的组成部分因此不用再提供,而输入库和头文件则必须,这样才能在程序中使用API函数)。程序开发环境使用的是EVC4.0,本文程序使用C语言编写并使用Windows API来开发程序。Windows程序能够充分利用图形和格式化文字进行显示。图形界面不仅在外观上更有吸引力,而且还能够让使用者传递高层次的信息。

2.2 二维图像界面

窗口的实现:Windows程序在显示窗口之前, 必须调用RegisterClass函数为窗口注册一个窗口类。然后初始化该结构的10个域, 作为参数传给RegisterClass。为调用RegisterClass函数,需要先定义一个WNDCLASS结构, 然后初始化该结构的10个域:

wc.style= CS_HREDRAW | CS_VREDRAW;

wc.lpfnWndProc= (WNDPROC) WndProc;

wc.cbClsExtra= 0;

wc.cbWndExtra= 0;

wc.hInstance= hInstance;

wc.hIcon= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HELLO02));

wc.hCursor= 0;

wc.hbrBackground= (HBRUSH) GetStockObject(WHITE_BRUSH);

wc.lpszMenuName= 0;

wc.lpszClassName= szWindowClass;

在这些结构中最重要的两个域是第二个和最后一个。第二个域(lpfnW ndProc)是所有基于该窗口类创建的窗口所使用的窗口函数的入口地址(例如:wndclass.lpfnW ndProc=W ndProc);最后一个域是该窗口类的名称,正是通过这个域将“ 窗口”与其响应的“ 窗口类”联系起来。窗口类定义了窗口的一般特征,而窗口与显示关系比较密切的一些细节特征尚未指定。因此,给予同一窗口类可以创建多个不完全相同的窗口,这一工作在CreareW indow 函数中完成。把已经创建的窗口显示出来, 调用API函数ShowW indow (hwnd,nCm dShow); 调用UpdateWindow()之后,窗口就显示完毕。

二维图像界面:二维图像界面的显示是在WM_ WM_CREATE消息中调用CreateWindow创建窗口,并指定有关窗口的更详细的信息来实现的。

2.3 图像距离和角度的测量

图像数据类型转换和导入:本文进行分析的数据是通过扫描设备得到的以.raw为后缀的图像,raw是未经处理、也未经压缩的图片格式,记录了由拍摄所产生的一些原数据的文件。Raw的特色在于保存了最原始的CCD数据, 记录的是最原始最真实的信息,不做修饰和更改,为后期制作留下了广阔的可操作性。由于本文需要对图像进行类型调整,并对图像的画质要求比较高,所以选择raw格式的图像,然后通过给.raw为后缀的图像加入文件头来改变图像的类型,以适应系统程序的需求。

加入文件头的图像是由文件头和文件数据两部分组成。给图像加入的文件头数据结构中,它包含算法所要用到的一些图像的属性信息。本文算法中其结构定义如下:

struct myDataHead

{

short x; // 图像的长

short y; // 图像的宽

short z; // 图像的层厚

short sBitCount; // 图像中的一个像素所占位数

} FileHead;

程序中显示出来的图像均为加入文件头的新类型文件.tu。

数据的读入先打开evc中的Tools里的Remote File Viewer,在Remote File Viewer中的File中打开Export File,在Export File中导入xxx.tu格式的数据文件。在evc中执行程序后会显示二维图形界面,在图形界面中打File中打开File open 导入刚才导入的xxx.tu数据文件后就会显示图形(如图1)。

多折线距离的测量:直角三角形中,直角的两邻边的平方和等于对边的平方和,即:X*X+Y*Y=Z*Z。

本设计中正是应用这个原理先定义一个数组,把折线中鼠标左键点的点放到数组中,然后点鼠标右键算出数组中两点两点之间打距离最后相加得出多折线的距离(如图2)。

角度的测量:

在三角函数中有公式cosa=x.y/x+y。

所以,a=arc(cos x.y/x+y)。

本设计中角度的计算用的就是这个公式,用两个像素点之间x的坐标差和y的坐标差算出长度从而算出角度(如图3)。

2.4 使用WindowsCE的笔触输入功能

WindowsCE的笔触输入功能在pc中设计时相当于pc鼠标的左右键,例如case WM_LBUTTONDOWN、case WM_LBUTTONUP、case WM_MOUSEMOVE等程序中涉及的鼠标功能就是WindowsCE的笔触输入功能。如图4既WindowsCE的笔触输入功能的使用。

3 结束语

虽然嵌入式系统是当前最热门最有发展前途的IT应用领域之一。但是嵌入式系统还有其发展的缺陷,主要可以归纳为几点:1) 目前嵌入式操作系统针对不同领域、不同的硬件平台其种类比较繁多,各有所长。这种百花齐放的现状对科技的发展是一种促进作用,但同时从地区、国家信息产业宏观发展的角度来看却带来了建设成本的增加;2) 与计算机高级软件不同的是,目前面向领域的、面向硬件平台的嵌入式系统第三方软件相对很少。究其原因有两点,一是嵌入式软件刚刚开始大规模发展,正处于快速增长时期;而是如上面第1点所分析的嵌入式基础软件过于分散。随着嵌入式系统基础软件的主流化,针对主流的嵌入式基础软件开发面向领域的、面向硬件平台的嵌入式系统第三方软件如构件库、各种设备驱动库等将是一个重要的嵌入式软件产业,也将加速嵌入式软件的发展与应用,进一步降低嵌入式系统的开发成本。因此,在引导嵌入式基础软件向主流嵌入式基础软件发展的同时,应当引导和鼓励第三方嵌入式软件的发展。

参考文献:

[1] 李永红. 基于SDK的软件设计方法[J].科技情报开发与经济,2006(6).

[2] 电子科技大学计算机学院. CRTOS x86/pm嵌入式实时操作系统原理与应用设计[M]. 增补版.成都:电子科技大学,2000.

[3] 肖芳雄,熊光泽.面向对象和模式在嵌入式软件中的应用[J].计算机工程,2003,12(29).

[4] 魏忠.嵌入式开发详解[M].北京:电子工业出版社,2003.

[5] 何立民.嵌入式系统的定义与发展历史[J].单片机与嵌入式系统,2004(1).

[6] 沈绪榜, 何立民. 2001嵌入式系统及单片机国际学术交流会论文集[C].北京:航空航天大学出版社,2001.

[7] 邢涛,叶景楼,任永昌.嵌入式产业发展研究[J].技术经济,2005(11).

[8] 谢锘. 嵌入式系统的发展现状和展望[J].无线电通信技术,2003(2).

[9] 石秀民,魏洪兴. 嵌入式系统原理与应用[M].北京:北京航空航天大学出版社,2007.

[10] 任伟,张毅,聂捷楠.基于嵌入式系统开发平台的设计与实现[J].微计算机信息,2006(29).

[11] 向世明.Visual C++数字图像与图形处理[M].电子工业出版社,2003.

推荐访问: 嵌入式 应用软件 设计

版权所有:智城范文网 2010-2025 未经授权禁止复制或建立镜像[智城范文网]所有资源完全免费共享

Powered by 智城范文网 © All Rights Reserved.。粤ICP备20058421号