- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]SOC课件 第二章 嵌入式软件工程
SoC技术原理与应用 主 讲:郭 兵 单 位:四川大学计算机学院 电 话: 028 E-mail:guobing@cs.scu.edu.cn 2007 年 3 月 第二章 嵌入式软件工程 引言 谢 谢! (3) 支持基于Internet的协同工作:并行工程(Concurrent Engineering)是对软件实施并行设计和并行开发的系统方法,协同工作为并行工程的实现奠定了技术基础。 (4) 支持软/硬件协同设计和验证(Hardware/software co-design and co-verification):基于协同设计和验证环境,实现软硬件的并行开发,显著提高嵌入式系统的开发效率。 (5) 支持SOC开发:随着IP核的广泛应用以及SOC在体积、功耗和可靠性等方面具有的明显优势,支持SOC开发将是大势所趋。 (6) 支持代码自动生成(Automatic Code Generation):随着软件自动化(Software Automation)的发展,在嵌入式软件开发平台领域中将会出现更多的软件工具以支持代码自动生成。 (7) 安全性VV(Validation and Verification确认和验证):对于一些安全关键(Safety Critical)的嵌入式系统,安全性的确认和验证尤为重要。 (8) 可视化开发:基于组件的可视化开发能够大大提高用户嵌入式软件的开发效率。 (9) 支持重点从编码阶段转向建模、分析和设计阶段。 2.5.1、嵌入式软件编程语言 在嵌入式软件编码时,选择编程语言很重要,因为它关系到所选语言的语言特征能否很好地支持嵌入式系统的有关特性,如实时性、安全性、可靠性、简易性、可移植性和有效性。目前汇编语言已较少使用,许多通用高级编程语言,如C、C++、Fortran、Modula-2和Java,可以有效地用于实时应用。然而,在军事和工业控制应用中也经常用到一组专门的实时语言,如Ada、Jovial、HAL/S、Chill、EC++、PEARL和LTR等。实时语言具有一些区别于通用语言的特性,包括支持多任务、支持任务间的同步和通信、直接实现实时功能的结构和保证程序正确性的现代语言特性等。同时,不管通用语言还是实时语言,当用于嵌入式软件开发时,对交叉编译器都有更高的要求,如针对具体硬件平台存在着更多的优化,产生高质量的代码,在代码大小和运行速度上满足嵌入式系统的需求等。 然C在语言一级并不支持多任务,但是它可以充分利用RTOS提供的系统调用,支持多任务编程等实时特性,再加上C语言本身的一些优点,如简洁、灵活和高效,使得C语言能够有效地满足实时应用的需求。但是C++存在一些明显的缺点,如内存资源要求高和运行效率差,某些语言特性,如多继承、异常处理和运行时类型识别,严重增加了程序的尺寸和运行时的额外开销,不能很好满足某些嵌入式系统需求。因此,日本的一些半导体、家电厂商(包括Fujitsu、Hitachi、NEC、Toshiba等)和美国的一些软件公司(如Green Hills software,Inc.等)成立了Embedded C++(嵌入式C++,简称EC++)联盟,其宗旨是制订一套面向嵌入式系统的C++规范。EC++是标准C++的子集,保持C++面向对象的优点,去掉了许多嵌入式编程不需要的C++特性,在保持同标准C++兼容的基础上,充分利用现有C++的代码资源。虽然该规范目前仍在讨论之中,尚未获得ISO/ANSI的正式批准,但已有公司推出了编译器产品,并在市场上获得良好的应用。 Java语言最初是针对STB(Set-Top Box机顶盒)等嵌入式应用而设计的,后来却在Internet编程方面取得了巨大的成功。由于Java具有面向对象、与平台无关、多线索、分布式、安全机制和内在的Internet集成等特性,因此获得了大批拥有雄厚技术实力开发商的支持。Java最新的标准J2ME(Java 2 Micro Edition)是标准Java API的一个子集,只包含了Java的关键特性,是专门针对那些对内存具有苛刻要求的嵌入式设备而设计的,在程序规模、运行速度、缺乏指针寻址、垃圾自动搜集以及运行于Java虚拟机(JVM)模式中的安全特性使Java很难对硬件进行直接控制等问题都得到了妥善解决,能够顺利完成嵌入式系统的开发。 Ada语言是由美国国防部在八十年代初主持开发的一种面向对象编程的语言,最初设计用于嵌入式系统的开发。Ada 95是ISO和ANSI于1995年制定的最新Ada标准,与Ada 83标准兼容,是第一种国际标准的面向对象编程语言。Ada语言能够满足用软件工程方法进行嵌入式系统开发的要求,如支持大型程序开发、可靠性和安全性设计、
您可能关注的文档
- [四年级其它课程]2011-2012学年度四年级下册地方课程备课环境教育.doc
- [哲学]马克思主义唯物论课件.ppt
- [商务科技]安全竞赛.ppt
- [哲学]马克思主义基本原理概论绪论2010.ppt
- [哲学]马克思辩证法.ppt
- [四年级其它课程]四年级体育下册教案.doc
- [四年级其它课程]庆祝建国60周年主题班会.ppt
- [四年级其它课程]思想品德四年级下册.doc
- [四年级其它课程]环保.ppt
- [四年级数学]乘法分配律说课课件.ppt
- 液晶聚合物薄膜:开启集成与可重构光路系统新时代.docx
- 破局与革新:哈尔滨Z小学高年级作文教学困境与优化策略探究.docx
- 微博场域下雾霾议题中政府媒体与公众的议程互动及优化策略.docx
- 词块教学法对大学英语写作水平提升的实证探究:基于对比实验与效果分析.docx
- 网络服务提供者安全保障义务的法理剖析与制度构建.docx
- 干扰条件下IRS辅助毫米波波束赋形技术的多维探索与创新研究.docx
- 破局与谋新:国内舞蹈类体育运动项目产业化营销的深度剖析与展望.docx
- 小学生英语学习焦虑状况的深度剖析与应对策略研究.docx
- 机载重轨InSAR相干变化检测方法的原理应用与优化研究.docx
- 破局与重塑:大学新生入学教育困境与优化路径探究.docx
文档评论(0)