- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
读书要点
清华大学 曾鸣,提高嵌入式软件质量的途径——电子产品世界,2005.3硬件相关代码的分层设计嵌入式软件开发的特点是与硬件密切相关,而嵌入式的硬件平台又千差万别,通常每一个嵌入式项目的软件开发,都需要从底层到顶层全部编写一遍,即便是同一个公司、同一个实验室,代码共享的程度都十分有限。这就导致了重复开发,非常浪费人力、物力在早期,这个问题还不算严重,例如一个串口通讯的模块,或许每个项目都需要编写,但工作量总还不算太大。但是,如引言中所述,近来嵌入式技术的发展迅速,当项目开发所要面对的不再是简单的串口,而是诸如USB、以太网这样复杂的通讯协议,或是音频合成、图像处理这样的庞大算法时,就需要考虑改进嵌入软件开发的方式了。将软件进行分层进行开发,并不是什么新的想法,我们所熟知的Windows、Unix等操作系统基本上都是这样做的—但是在现实中,我们大多数嵌入式软件项目仍然是整体一起开发的。对于底层的硬件,将其特征提取出来编写一个“硬件抽象层(HAL)”,然后在此基础上编写具体要实现的功能—这件事情实际做起来并不复杂,对于嵌入式软件开发,只需要将跟硬件直接相关的部分,封装成有限的几个函数,让所有需要跟硬件打交道的操作,都调用这几个函数就可以了—这样做的好处是明显的,当底层的电路板做了修改、更换了芯片型号、系统硬件升级时,整个嵌入式软件只需修改“硬件抽象层”,相对就会比较简单。嵌入式操作系统的选择和使用嵌入式操作系统是在嵌入式软件开发中另一个值得提倡的技术。各种各样的嵌入式操作系统经过计算机专家们的专心设计后已经十分成熟,小巧轻便的如?C/OS-II、eCOS,功能强大的如?Clinux、VxWorks。使用嵌入是操作系统的好处,同样是可以增加软件的复用性,避免重复开发。将软件进行分层,是在“横向”上解决这个问题,而采用嵌入式操作系统则是从“纵向”上着手——在嵌入式操作系统中,每个任务相对独立,任务之间的调度、硬件资源的管理都由操作系统来负责,开发者只用关心任务本身的功能和任务之间的简单关系。采用了嵌入式操作系统,一个工程产品、一台科研仪器,如果更换了系统硬件,只要在新硬件上构建好操作系统、驱动,上层实际功能的源程序就都可以保留复用了。借鉴软件工程的思想、方法软件工程是当前的一个热点,这里说借鉴,并不是要研究很多相关的理论、概念,而是在嵌入式软件开发的工程实际中,直接使用一些软件工程方面的成果就可以了,例如已经成熟的思想方法、便捷的软件工具。而CVS(Concurrent Versions System,并行版本系统)则是软件配置管理的核心工具,它能够完成项目软件开发中的变化管理-版本演进,这也就是软件项目管理的基石。简单的说,使用CVS 系统可以帮助开发者实现以下功能:¥ 提供一个代码仓库,不仅保存项目当前所有的源码,还保存了所有的历史修改纪录;¥ 随时向代码仓库提交自己所作的修改,并且可对此次修改添加详细说明;¥ CVS 系统可以自动管理、合并多个编程人员做出的代码更新,并在出现冲突时给出提示,适宜于团队协作开发;¥ 开发者可以让源码恢复到之前任意时间的状态进行调试,而不结语当前嵌入式软件所面临的问题,有些类似于七十年代左右的“软件危机”—当时计算机系统的硬件技术取得了大发展,而“作坊式”的软件开发模式停滞不前,导致了若干个大型软件项目流产,成为了计算机整体技术发展的瓶颈。在当前嵌入式技术发展的新形势下,如果不加以注意,嵌入式软件开发就很有可能面临类似的结果。所幸的是,在过去几十年中,人们应对“软件危机”已经积累了足够的经验、方法,产生了“软件工程”这样专门的工程学科。如果我们尽早重视这些问题,着手借鉴业已成熟的思想、方法,不仅可以避免嵌入式软件开发方面的许多问题,还可以加速整个嵌入式技术的发展。面向对象的操作系统抽象层和运行支撑层计算机工程第29卷第22期2003年l2月国内方面, 目前已经有一些比较成熟的嵌入式应用软件开发平台。这些平台在通信软件的开发和维护上起到了不可低估的作用。但是在应用过程中,工程技术人员越来越感觉到面向过程的嵌入式应用软件开发平台带来的利一种不便。提高软件产品质量、缩短开发周期、降低开发成本是软件开发人员面I临的迫切要求,软件产品的模块化和可复用性是满足这一要求的必由之路。而面向对象的方法、设计模式的思想是当前实现软件模块化、提高软件可复用性的最优方法。面向对象编程语言、组件和构架是被广泛认可的、用以降低软件成本并提高软件质量的技术。面向对象的主要好处在于它强调模块性和可扩展性,它将易变的实现细节封装在稳定的接口后面,并增强了软件的复用。但是,在目前的嵌入式实时系统中采用面向对象的方法进行上层软件的设计还有很多困难,最主要的,就是底层实时操作系统没有提供有力支持,即使上层软件勉强采用了面向对象的方法,代码的模
您可能关注的文档
最近下载
- 风电工程风机基础施工作业指导书.doc VIP
- 西电人工智能19计算智能Part136.ppt VIP
- (必会)注册营养师近年考试真题题库(含答案解析).docx VIP
- 集成产品开发(IPD)(整体介绍).pptx VIP
- SY-T 5587.3-2013 常规修井作业规程 第3部分油气井压井、替喷、诱喷.pdf VIP
- 童光辉-政府会计-第七章 资产的核算-B.pptx VIP
- 党支部支委培训.pptx VIP
- 《网络与信息安全管理员》三级考试题库(含答案).docx VIP
- MT 76-2011 液压支架用乳化油、浓缩油及其高含水液压液.pdf VIP
- ★CCC内审检查表文档.docx VIP
文档评论(0)