课程简介
该课程主要以Cotext-M系列MCU讲解。也可以更换为以ARM的系统结构上讲解。如果客户使用的处理器是ARM系列MCU,第1部分和第2部分可以替换为:
《第1部分 ARM体系结构与汇编指令》
《第2部分 嵌入式操作系统原理--基于ARM和uCOS》
目标收益
培训对象
课程大纲
第1部分Cotext-M体系结构与汇编指令 |
第1章Cotext-M体系结构 1、Cotext-M3寄存器 2、Cotext-M3的异常中断 3、Cotext-M3的异常中断向量表 Cotext-M3对异常中断的响应过程 第2章汇编指令与伪汇编 1、汇编指令集结构 2、汇编指令集 3、常用指令英文全称 常用伪汇编指令 |
第2部分嵌入式操作系统原理--基于Cotext-M和uCOS |
第1章操作系统实现原理 1、前后台系统的缺点 2、操作系统对前后台缺点的弥补 3、操作系统的实现原理 4、uC/OS操作系统线程实现代码 第2章uCOS任务互斥与同步 1、 共享资源互斥 2、 死锁问题 3、 任务间通信问题 4、 任务优先级分配 5、 uCOS优先级反转问题 第3章uCOS时钟节拍与内存管理 1、 uC/OS时钟节拍 2、 uC/OS内存管理 第4章操作系统比较 1、主流操作系统比较 2、3款RTOS优缺点比较――uC/OS、VxWork、FreeRTOS 3、各操作系统的建议使用领域 |
第3部分嵌入式RTOS底层硬件驱动开发 |
第1章模块化设计思想与分层设计思想 1、模块化设计的目的 2、模块化程序设计方法 (1)什么是模块? (2)什么是好模块? (3)最少知道原则 (4)模块接口设计 (5)“C语言”模块怎么组包 3、破除循环依赖 (1)次晨综合症 (2)分层设计思想 第2章底层硬件API封装模板 该单元主要介绍硬件封装的代码架构模板,该模板的目的是提高底层硬件代码的可维护性。 1、模板结构 (1)设备硬件结构体类型定义 (2)设备结构体配置 (3)设备个数宏定义 (4)设备实现需要的全局变量 (5)设备功能实现代码 2、中断处理的封装:回调函数 3、硬件复用设备对上层的不可见封装 4、硬件耦合设备对上层的不可见封装 5、模板的分类 第3章底层硬件驱动实例 1、带缓存的串口驱动开发 2、回调函数实现定时器TIMER |
第4部分嵌入式RTOS运用层开发 |
第1章功能规划与线程 1、从互不干扰的角度规划独立功能 (1)常见的嵌入式设备功能 (2)相对独立的功能 2、根据功能规划设计线程 (1)线程规划 (2)线程优先级分配 (3)避免线程饿死 第2章线程之间通信 1、全局变量 2、信号量 3、邮箱 4、消息队列 第3章运用层实例 1、串口协议解析线程 2、按键和显示线程 |
第5部分RTOS运用层代码实现在PC上自动化测试 |
第1章PC模拟底层硬件 1、PC版与真实硬件环境的不同 2、PC版测试接口 3、PC版模拟中断接口 4、PC版线程互斥处理 第2章PC上模拟运行RTOS和业务层 1、uCOS在PC上移植 2、业务层在PC上移植 第3章自动化测试 1、自动化测试原理 2、自动化测试用例流程 3、自动化测试用例文档 4、自动化测试用例代码 PS:项目实践自动化测试后的效果 |
第6部分自动化测试工具 |
第1章自动化测试工具 简单介绍测试断言工具gTest、测试打桩工具mockcpp等测试工具的使用。 详细介绍自动化测试运行工具CruiseControl的安装和配置方法。 1、自动化测试工具gTest (1)gTest的断言 (2)gTest的测试结果文件 2、打桩工具mockcpp 3、持续集成工具CruiseControl (1)什么是持续集成 (2)CruiseControl的工作原理 (3)CruiseControl的配置脚本 |
第1部分Cotext-M体系结构与汇编指令 第1章Cotext-M体系结构 1、Cotext-M3寄存器 2、Cotext-M3的异常中断 3、Cotext-M3的异常中断向量表 Cotext-M3对异常中断的响应过程 第2章汇编指令与伪汇编 1、汇编指令集结构 2、汇编指令集 3、常用指令英文全称 常用伪汇编指令 |
第2部分嵌入式操作系统原理--基于Cotext-M和uCOS 第1章操作系统实现原理 1、前后台系统的缺点 2、操作系统对前后台缺点的弥补 3、操作系统的实现原理 4、uC/OS操作系统线程实现代码 第2章uCOS任务互斥与同步 1、 共享资源互斥 2、 死锁问题 3、 任务间通信问题 4、 任务优先级分配 5、 uCOS优先级反转问题 第3章uCOS时钟节拍与内存管理 1、 uC/OS时钟节拍 2、 uC/OS内存管理 第4章操作系统比较 1、主流操作系统比较 2、3款RTOS优缺点比较――uC/OS、VxWork、FreeRTOS 3、各操作系统的建议使用领域 |
第3部分嵌入式RTOS底层硬件驱动开发 第1章模块化设计思想与分层设计思想 1、模块化设计的目的 2、模块化程序设计方法 (1)什么是模块? (2)什么是好模块? (3)最少知道原则 (4)模块接口设计 (5)“C语言”模块怎么组包 3、破除循环依赖 (1)次晨综合症 (2)分层设计思想 第2章底层硬件API封装模板 该单元主要介绍硬件封装的代码架构模板,该模板的目的是提高底层硬件代码的可维护性。 1、模板结构 (1)设备硬件结构体类型定义 (2)设备结构体配置 (3)设备个数宏定义 (4)设备实现需要的全局变量 (5)设备功能实现代码 2、中断处理的封装:回调函数 3、硬件复用设备对上层的不可见封装 4、硬件耦合设备对上层的不可见封装 5、模板的分类 第3章底层硬件驱动实例 1、带缓存的串口驱动开发 2、回调函数实现定时器TIMER |
第4部分嵌入式RTOS运用层开发 第1章功能规划与线程 1、从互不干扰的角度规划独立功能 (1)常见的嵌入式设备功能 (2)相对独立的功能 2、根据功能规划设计线程 (1)线程规划 (2)线程优先级分配 (3)避免线程饿死 第2章线程之间通信 1、全局变量 2、信号量 3、邮箱 4、消息队列 第3章运用层实例 1、串口协议解析线程 2、按键和显示线程 |
第5部分RTOS运用层代码实现在PC上自动化测试 第1章PC模拟底层硬件 1、PC版与真实硬件环境的不同 2、PC版测试接口 3、PC版模拟中断接口 4、PC版线程互斥处理 第2章PC上模拟运行RTOS和业务层 1、uCOS在PC上移植 2、业务层在PC上移植 第3章自动化测试 1、自动化测试原理 2、自动化测试用例流程 3、自动化测试用例文档 4、自动化测试用例代码 PS:项目实践自动化测试后的效果 |
第6部分自动化测试工具 第1章自动化测试工具 简单介绍测试断言工具gTest、测试打桩工具mockcpp等测试工具的使用。 详细介绍自动化测试运行工具CruiseControl的安装和配置方法。 1、自动化测试工具gTest (1)gTest的断言 (2)gTest的测试结果文件 2、打桩工具mockcpp 3、持续集成工具CruiseControl (1)什么是持续集成 (2)CruiseControl的工作原理 (3)CruiseControl的配置脚本 |