C++在嵌入式系统中的运用课件.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C在嵌入式系统中的运用课件

C++技术大会 C++在嵌入式系统中的运用 何宗键 同济大学软件学院 嵌入式系统研究中心 2005 . 11 日程 从嵌入式系统谈起 让C++为嵌入式系统服务 C++的应用案例研究 Question? C++ keyword : volatile 嵌入式系统 IEEE(国际电气和电子工程师协会)的定义 Devices used to control ,monitor or assist the operation of equipment ,machinery or plants. 对定义的理解: 以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。 嵌入式系统的特点 嵌入性:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。 专用性:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。(欧洲:Dedicated System) 计算机系统:嵌入式系统必须是能满足对象系统控制要求的计算机系统。与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接口电路。 嵌入式体系结构 近年来嵌入式设备市场机会 嵌入式机遇 硬件的发展 嵌入式微处理器 X86 工控领域。发展方向:小型、低功耗 ARM 速度、功能扩展 解决方案 手机、PDA、数码相机、MP3、MP4、游戏机、DVD…… 嵌入式软件开发人员 嵌入式编程的一些特点 资源受限 处理器速度:算法的效率 内存少:所以必须非常注意内存的泄漏 I/O及外设 手机:显示屏幕,没有鼠标 外设的多样性 编程语言 Assembly Language 优点 灵活,操作硬件 运行高效,体积小 缺点 代码冗长、复杂、容易出错 开发效率低 与硬件绑定 应用领域 低端嵌入式系统 系统的Startup代码 对运行效率要求比较高的地方 Java / .NET / 脚本语言 优点 RAD开发 简单易用 缺点 运行效率低 消耗系统资源大 应用领域 应用程序开发 图形界面 / 游戏开发 C语言 Linux / UNIX世界的系统编程语言 已经被广泛应用于嵌入式系统编程 越来越多的取代汇编语言 如何选择 Then… Why C++?? Bjarne Stroustrup如是说 C++’s emphasis on general features (notably classes) has been its main strength C++ will not be a “Windows language” or a “web language” or even an “embedded systems language.” It will be a general-purpose language that supports those applications’ areas using a common set of facilities. C++包含的一些思想 Better C 抽象数据类型ADT 面向对象的思想 OOD OOP 范型编程 GP template 案例分析: 失败的手机项目 And… Why NOT C++?? 一些质疑 From comp.lang.c++ comp.arch.embedded C++ is slow C++ generates bloated code C++ is complicated C++ doesnt offer much to systems programmers Advanced C++ features are unsuitable for systems work C++ code isnt portable …… 一些精彩对话 This is a great topic that usually generates a lot of controversy. “Procedural code in C++ is essentially the same as in C C++ yields bigger and slower code because: Unnecessary class object in code ?Has a lot of subtleties that are invisible to the newbie (copy constructors, inline expansion, etc.) C++ _can_ be equal in speed and code size as asm or plain old C.

文档评论(0)

maxmin + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档