服务中心 > 培训课程 > IT项目管理 > 高质高效嵌入式软件开发

高质高效嵌入式软件开发

服务商 基本信息

中科院计算所培训中心
网址:
地址:北京市海淀区中关村958楼中科天博大厦
联系人:刘老师
传真:
电话:010-82661480
温馨提示:该课程尚未有用户点评,您可以成为第一位点评人

给我留言进入商铺

服务商家:中科院计算所培训中心

培训类别:项目管理 - IT项目管理
开课时间:2015-01-15 08:33
开课地点:海淀区 北京市海淀区中科院南路958楼中科天博大厦
主进老师:杨老师 点击查看讲师简介
课程原价:5000元 在线报名优惠价:4500
联系电话: 010-82661480 刘老师
相关链接:嵌入式软件开发培训 嵌入式培训 热度:

订购课程加入购物车

培训对象
以C为编程语言的嵌入式和非嵌入式软件开发工程师、项目管理师、架构师等
培训效果
1、掌握嵌入式软件开发所需的与处理器相关的通用知识。 2、明白信号完整性对嵌入式软件开发的影响。 3、掌握嵌入式软件开发所需掌握的GNU工具。包括make、gcc、binutils、ld和gdb。 4、更加深入地理解C编程语言。 5、了解引导加载器的大致工作原理和功能。 6、掌握实时操作系统的设计和实现原理。包括多任务、任务同步通讯、内存管理、设备管理和定时器管理。 7、理解设计是软件质量之本,并掌握一种有效的模块管理、错误管理和目录结构管理方法。 8、理解什么是可开发性问题和了解一种解决方法。 9、理解平台与框架开发是打造高质量软件之路。 10、理解软件开发的困难和质量保证需要系统性的方法论。 11、理解软件工程的工作习惯对软件质量的影响,掌握一些终身受用的编程好习惯。 12、理解单元测试的重要性,并掌握一种简单有效的部署方法。 13、理解代码覆盖、静态分析和动态分析对构建高质软件的重要性。
课程简介

 

 

 

 

第1天

学习导引

1.   学什么?怎么学?

2.   工程师技术能力层次模型

3.   高质高效软件开发团队效能模型

[硬件篇] 处理器的基本概念

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,链接器

1.   重定位的概念

2.   链接脚本

[编程语言篇] 掌握必要的汇编知识

1.   AT&T和Intel语法格式

2.   as的语法

3.   嵌入汇编的语法

[编程语言篇] 深入理解程序的结构

段、栈、堆

 

[编程语言篇] ABI/EABI规范,缔造程序兼容合约

1.   定义基本数据结构

2.   规范字节对齐处理

3.   分配寄存器的功能

4.   规定栈帧结构

 

第2天

[编程语言篇] 混淆指针与数组所导致的问题

1.   问题示例

2.   问题分析

3.   问题成因

4.   预防措施

 

[编程语言篇] volatile,让我保持原样

1.   从例子理解volatile

 

[设计篇] 设计,软件质量之本

1.   软件设计是什么

2.   软件质量的概念

3.   阻碍改善设计的常见观念

4.   如何提高设计能力

5.   设计模式、设计原则和设计思想

6.   放之四海皆适用的设计原则

 

[设计篇] 模块管理,保障系统有序运行

1.   模块管理参照系

2.   设计思路

3.   程序实现

4.   模块管理的一些思考

 

[设计篇] 错误管理,不可获缺的用户需求

1.   现状与出路

2.   表达错误的通用方法

3.   优化错误日志

 

[设计篇] 目录结构管理,使项目进展更顺利

1.   规划目录结构的意义

2.   出色目录结构的特点

3.   一个示例

 

[设计篇] 平台与框架开发,高质量软件打造之路

1.   系统库、平台和框架

2.   本质和优点

3.   架构模型

4.   困境与生命周期理论

 

[设计篇] 可开发性设计,一种高效且经济的开发模式

1.   可开发性问题一瞥

2.   可开发性设计的内涵

3.   设备抽象层

4.   更复杂的设备抽象层

5.   图形界面的可开发性设计

6.   其他可开发性设计

 

[操作系统篇] 引导加载器,系统启航者

1.   功能

2.   文件存储布局

3.   程序加载原理

4.   优点

 

第2天

[操作系统篇] 任务,软件基本调度单元

1.   任务情景

2.   任务调度

3.   任务的生命周期

4.   任务控制

5.   竞争问题与中断控制

6.   任务与中断状态

7.   任务栈溢出检测

8.   滴答与空闲任务

9.   多任务环境控制

10.任务模块管理

11.task1示例程序

12.任务钩子函数

13.任务变量

14.其它概念与思考

 

[操作系统篇] 任务同步与通信,实现协同工作

1.   信号量

2.   互斥锁

3.   事件

4.   消息队列

5.   死锁及预防

 

[操作系统篇] 内存管理,协调动态内存的使用

1.   堆管理(含内存溢出和泄漏检测)

2.   内存池管理

 

第3天

[操作系统篇] 设备管理,方便与外设交互

1.   字符设备管理

2.   中断管理

3.   设备管理的主要程序实现

4.   设备驱动程序实现

5.   驱动安装与设备注册

 

[操作系统篇] 定时器,程序闹钟

1.   软件定时器分类

2.   设计思路

3.   中断回调定时器

4.   定时误差

5.   提高遍历效率

6.   改善实时性

7.   任务回调定时器

 

[质量保证篇] 质量保证导言

1.   软件开发的特点

2.   保证质量的关键要素

3.   质量保证需要系统性的方法论

4.   走出质量困境的指导性思想

 

[质量保证篇] 编程好习惯,质量保证的基本条件

1.   一些终生受用的编程好习惯

 

[质量保证篇] 单元测试,被忽视的质量保证方法

1.   警惕单元测试无用论

2.   一个简单但不完善的单元测试例子

3.   构建单元测试框架

4.   无缝整合单元测试

5.   几个实施问题

6.   桩函数和打桩

7.   错误注入,一种可测试性设计

8.   平台开发与单元测试

9.   被测行为的确定性

10.被测用例的有效性

 

[质量保证篇] 代码覆盖,单元测试效果的衡量指标

1.   了解代码覆盖工具

2.   无缝整合代码覆盖

3.   三个代码覆盖度量指标

 

[质量保证篇] 静态分析,防止将失误带给用户

1.   认识静态分析工具

2.   无缝整合静态分析工具

 

[质量保证篇] 动态分析,使程序更健壮

1.   结识动态分析工具

2.   无缝整合动态分析工具

 

[质量保证篇] 性能分析,让优化程序有的放矢

1. 初探性能分析工具

2. 无缝整合性能分析工具

 

[质量保证篇] qBench,一个开发高质软件的工作台

 

 

           
 

 

讲师简介
开课地点
用户评论
相关培训课程
HR俱乐部日志 一周热点
HR论坛 一周热帖
TA们正在采购...
关闭提示

已成功添加到购物车!

购物车里已有 0 份课程。总价 0.00 元。

去购物车结算