4.嵌入式系统的开发第2章嵌入式系统的开发过程
26页1、第2章 嵌入式系统的开发过程,一 嵌入式软件开发的特点,嵌入式系统与通用计算机在以下几个方面的差别比较明显: (1)人机交互界面。嵌入式系统和通用计算机之间的最大区别在与人机交互界面。嵌入式系统可能根本就不存在键盘、显示器等设备,它所完成的事情也可能只是监视网络情况或者传感器的变化情况,并按照事先规定好的过程及时完成相应的处理任务。 (2)有限的功能。嵌入式系统的功能在设计时已经定制好,在开发完成投入使用之后就不再变化,系统将反复执行这些预定好的任务,而不象通用计算机那样随时可以运行新任务。当然,使用嵌入式操作系统的嵌入式系统可以添加新的任务,删除旧的任务;但这样的变化对嵌入式系统而言是关键性的变化,有可能会对整个系统产生影响。 (3)时间关键性和稳定性。嵌入式系统可能要求实时响应,具有严格的时序性。同时,嵌入式系统还要求有非常可靠的稳定性。 其工作环境可能非常恶劣,如高温、高压、低温、潮湿等。这就要求在设计时考虑目标系统的工作环境,合理选择硬件和保护措施。软件稳定也是一个重要特征。软件系统需要经过无数次反复测试,达到预先规定的要求才能真正投入使用。,嵌入式软件开发与传统软件开发有许多
2、共同特点,但它又有它自身的特点: (1)需要交叉开发环境。嵌入式应用软件开发要使用交叉开发环境。交叉开发环境是指实现编译、链接和调试应用程序代码的环境。与应用程序环境不同,它分布在有通信链接的宿主机和目标机环境之中。宿主机(Host)是一台通用计算机,一般是PC机。它通过串口或网络连接与目标机通信。目标机(Target)常在嵌入式软件开发期间使用,用来区别与嵌入式系统通信的宿主机。目标机应用软件需要绑定操作系统一起运行。交叉软件包括交叉编译器、交叉调试器和模拟软件等。交叉编译器允许应用程序开发者在俗主机上生成能在目标机上运行的代码。交叉调试器和模拟调试软件用于完成俗主机与目标机应用程序代码的调试。,(2)引入任务设计方法。嵌入式应用系统以任务为基本单元。在系统设计阶段,用多个并发的任务代替通用软件的多个模块,并定义了应用软件任务间的接口。嵌入式系统的设计通常采用DARTS(Design and Analysis of Real-Time Systems)设计方法进行任务的设计。DARTS给出了系统任务划分的方法和定义任务间接口的机制。 (3)需要固化程序。通用软件的开发在测试完成以后就
3、可以直接投入运行。其目标环境一般是PC机,在总体结构上与开发环境差别不大。而嵌入式应用程序开发环境是PC机,但运行的目标环境却千差万别,可以是PDA,也可以是仪器设备。而且应用软件在目标环境下必须存储在非易失性存储器中,保证用户用完关机后确保得到保证下次的使用。所以应用软件在开发完成以后,应生成固化版本,烧写到目标环境的Flash中运行。 (4)软件开发难度大。绝大多数的嵌入式应用有实时性的要求,特别在硬实时系统中,实时性至关重要。这些实时性在开发的应用软件中得到保证,这就要求设计者在软件的需求分析中充分考虑系统的实时性。这些实时性的体现一部分来源于实时操作系统的实时性,另一部分依赖于应用软件的本身的设计和代码的质量。同时,嵌入式应用软件对稳定性、可靠性、抗干扰性等性能的要求都比通用软件的要求更为严格和苛刻。因此,嵌入式软件开发的难度加大。,嵌入式开发还需要提供强大的硬件开发工具和软件包支持,需要开发者从速度、功能和成本综合考虑,由此看来有以下几点: a、硬件功能强。更强大的嵌入式处理器(如32为RISC芯片或信号处理器DSP)增强了处理能力,加强了对多媒体、图形等的处理。同时增加功能
4、接口,如USB等。 b、工具完备。见P37。 c、通信接口。要求硬件上提供各种网络通信接口。新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,有的还支持IEEE1394、USB、Bluetooth或IrDA通信接口中的一种或几种;软件方面系统内核支持网络模块,甚至可以把设备做成嵌入式Web服务器或嵌入式浏览器。 d、精简系统内核以降低功耗和成本。未来的嵌入式产品是软硬件紧密结合的设备,为了降低功耗和成本,需要设计者尽量精简系统内核,利用最低的资源实现最适当的功能。 e、提供友好的多媒体人机界面。嵌入式设备与用户交互,最重要的因素就是它能提供非常友好的用户界面。手写文字输入、彩色图形和图象都会使用户获得操作自如的感受。,2.2 嵌入式软件的开发流程,嵌入式软件的开发流程与通用软件的开发流程大同小异,但开发所使用的设计方法有一定的差异。整个开发流程可分为需求分析阶段、设计阶段、生成代码阶段和固化阶段。开发的每个阶段都体现着嵌入式开发的特点。 1 需求分析阶段嵌入式系统的特点决定了在开发初期的需求分析过程中就要搞清需要完成的任务。在需求分析阶段需要分析客户的需求,并将需求分
5、类整理-包括功能需求、操作界面需求和应用环境需求等。嵌入式系统应用需求中最为突出的是注重应用的实效性,竞争中Time-to-Market最短的企业最容易赢得市场。嵌入式开发的需求分析阶段与一般软件开发的需求分析阶段差异不大,包括以下3个方面。a、对问题的识别和分析。见P38。b、制定规格说明文档。经过对问题的识别,产生了系统各方面的需求。通过对规格的说明,文档得以清晰、准确的描述。这些说明文档包括需求规格说明书和初级的用户手册等。c、需求评审。需求评审作为系统进入下一阶段前最后的需求分析复查手段,在需求分析的最后阶段对各项需求进行评估,以保证软件需求的质量。,2 设计阶段需求分析完成后,需求分析员提交规格说明文档,进入系统设计阶段。系统的设计阶段包括系统设计、任务设计和任务的详细设计。通用软件开发的设计常采用将系统分为各个功能子模块,在进一步细分为函数,采用自顶向下的设计方法。而嵌入式应用软件是通过并发的任务来运作的,应用软件开发的系统设计将系统划分为多个并发执行的任务,各个任务允许并发执行,通过相互间通信建立联系。传统的设计方法不适应这种并发的设计模式,因而在嵌入式软件开发中引入DA
《4.嵌入式系统的开发第2章嵌入式系统的开发过程》由会员小**分享,可在线阅读,更多相关《4.嵌入式系统的开发第2章嵌入式系统的开发过程》请在金锄头文库上搜索。
2020年高考真题——理科综合(全国卷Ⅲ)+Word版含答案
2021年绝味鸭脖策划书
2021年熟食店创业方案
2021年熟食店开店策划
2021年卤菜店创业计划书
2021年周黑鸭网络营销策划方案
东大21年1月考试《现代设计方法》考核作业
谈我国行政管理效率的现状及其改观对策(论文)
单证员考试-备考辅导-复习资料:无贸易背景信用证案分析.docx
土木工程毕业生答辩自述.docx
建筑学毕业后工作状态真实写照.doc
C#代码规范(湖南大学).doc
xx区食药监局2019年工作总结及2020年工作计划
2019年中医院药物维持治疗门诊工人先锋号先进事迹
2019年度xx乡镇林长制工作总结
2019年性艾科工作计划书
2019年人才服务局全国扶贫日活动开展情况总结
关于组工信息选题的几点思考
摘了穷帽子 有了新模样
2019年某集团公司基层党支部书记培训班心得体会
2024-01-30 30页
2024-01-30 30页
2024-01-30 21页
2024-01-30 23页
2024-01-30 25页
2024-01-30 29页
2024-01-30 27页
2024-01-30 23页
2024-01-30 31页
2024-01-30 15页