班级规模及环境--热线:4008699035 手机:15921673576( 微信同号) |
每个班级的人数限3到5人,互动授课, 保障效果,小班授课。 |
上间和地点 |
上部份地点:【上海】同济大学(沪西)/新城金郡商务楼(11号线白银路站)【深圳分部】:电影大厦(地铁一号线大剧院站)/深圳大学成教院【北京分部】:北京中山学院/福鑫大楼【南京分部】:金港大厦(和燕路)【武汉分部】:佳源大厦(高新二路)【成都分部】:领馆区1号(中和大道)【沈阳分部】:沈阳理工大学/六宅臻品【郑州分部】:郑州大学/锦华大厦【石家庄分部】:河北科技大学/瑞景大厦 最近开间(周末班/连续班/晚班):2019年1月26日 |
实验设备 |
◆小班教学,教学效果好 ☆注重质量☆边讲边练 ☆合格学员免费推荐工作 ★实验设备请点击这儿查看★ |
质量保障 |
1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听; 2、课程完成后,授课老师留给学员手机和Email,保障培训效果,免费提供半年的技术支持。 3、培训合格学员可享受免费推荐就业机会。☆合格学员免费颁发相关工程师等资格证书,提升职业资质。专注高端技术培训15年,曙海学员的能力得到大家的认同,受到用人单位的广泛赞誉,曙海的证书受到广泛认可。 |
部份程大纲 |
|
- 掌握嵌入式软件开发所需的与处理器相关的通用知识。
明白信号完整性对嵌入式软件开发的影响。
掌握嵌入式软件开发所需掌握的GNU工具。包括make、gcc、binutils、ld和gdb。
实现更加深入地理解C编程语言。
了解引导加载器的大致工作原理和功能。
掌握实时操作系统的设计和实现原理。包括多任务、任务同步通讯、内存管理、设备管理和定时器管理。
理解设计是软件质量之本,并掌握一种有效的模块管理、错误管理和目录结构管理方法。
理解什么是可开发性问题和了解一种解决方法。
理解平台与框架开发是打造高质量软件之路。
理解软件开发的困难和质量保证需要系统性的方法论。
理解软件工程的工作习惯对软件质量的影响。掌握一些终身受用的编程好习惯。
理解单元测试的重要性,并掌握一种简单有效的部署方法。
理解代码覆盖、静态分析和动态分析对构建高质软件的重要性。
培训内容:
学习导引
学什么?
怎么学?
工程师技术能力层次模型
高质高效软件开发组织能力模型
[硬件篇] 处理器的基本概念
微处理器与微控制器
寄存器
处理器的启动
输入与输出
指令与数据
中断
字节序
边界对齐
断点
内存管理单元
1缓存
[硬件篇] 开发活动中的硬件问题
两个软件异常案例
异常的背后 — 信号完整性
应对信号完整性问题的方法
[工具篇] make,开发环境全能管家
从最简单的Makefile中了解规则
创建基本的编译环境
提高编程环境的实用性
打造更专业的编译环境
理解make的解析行为
Makefile的调试
make的常用选项
活用make
[工具篇] gcc,C语言编译器
交叉编译用其环境
gcc幕后工作原理
实用的gcc选项
[工具篇] bintuils工具集,软件开发利器
addr2line,指令地址翻译器
ar,静态库生成器
nm,符号显示器
objdump,信息查看器
objcopy,段剪辑器
size,段大小观察器
strings,字符串窥视器
strip,程序文件瘦身器
[工具篇] ld,链接器
重定位的概念
链接脚本
[编程语言篇] 掌握必要的汇编知识
AT&T和Intel语法格式
as的语法
嵌入汇编的语法
[编程语言篇] 深入理解程序的结构
段
栈
堆
[编程语言篇] ABI/EABI规范,缔造程序兼容合约
定义基本数据结构
规范字节对齐处理
分配寄存器的功能
规定栈帧结构
[编程语言篇] 混淆指针与数组所导致的问题
问题示例
问题分析
问题成因
预防措施
[编程语言篇] volatile,让我保持原样
从例子理解volatile
设计篇] 设计,软件质量之本
软件设计是什么
软件质量的概念
阻碍改善设计的常见观念
如何提高设计能力
设计模式、设计原则和设计思想
放之四海皆适用的设计原则
[设计篇] 模块管理,保障系统有序运行
模块管理参照系
设计思路
程序实现
模块管理的一些思考
[设计篇] 错误管理,不可获缺的用户需求
现状与出路
表达错误的通用方法
优化错误日志
[设计篇] 目录结构管理,使项目进展更顺利
规划目录结构的意义
出色目录结构的特点
一个示例
[设计篇] 平台与框架开发,高质量软件打造之路
系统库、平台和框架
本质和优点
架构模型
困境与生命周期理论
[设计篇] 可开发性设计,一种高效且经济的开发模式
可开发性问题一瞥
可开发性设计的内涵
设备抽象层
更复杂的设备抽象层
图形界面的可开发性设计
其他可开发性设计
[操作系统篇] 引导加载器,系统启航者
功能
文件存储布局
程序加载原理
优点
[操作系统篇] 任务,软件基本调度单元
任务情景
任务调度
任务的生命周期
任务控制
竞争问题与中断控制
任务与中断状态
任务栈溢出检测
滴答与空闲任务
多任务环境控制
任务模块管理
1task1示例程序
1任务钩子函数
1任务变量
1其它概念与思考
[操作系统篇] 任务同步与通信,实现协同工作
信号量
互斥锁
事件
消息队列
死锁及预防
[操作系统篇] 内存管理,协调动态内存的使用
堆管理(含内存溢出和泄漏检测)
内存池管理
[操作系统篇] 设备管理,方便与外设交互
字符设备管理
中断管理
设备管理的主要程序实现
设备驱动程序实现
驱动安装与设备注册
[操作系统篇] 定时器,程序闹钟
软件定时器分类
设计思路
中断回调定时器
定时误差
提高遍历效率
改善实时性
任务回调定时器
[质量保证篇] 质量保证导言
软件开发的特点
保证质量的关键要素
质量保证需要系统性的方法论
走出质量困境的指导性思想
[质量保证篇] 编程好习惯,质量保证的基本条件
一些终生受用的编程好习惯
[质量保证篇] 单元测试,被忽视的质量保证方法
警惕单元测试无用论
一个简单但不完善的单元测试例子
构建单元测试框架
无缝整合单元测试
几个实施问题
桩函数和打桩
错误注入,一种可测试性设计
平台开发与单元测试
被测行为的确定性
被测用例的有效性
[质量保证篇] 代码覆盖,单元测试效果的衡量指标
了解代码覆盖工具
无缝整合代码覆盖
三个代码覆盖度量指标
[质量保证篇] 静态分析,防止将失误带给用户
认识静态分析工具
无缝整合静态分析工具
[质量保证篇] 动态分析,使程序更健壮
结识动态分析工具
无缝整合动态分析工具
[质量保证篇] 性能分析,让优化程序有的放矢
初探性能分析工具
无缝整合性能分析工具
|