培训目标:
|
通过本课程,学员可以:
- 了解C语言的嵌入式开发特性
- 了解和性能有关的编码要素
- 了解嵌入式C程序的常见组织风格
- 了解如何采用C进行面向编程
- 掌握如何建立程序的性能
- 掌握如何进行可靠性设计、监测并处理可靠性问题
- 掌握如何建立可测试性,
- 掌握如何进行嵌入式C白盒测试
- 掌握如何进行嵌入式C代码评审,
- 掌握如何定位嵌入式C质量缺陷并进行代码重构
-
-
嵌入式C关键特性 |
嵌入式C编程基础 |
- 变量与内存分配机制
- 函数与调用原理
- 条件控制语句
- 常量和变量
- 指针和函数指针
- 设计中断函数
- 关键字static,extern,volatile,inline
- 位操作的应用
- 结构体中的位域
|
嵌入式C编码风格 |
- 变量、函数、宏的命名
- 代码排版与布局
- 注释的策略
- indent工具
- 为代码编写文档
|
嵌入式C性能优化 |
- 使用宏和inline
- 使用寄存器变量
- 内嵌汇编
- 利用硬件特性
- 循环展开
- 使用查找表
- 紧凑的C代码并不能保证得到高效的机器代码
- 编译优化
|
嵌入式C软件结构 |
嵌入式C软件模块与模块划分 |
- 模块划分原则
- 源代码文件和目录的组织
- 硬件驱动模块
- 软件功能模块
- 提供API
- 头文件
- 全局变量
- 主循环与中断
- 软件的分层结构
|
嵌入式C函数 |
- 一个函数只做一件事,不要编写多种功能集于一身的函数
- 明确地定义函数的参数
- 避免比尔类型参数
- 编写函数使其在给定有效的输入情况下不会失败
- 函数不依赖于另一个函数的内部细节
- 函数要小且容易测试
- 函数内部代码块
|
嵌入式C的面向对象 |
- 用struct来模拟class
- 封装
- 继承
- 重载
- 数据结构的抽象
|
代码质量 |
嵌入式C防御性编程 |
- 防御性代码的风格
- 编译警告开关的使用
- 预计所有可能的异常
- 检查所有的返回值
- 审慎处理内存资源
- 变量声明策略
- 审慎地进行强制转换
- 尽量用可移植的数据类型
- 使用lint来查出编译程序漏掉的错误
- 使用断言
|
嵌入式C白盒测试 |
- TDD与单元测试
- 单元测试与Debug
- 单元测试用例设计
- 即使测试代码会影响进度,也要坚持测试代码
- 测试代码的责任不在测试员身上,而是程序员自己的责任
|
嵌入式C代码评审 |
- 代码评审的规范
- 代码评审的组织方式
- 代码评审的内容
- 结合配置管理强制代码评审
|
嵌入式C代码重构 |
- 代码重构的原则
- 重新命名函数
- 提炼函数
- 提炼判断条件
- 简化函数参数
- 解除全局变量的噩梦
- 避免函数传递中的隐形bug
- 调整函数位置
|
|
|
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表下载请点击
服务优势:
丰富专家资源,精准匹配相关行业,相关项目技术精英,面向用户实际需求,针对性培训或咨询,互动式交流,案例教学,精品小班,实际工程项目经验分享,快捷高效,节省时间与金钱,少走弯路与错路。
专家力量:
中国科学院相关研究所高级研究人员
西门子,TI,vmware,MSC,Ansys,MDI,Mentor, candence,Altium,Atmel 、Freescale,达索,华为等
大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关学历背景专业,理论素养高
多年实际项目实践,大型复杂项目实战案例分享,热情,乐于技术分享
针对客户实际需要,真实案例演示,互动式沟通,学有所值