 
- UID
- 864567
|

嵌入式系统由上到下可以分为四个层次:即应用软件层、系统软件
嵌入式系统的开发流程及特点:
嵌入式系统的开发可以分为六个阶段:产品定义、硬件与软件划分、迭代与实现、软硬件的详细设计、硬件和软件集成和系统测试与发布。
产品定义:需要对产品的需求进行分析、细化、模块化,最后抽象出所需要的功能列表,这个步骤类似于软件工程的需求分析;
硬件与软件部分划分:需要确定哪些部分由软件实现哪些部分由硬件实现;
迭代与实现:是进一步对上一步软硬件划分的验证以便更加深入的验证和修改,是软硬件的划分更加合理;
详细的软件与硬件设计:对软件和硬件分别进行实现的过程;
硬件与软件的集成:将软件和硬件功能模块进行整合,整合为统一的系统;
系统测试与发布:为满足嵌入式系统运行时所要求的相当告的实时性、可靠性、和功耗等要求,必须对软硬件系统进行系统的调试和测试。只有达到了产品定义时的功能和要求才能进行发布;
在嵌入式系统设计中,首先要定义系统的功能,最后将功能映射到架构所以开发过程,与通用软件、硬件的开发不同,嵌入式系统的开发过程不仅涉及到软件领域的知识,还要涉及到硬件方面的综合知识,嵌入式系统嵌入式的特点决定了它具有多学科交叉性,作为计算机的内容,要求计算机专业领域人员介入体系结构、软件技术、工程应用等方面的研究,有时甚至要涉及到机械方面的知识。而且嵌入式系统另一个不同于通用软件、硬件开发的方面是嵌入式系统开发采用的是软件与硬件协同开发的方法,是一个并行的关系。因此嵌入式与通用系统相比设计具有自己设计中的诸多特点:
1、嵌入式系统通常是面向特定的应用系统
嵌入式微处理器大多数的工作都是为特定功能所设计的,它具有功耗低、体积小、集成度高等特点,可以将多数由办卡完成的特点集成到芯片内部,是系统趋于小型化,提高了系统的可移动性和网络性。
2、嵌入式系统设计需要建立交叉开发环境
设计开发通常采用“宿主机/目标价”的方式,这对于进行通用系统程序开发的人员来说是一件非常遥远的事,因为他们不需要建立交叉开发环境的搭建,通用系统程序的开发都是在本机上进行的。而对于嵌入式系统软件开发来说,很少按照通用系统软件开发的方法来进行。这不仅仅是因为嵌入式系统受资源限制无法建立起所需要的开发环境,还因为对于只是面向产品的嵌入式系统来说,没有必要发展成为既是运行环境,又是开发环境的系统。所以交叉开发环境是嵌入式系统开发中必不可少的编程环境。
3、软/硬件协同开发
在传统系统设计方法中,系统所要实现的功能被直接划分为软件和硬件实现,然后进行独立的软硬件设计,在完成了软硬件的设计后再进行系统的测试,知道此时,设计人员才知道系统是否达到设计的要求。而在嵌入式系统设计中,软件和硬件的设计一直都是保持并行的,在设计过程中两者交织在一起,互相支持,互相提供开发平台,在设计中就能进行方案的验证。
4、与通用的台式机相比可利用的洗头膏资源很少
5、实时操作系统的多样性
目前,实时操作系统可用的很多。如uC/OS、VxWork、RT-Linux、WindowsCE等
6、嵌入式系统程序需要固化到硬件系统中
通用系统的程序一般都是在PC机上运行,而嵌入式系统目标环境具有很强的多样性和复杂性,可用是手机,PDA也可以是仪器设备等。而且要能保证在用户关机后下次能够再次使用,其存储的环境也必须是非易失性存储器(如Llash、ROM等),因此,系统应用软件开发完成后,应该生产固化版本,将其烧写到目标系统平台的Flash 存储器中。
7、嵌入式软件开发难度较大
嵌入式系统对稳定性、可靠性、功耗、抗干扰、重量体积等方面的性能要求都币通用系统所要求的严格的多,并且实时性也是嵌入式系统一个很重要的特性,在开发的系统中腰得到很好的保证,要满足这些特性,系统硬件的设计和开发要有很高的要求,而且对所选择的操作系统也有很大的影响,而在应用程序上则完全依赖代码设计的质量,所以,这必然会增加开发的难度。
嵌入式硬件开发:
........
嵌入式软件开发:
.............
系统调试与测试:
。。。。。。。 |
|