1.7 嵌入式系统开发
1.嵌入式系统开发的特点
● 需要交叉开发环境;
● 引入任务设计方法;
● 需要固化程序;
● 软件开发难度大。
2.嵌入式系统开发的流程
嵌入式软件的开发必须将硬件、软件、人力资源等集中起来,并进行适当的组合以实现目标对功能和性能的需求。嵌入式系统开发流程(如图1-12所示)与通用软件的开发流程大同小异,但开发所使用的方法有一定的差异。
图1-12 嵌入式系统开发流程图
(1)需求分析阶段
分析客户需求,并将需求分类整理。在需求分析的过程中,采用成熟、易于二次开发的系统有利于节省时间,从而以最短的时间面市。
(2)设计阶段
● 数据流分析;
● 任务划分;
● 定义任务间的接口。
(3)生成代码阶段
● 代码编程;
● 交叉编译和交叉链接;
● 交叉调试;
● 测试。
3.嵌入式系统开发的新变化
嵌入式系统的功能在不断地增强,在系统变得越来越复杂同时又面临体积小型化、功耗足够低,在软件方面也要求代码的精简高效。这些都给嵌入式开发人员带来了很多挑战,寻找一种更加方便简单同时效果更好的开发方式成为关键。嵌入式图形开发工具应运而生,例如,美国国家仪器(NI)公司研制开发的LabVIEW和IAR公司的visualSTATE。
类似于C和BASIC语言开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言编写程序,产生的程序是框图的形式。图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,可以增强构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
IAR公司的visualSTATE是一组高级基于状态机的嵌入式设计工具套件,专门用于开发高质量的嵌入式系统软件,可适用于汽车电子、便携式电子产品、家电和人机界面等不同行业领域。在这个平台上,我们只需从系统出发,像画状态图似地利用图形把我们系统的功能实现,visualSTATE能够自动地生成我们需要的程序代码。它可以使软件开发者设计出紧凑的、无缺陷的嵌入式代码,这些应用代码可以简化到数百个字节,也可以复杂到控制数千个设备。这些代码可以应用到传统的嵌入式开发平台上供我们使用,并且可以和传统嵌入式开发平台进行连接调试,使调试过程更加方便清晰。