• 搜素结果

 / 

高质高效嵌入式软件开发

阿里巴巴集团
浏览器电脑版技术团队主管兼软件架构师
1938
13865
55527
高质高效嵌入式软件开发
推荐课程
暂无评分
推荐课程
暂无评分
¥

5800.00

每人

课程时长

课程排期

如您想参加此课程,您可以点击“我想参加”按钮提交您的需求,我们会及时与您联系

地点: 该课程暂无排期
没有地点信息
将课程带入到您的团队,为您的团队进行一对一辅导。
预约内训

课程详细

课程信息

为了让学员获得最好的学习体验,本课程以讲师自己设计的一个实现简洁、完整的“实时”操作系统 — ClearRTOS,为基础,通过渐进式的方式细致地讲解操作系统的概念和实现原理。至于处理器方面的知识,本课程没有针对某一具体处理器,而是就编程方面所需的通用知识进行了讲解。对这些通用知识的掌握,将使得处理器对于学员不再那么神秘。 与非嵌入式软件开发采用集成开发环境不同,嵌入式软件开发大多是基于命令行的。软件开发工程师除了进行编码工作,还得能驾驭自己的编译环境并运用其他的开发工具辅助开发工作。

培训特色

为了让学员获得最好的学习体验,本课程以讲师自己设计的一个实现简洁、完整的“实时”操作系统 — ClearRTOS,为基础,通过渐进式的方式细致地讲解操作系统的概念和实现原理。至于处理器方面的知识,本课程没有针对某一具体处理器,而是就编程方面所需的通用知识进行了讲解。对这些通用知识的掌握,将使得处理器对于学员不再那么神秘。 与非嵌入式软件开发采用集成开发环境不同,嵌入式软件开发大多是基于命令行的。软件开发工程师除了进行编码工作,还得能驾驭自己的编译环境并运用其他的开发工具辅助开发工作。

目标收益

掌握嵌入式软件开发所需的与处理器相关的通用知识。
明白信号完整性对嵌入式软件开发的影响。
掌握嵌入式软件开发所需掌握的GNU工具。包括make、gcc、binutils、ld和gdb。
实现更加深入地理解C编程语言。
了解引导加载器的大致工作原理和功能。
掌握实时操作系统的设计和实现原理。包括多任务、任务同步通讯、内存管理、设备管理和定时器管理。
理解设计是软件质量之本,并掌握一种有效的模块管理、错误管理和目录结构管理方法。
理解什么是可开发性问题和了解一种解决方法。
理解平台与框架开发是打造高质量软件之路。
理解软件开发的困难和质量保证需要系统性的方法论。
理解软件工程的

培训对象

以C为编程语言的嵌入式和非嵌入式软件开发工程师。
部分内容适合软件质量相关管理人员。

课程大纲

主题 内容

学习导引
(1小时)

1. 学什么?
2. 怎么学?
3. 工程师技术能力层次模型
4. 高质高效软件开发团队效能模型

【硬件篇】处理器的基本概念
(40分钟)

1. 微处理器与微控制器
2. 寄存器
3. 处理器的启动
4. 输入与输出
5. 指令与数据
6. 中断
7. 字节序
8. 边界对齐
9. 断点
10. 内存管理单元
11. 缓存

【硬件篇】开发活动中的硬件问题
(20分钟)

1. 两个软件异常案例
2. 异常的背后 — 信号完整性
3. 应对信号完整性问题的方法

【工具篇】gcc,C语言编译器
(1小时)

1. 交叉编译用其环境
2. gcc幕后工作原理
3. 实用的gcc选项

【工具篇】bintuils工具集,软件开发利器
(1小时)

1. addr2line,指令地址翻译器
2. ar,静态库生成器
3. nm,符号显示器
4. objdump,信息查看器
5. objcopy,段剪辑器
6. size,段大小观察器
7. strings,字符串窥视器
8. strip,程序文件瘦身器

【工具篇】ld,链接器
(0.5小时)

1. 重定位的概念
2. 链接脚本

【编程语言篇】掌握必要的汇编知识
(0.25小时)

1. AT&T和Intel语法格式
2. as的语法
3. 嵌入汇编的语法

【编程语言篇】深入理解程序的结构
(0.25小时)

1. 段
2. 栈
3. 堆

【编程语言篇】ABI/EABI规范,缔造程序兼容合约
(0.5小时)

1. 定义基本数据结构
2. 规范字节对齐处理
3. 分配寄存器的功能
4. 规定栈帧结构

【编程语言篇】混淆指针与数组所导致的问题
(0.5小时)

1. 问题示例
2. 问题分析
3. 问题成因
4. 预防措施

【编程语言篇】volatile,让我保持原样
(0.25小时)

1. 从例子理解volatile

【设计篇】设计,软件质量之本
(1小时)

1. 软件设计是什么
2. 软件质量的概念
3. 阻碍改善设计的常见观念
4. 如何提高设计能力
5. 设计模式、设计原则和设计思想
6. 放之四海皆适用的设计原则
7. 软件技术发展的驱动力

【设计篇】模块管理,保障系统有序运行
(0.5小时)

1. 模块管理参照系
2. 设计思路
3. 程序实现
4. 模块管理的一些思考

【设计篇】错误管理,不可获缺的用户需求
(0.75小时)

1. 现状与出路
2. 表达错误的通用方法
3. 优化错误日志

【设计篇】目录结构管理,使项目进展更顺利
(0.25小时)

1. 规划目录结构的意义
2. 出色目录结构的特点
3. 一个示例

【设计篇】平台与框架开发,高质量软件打造之路
(0.5小时)

1. 系统库、平台和框架
2. 本质和优点
3. 架构模型
4. 困境与生命周期理论

【设计篇】可开发性设计,一种高效且经济的开发模式
(0.5小时)

1. 可开发性问题一瞥
2. 可开发性设计的内涵
3. 设备抽象层
4. 更复杂的设备抽象层
5. 图形界面的可开发性设计
6. 其他可开发性设计

[操作系统篇】引导加载器,系统启航者
(0.5小时)

1. 功能
2. 文件存储布局
3. 程序加载原理
4. 优点

【质量保证篇】质量保证导言
(0.75小时)

1. 软件开发的特点
2. 保证质量的关键要素
3. 质量保证需要系统性的方法论
4. 走出质量困境的指导性思想

【质量保证篇】编程好习惯,质量保证的基本条件
(0.75小时)

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

【质量保证篇】单元测试,被忽视的质量保证方法
(0.75小时)

1. 警惕单元测试无用论
2. 一个简单但不完善的单元测试例子
3. 构建单元测试框架
4. 无缝整合单元测试
5. 几个实施问题
6. 桩函数和打桩
7. 错误注入,一种可测试性设计
8. 平台开发与单元测试
9. 被测行为的确定性
10. 被测用例的有效性

【质量保证篇】代码覆盖,单元测试效果的衡量指标
(0.25小时)

1. 了解代码覆盖工具
2. 无缝整合代码覆盖
3. 三个代码覆盖度量指标

【质量保证篇】静态分析,防止将失误带给用户
(0.25小时)

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

【质量保证篇】动态分析,使程序更健壮
(0.5小时)

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

【质量保证篇] 性能分析,让优化程序有的放矢
(0.25小时)

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

学习导引
(1小时)

1. 学什么?
2. 怎么学?
3. 工程师技术能力层次模型
4. 高质高效软件开发团队效能模型

【硬件篇】处理器的基本概念
(40分钟)

1. 微处理器与微控制器
2. 寄存器
3. 处理器的启动
4. 输入与输出
5. 指令与数据
6. 中断
7. 字节序
8. 边界对齐
9. 断点
10. 内存管理单元
11. 缓存

【硬件篇】开发活动中的硬件问题
(20分钟)

1. 两个软件异常案例
2. 异常的背后 — 信号完整性
3. 应对信号完整性问题的方法

【工具篇】gcc,C语言编译器
(1小时)

1. 交叉编译用其环境
2. gcc幕后工作原理
3. 实用的gcc选项

【工具篇】bintuils工具集,软件开发利器
(1小时)

1. addr2line,指令地址翻译器
2. ar,静态库生成器
3. nm,符号显示器
4. objdump,信息查看器
5. objcopy,段剪辑器
6. size,段大小观察器
7. strings,字符串窥视器
8. strip,程序文件瘦身器

【工具篇】ld,链接器
(0.5小时)

1. 重定位的概念
2. 链接脚本

【编程语言篇】掌握必要的汇编知识
(0.25小时)

1. AT&T和Intel语法格式
2. as的语法
3. 嵌入汇编的语法

【编程语言篇】深入理解程序的结构
(0.25小时)

1. 段
2. 栈
3. 堆

【编程语言篇】ABI/EABI规范,缔造程序兼容合约
(0.5小时)

1. 定义基本数据结构
2. 规范字节对齐处理
3. 分配寄存器的功能
4. 规定栈帧结构

【编程语言篇】混淆指针与数组所导致的问题
(0.5小时)

1. 问题示例
2. 问题分析
3. 问题成因
4. 预防措施

【编程语言篇】volatile,让我保持原样
(0.25小时)

1. 从例子理解volatile

【设计篇】设计,软件质量之本
(1小时)

1. 软件设计是什么
2. 软件质量的概念
3. 阻碍改善设计的常见观念
4. 如何提高设计能力
5. 设计模式、设计原则和设计思想
6. 放之四海皆适用的设计原则
7. 软件技术发展的驱动力

【设计篇】模块管理,保障系统有序运行
(0.5小时)

1. 模块管理参照系
2. 设计思路
3. 程序实现
4. 模块管理的一些思考

【设计篇】错误管理,不可获缺的用户需求
(0.75小时)

1. 现状与出路
2. 表达错误的通用方法
3. 优化错误日志

【设计篇】目录结构管理,使项目进展更顺利
(0.25小时)

1. 规划目录结构的意义
2. 出色目录结构的特点
3. 一个示例

【设计篇】平台与框架开发,高质量软件打造之路
(0.5小时)

1. 系统库、平台和框架
2. 本质和优点
3. 架构模型
4. 困境与生命周期理论

【设计篇】可开发性设计,一种高效且经济的开发模式
(0.5小时)

1. 可开发性问题一瞥
2. 可开发性设计的内涵
3. 设备抽象层
4. 更复杂的设备抽象层
5. 图形界面的可开发性设计
6. 其他可开发性设计

[操作系统篇】引导加载器,系统启航者
(0.5小时)

1. 功能
2. 文件存储布局
3. 程序加载原理
4. 优点

【质量保证篇】质量保证导言
(0.75小时)

1. 软件开发的特点
2. 保证质量的关键要素
3. 质量保证需要系统性的方法论
4. 走出质量困境的指导性思想

【质量保证篇】编程好习惯,质量保证的基本条件
(0.75小时)

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

【质量保证篇】单元测试,被忽视的质量保证方法
(0.75小时)

1. 警惕单元测试无用论
2. 一个简单但不完善的单元测试例子
3. 构建单元测试框架
4. 无缝整合单元测试
5. 几个实施问题
6. 桩函数和打桩
7. 错误注入,一种可测试性设计
8. 平台开发与单元测试
9. 被测行为的确定性
10. 被测用例的有效性

【质量保证篇】代码覆盖,单元测试效果的衡量指标
(0.25小时)

1. 了解代码覆盖工具
2. 无缝整合代码覆盖
3. 三个代码覆盖度量指标

【质量保证篇】静态分析,防止将失误带给用户
(0.25小时)

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

【质量保证篇】动态分析,使程序更健壮
(0.5小时)

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

【质量保证篇] 性能分析,让优化程序有的放矢
(0.25小时)

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

+加载更多
Donec quam felis

Thousand unknown plants are noticed by me: when I hear the buzz of the little world among the stalks, and grow familiar with the countless indescribable forms of the insects and flies, then I feel the presence of the Almighty, who formed us in his own image, and the breath

I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment; and yet.

+加载更多

近期公开课推荐

25
十月
浙江
人工智能现状和前沿趋势

人工智能现状和前沿趋势

27
十月
北京
DevOps的导入与构建

通过Devops的概念介绍,了解DevOps的领导者对Dev…

27
十月
未定
需求分析训练营

整个训练营就是一个案例实战过程的浓缩,讲…

27
十月
广东
卓越软件工程师代码整洁之道

该课程适应于各个阶段的技术人员.初级工程师…

27
十月
北京
云计算与openstack

云计算是信息和通信技术产业的一项重大变革…

28
十月
四川
持续集成与持续交付

掌握持续交付的精髓,规范开发流程并熟练掌…

课程反馈

当前课程还没有反馈信息

用户还看了其他课程

NoSQL数据库解析及案例分析

NoSQL数据库解析及案例分析

19155人看过
0人评价
创新思维与问题解决

创新思维与问题解决

3335人看过
0人评价

欢迎来到msup!

还不是msup会员?快来注册吧!

立即注册

服务热线

400-812-8020

market@msup.com.cn

官方微信公众号

微信公众号:msupclub

Copyright © 2017 msup

京ICP备09001521号