曙海教育集团
全国报名免费热线:4008699035 微信:shuhaipeixun
或15921673576(微信同号) QQ:1299983702
首页 课程表 在线聊 报名 讲师 品牌 QQ聊 活动 就业
 

嵌入式软件架构设计课程

 
   班级规模及环境--热线:4008699035 手机:15921673576( 微信同号)
       每期人数限3到5人。
   上课时间和地点
上课地点:【上海】:同济大学(沪西)/新城金郡商务楼(11号线白银路站) 【深圳分部】:电影大厦(地铁一号线大剧院站)/深圳大学成教院 【北京分部】:北京中山学院/福鑫大楼 【南京分部】:金港大厦(和燕路) 【武汉分部】:佳源大厦(高新二路) 【成都分部】:领馆区1号(中和大道) 【沈阳分部】:沈阳理工大学/六宅臻品 【郑州分部】:郑州大学/锦华大厦 【石家庄分部】:河北科技大学/瑞景大厦 【广州分部】:广粮大厦 【西安分部】:协同大厦
最近开课时间(周末班/连续班/晚班):2020年3月16日
   实验设备
     ☆资深工程师授课
        
        ☆注重质量 ☆边讲边练

        ☆合格学员免费推荐工作
        ★实验设备请点击这儿查看★
   质量保障

        1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
        2、培训结束后,授课老师留给学员联系方式,保障培训效果,免费提供课后技术支持。
        3、培训合格学员可享受免费推荐就业机会。

课程大纲
课程信息
1、代码分层设计
2、可移植性、可维护性
3、开发视图
4、逻辑视图
5、自动化测试
6、Cruise Control
7、gTest
培训特色
代码分层的思想、可移植性代码的设计、代码解耦的技巧、硬件层抽象、PC上模拟硬件、业务层抽象、业务层在PC上的模拟运行、业务层在PC上的自动化测试、架构设计文档撰写、接口说明文档撰写等内容。
本课程不单单是嵌入式架构设计的技能讲解,而且在设计中引入可测试性和可维护性设计。最终的结果是,让开发出来的嵌入式软件可以PC电脑上模拟运行,并进行自动化的测试。
目标收益
让程序员开发出来的嵌入式软件,具有高移植性和高维护性。
让嵌入式软件的测试自动化,减少低效率的重复回归测试。
让设计人员撰写出能指导开发人员工作的设计文档,而不是写出只是为了归档的文档。
培训对象

开发嵌入式产品的软件架构师、软件设计师、程序员。
该培训对于开发以下类型嵌入式产品特别有帮助:
1、业务逻辑特别复杂
2、集成功能繁多
3、测试环境/条件难以创造
学员基础

1、熟悉C语言; 
2、至少了解一种嵌入式微处理器;
课程大纲
主题 内容
引子

从我们身边的工作说起。指出大部分的软件都是“意大利面条”式的代码。
引申出解决之道――软件架构设计、代码持续优化和自动化测试。

第一单元
模块化程序设计思想

该单元介绍代码分层、分模块的思想,以及一些基本的代码解耦方法。

1、 模块化程序设计的核心
讲解什么形式的代码才算是模块化的代码。
2、 代码分层的思想
(1) 代码分层思路
(2) 嵌入式软件推荐的分层架构
3、 代码解耦的一些基础方法
(1) 封装模块文件夹
(2) 程序文件的分割
(3) 函数封装
(4) static函数限制函数使用范围
(5) static全局变量限制变量使用范围
(6) 减少全局变量的使用

第二单元
嵌入式分层设计

展示一个嵌入式分层设计的案例,并讲解架构设计文档的撰写。
演示硬件分离后代码的可移植性;并以MCU定时器为例讲解如何分离硬件。
最后讲解其他硬件设备的接口定义,由此引申出接口说明文档的撰写准则。

1、 嵌入式架构设计
(1) 某产品的开发视图
(2) 避免循环依赖
(3) 逻辑视图
(4) 4+1视图在嵌入式设计文档中取舍
(5) 设计文档的度与量
2、 嵌入式分层设计的追求――可移植
(1) 演示代码的可移植性
(2) 硬件封装的基本思想
(3) 硬件模块的分离
3、 硬件接口设计
(1) 提取硬件抽象
(2) 接口文档的撰写

第三单元
底层硬件API封装模板

该单元主要介绍硬件封装的代码架构模板,该模板的目的是提高底层硬件代码的可维护性。
然后通过多个实现案例,讲解了几种特殊硬件封装的解耦办法。
最后总结几个模板的分类。

1、 模板结构
(1) 设备硬件结构体类型定义
(2) 设备结构体配置
(3) 设备个数宏定义
(4) 设备实现需要的全局变量
(5) 设备功能实现代码
2、 利用老模板实现新硬件封装
3、 中断处理的封装:回调函数
4、 硬件复用设备对上层的不可见封装
5、 硬件耦合设备对上层的不可见封装
6、 模板的分类

第四单元
PC模拟底层硬件

该单元讲解如何在PC上实现一套假硬件设备,为业务层在PC上运行和自动化测试做准备。

1、 PC版与真实硬件环境的不同
2、 PC版测试接口
3、 PC版模拟中断接口
4、 PC版线程互斥处理

第五单元
业务层分层架构

在真实案例的基础上,讲解业务层的架构设计。

1、 可读性封装
2、 提取业务抽象
(1) 抽象的原则
(2) 案例:命令收发与命令业务处理的分离
3、 同步通讯的限制性封装
4、 异步通信的限制性封装
5、 异步设备封装成同步设备
6、 分层设计总结

第六单元
PC模拟运行业务层与自动化测试

演示业务层代码在PC上的模拟运行。演示如何让业务层代码进行自动化测试。
讲解测试封装设计。
讲解测试用例撰写的方式方法。

1、 测试封装
(1) 测试代码的可读性封装
(2) 测试代码的易用性封装
(3) 设备测试打桩接口
(4) 利用测试接口定位问题
2、 测试流程
3、 测试用例文档撰写
4、 测试用例代码撰写
(1) 利用测试套
(2) 使用打桩工具
(3) 测试延时和模拟系统延时的区别

第七单元
测试工具

简单介绍测试断言工具gTest、打桩工具mockcpp、自动化测试运行工具CruiseControl的使用。

1、 自动化测试工具gTest
(1) gTest的断言
(2) gTest的测试结果文件
2、 打桩工具mockcpp
3、 持续集成工具CruiseControl
(1) 什么是持续集成
(2) CruiseControl的工作原理
(3) CruiseControl的配置脚本

 

android开发板
linux_android开发板
fpga图像处理
端海培训实验设备
fpga培训班
 
本课程部分实验室实景
端海实验室
实验室
端海培训优势
 
  备案号:备案号:沪ICP备08026168号-1 .(2024年07月24日)....................
友情链接:Cadence培训 ICEPAK培训 EMC培训 电磁兼容培训 sas容培训 罗克韦尔PLC培训 欧姆龙PLC培训 PLC培训 三菱PLC培训 西门子PLC培训 dcs培训 横河dcs培训 艾默生培训 robot CAD培训 eplan培训 dcs培训 电路板设计培训 浙大dcs培训 PCB设计培训 adams培训 fluent培训系列课程 培训机构课程短期培训系列课程培训机构 长期课程列表实践课程高级课程学校培训机构周末班培训 南京 NS3培训 OpenGL培训 FPGA培训 PCIE培训 MTK培训 Cortex训 Arduino培训 单片机培训 EMC培训 信号完整性培训 电源设计培训 电机控制培训 LabVIEW培训 OPENCV培训 集成电路培训 UVM验证培训 VxWorks培训 CST培训 PLC培训 Python培训 ANSYS培训 VB语言培训 HFSS培训 SAS培训 Ansys培训 短期培训系列课程培训机构 长期课程列表实践课程高级课程学校培训机构周末班 端海 教育 企业 学院 培训课程 系列班 长期课程列表实践课程高级课程学校培训机构周末班 短期培训系列课程培训机构 端海教育企业学院培训课程 系列班