《高质高效嵌入式软件开发.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《高质高效嵌入式软件开发

高质高效嵌入式软件开发课程简介: 嵌入式系统在现实生活中随处可见,大到航天、汽车、通讯系统,小到手机、机顶盒,等等。嵌入式软件开发作为软件行业的一个分枝,也面临着其它软件领域所面临的各种挑战 — 如何快速上市?如何保证交付软件的最终质量?如何帮助工程师在工作与生活间取得平衡?等等。由于嵌入式软件开发是一个软硬件结合非常紧密的领域,这也使得其面临更大的挑战 — 软件的可开发性问题可能很突出、对开发人员的综合能力要求更高。 从事嵌入式软件开发,最困难的莫过于学习操作系统原理和处理器方面的知识。讲解操作系统原理如果以Linux、Windows CE、VxWorks等成熟的操作系统为素材并不好,因为它们太大,很容易让人“只见森林不见树木”,也容易让人望而生畏而失去学习的兴趣和信心。从软件开发的角度来看,操作系统的概念和实现原理一旦掌握,不论基于哪一个操作系统做开发都只是调用不同的函数而已。为了让学员获得最好的学习体验,本课程以讲师自己设计的一个实现简洁、完整的“实时”操作系统 — ClearRTOS,为基础,通过渐进式的方式细致地讲解操作系统的概念和实现原理。至于处理器方面的知识,本课程没有针对某一具体处理器,而是就编程方面所需的通用知识进行了讲解。对这些通用知识的掌握,将使得处理器对于学员不再那么神秘。 与非嵌入式软件开发采用集成开发环境不同,嵌入式软件开发大多是基于命令行的。软件开发工程师除了进行编码工作,还得能驾驭自己的编译环境并运用其他的开发工具辅助开发工作。本课程以来自GNU的工具为例帮助学员战胜这一挑战。值得强调的是,其中花了较大的篇幅帮助学员成为Makefile方面的专家。 要实现高质高效地从事软件开发工作,工程师还必须理解软件设计的重要性,并借助一定的质量保证方法论来提高工作质量和效率。软件设计和质量保证方法论是业内比较抽象和高级的话题,为此本课程通过带领实践的方式逐步展开讲解,以帮助学员获得一些实用的设计原则、最佳实践和一套有效的质量保证方法论。 总而言之,本课程从知识、工具、方法和思想这四大方面全面讲解如何专业地从事嵌入式软件开发,致力于帮助学员全面走向高质高效编程。 【协办单位】智通培训资讯网 【协办单位】深圳市威硕企业管理咨询有限公司 课程目标: 掌握嵌入式软件开发所需的与处理器相关的通用知识。 明白信号完整性对嵌入式软件开发的影响。 掌握嵌入式软件开发所需掌握的GNU工具。包括make、gcc、binutils、ld和gdb。 实现更加深入地理解C编程语言。 了解引导加载器的大致工作原理和功能。 掌握实时操作系统的设计和实现原理。包括多任务、任务同步通讯、内存管理、设备管理和定时器管理。 理解设计是软件质量之本,并掌握一种有效的模块管理、错误管理和目录结构管理方法。 理解什么是可开发性问题和了解一种解决方法。 理解平台与框架开发是打造高质量软件之路。 理解软件开发的困难和质量保证需要系统性的方法论。 理解软件工程的工作习惯对软件质量的影响。掌握一些终身受用的编程好习惯。 理解单元测试的重要性,并掌握一种简单有效的部署方法。 理解代码覆盖、静态分析和动态分析对构建高质软件的重要性。 课程对象: 以C为编程语言的嵌入式和非嵌入式软件开发工程师。 部分内容适合软件质量相关管理人员。 ? 内容 大纲 Day1 学习导引 1. 学什么? 2. 怎么学? 3. 工程师技术能力层次模型 4. 高质高效软件开发组织能力模型 [硬件篇] 处理器的基本概念 1. 微处理器与微控制器 2. 寄存器 3. 处理器的启动 4. 输入与输出 5. 指令与数据 6. 中断 7. 字节序 8. 边界对齐 9. 断点 10. 内存管理单元 11. 缓存 [硬件篇] 开发活动中的硬件问题 1. 两个软件异常案例 2. 异常的背后 — 信号完整性 3. 应对信号完整性问题的方法 [工具篇] make,开发环境全能管家 1. 从最简单的Makefile中了解规则 2. 创建基本的编译环境 3. 提高编程环境的实用性 4. 打造更专业的编译环境 5. 理解make的解析行为 6. Makefile的调试 7. make的常用选项 8. 活用make [工具篇] gcc,C语言编译器 1. 交叉编译用其环境 2. gcc幕后工作原理 3. 实用的gcc选项 [工具篇] bintuils工具集,软件开发利器 1. addr2line,指令地址翻译器 2. ar,静态库生成器 3. nm,符号显示器 4. objdump,信息查看器 5. objcopy,段剪辑器 6. size,段大小观察器 7. strings,字符串窥视器 8. strip,程序文件瘦身器 [工具篇] ld

文档评论(0)

saity3 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档