嵌入式实时操作系统MQX应用开发技术——ARM Cortex-M微处理器

出版日期:2014-8
ISBN:9787121240378
作者:王宜怀,朱仕浪,姚望舒
页数:348页

书籍目录

第1章
1
概 述
1
1.1 关于RTOS的几个基本问题
1
1.1.1 什么是实时操作系统
1
1.1.2 使用RTOS的场合与RTOS的选择
3
1.1.3 RTOS的发展历程及几种流行的RTOS简介
4
1.2 RTOS的相关术语
5
1.2.1 内核类相关术语
5
1.2.2 任务类相关术语
7
1.3 MQX的主要特点及版本历史
9
1.3.1 MQX的主要特点
9
1.3.2 MQX的版本升级
9
1.4 MQX的资料简介
10
第2章
13
MQX系统的工程构架及
13
第一个样例工程
13
2.1 软硬件开发环境
13
2.1.1 软件开发平台——CW简介
14
2.1.2 SD-FSL-K60-C硬件系统
15
2.2 Freescale提供的MQX资源简介
15
2.3 初识MQX——内核、PSP及BSP
16
2.3.1 MQX的内核
16
2.3.2 处理器支持包PSP
17
2.3.3 板级支持包BSP
17
2.4 MQX工程框架——AMQXFW
18
2.4.1 MQX工程框架AMQXFW的目录结构
18
2.4.2 <MQX>的下级文件夹组成
20
2.4.3 <MQX>的下级文件夹解析
21
2.5 MQX第一个样例工程
26
2.5.1 样例工程的功能
26
2.5.2 样例工程任务设计
27
2.5.3 样例工程的运行测试
33
2.5.4 样例工程构建过程
34
2.5.5 上电复位到main函数之前的执行过程
37
2.6 MQX操作系统的启动流程剖析
40
2.6.1 内存的分配和部署
40
2.6.2 内核数据区剖析
41
2.6.3 MQX初始化结构体常数MQX_init_struct
42
2.6.4 MQX任务模板文件(task_templates.c)解析
45
2.6.5 MQX系统启动过程:_mqx函数剖析
46
第3章
53
MQX中断机制与时间管理
53
3.1 中断处理的通用基础知识概要
53
3.1.1 中断的基本概念
53
3.1.2 中断处理的基本过程
54
3.2 MQX中断处理过程及用户ISR安装方法
55
3.2.1 MQX中断处理函数简介
55
3.2.2 MQX中断处理过程
56
3.2.3 MQX中断编程的编译条件设定
56
3.2.4 MQX用户ISR安装方法
57
3.3 MQX中断管理与运行机制剖析
58
3.3.1 MQX中断系统涉及的数据结构
58
3.3.2 MQX中断系统初始化过程剖析
60
3.3.3 基于ARM Cortex-M4的MQX内核ISR源码剖析
67
3.3.4 理解MQX中断机制需要掌握的几个知识点
77
3.4 MQX时间管理函数及用法
79
3.4.1 _time_delay函数的使用方法及注意点
81
3.4.2 绝对时间的来源与用法举例
81
3.5 MQX时间管理实现方法及机制剖析
82
3.5.1 ARM Cortex-M的SysTick的硬件系统
82
3.5.2 hwtimer_systick_init()函数回调分析
83
3.5.3 SysTick嘀嗒定时器的初始化配置和启动
85
3.5.4 SysTick中断服务例程ISR
88
3.5.5 延时函数_time_delay及相关源代码剖析
91
第4章
93
MQX常用IO驱动
93
使用方法简介
93
4.1 MQX驱动分类及其简介
93
4.2 MQX工程常用I/O驱动的添加过程
94
4.3.1 设备标识符及命名方法
97
4.3.2 MQX标准设备驱动管理的三层模型
97
4.3.3 MQX I/O设备驱动管理队列
99
4.4 安装类IO设备驱动应用实例
100
4.4.1 K60-Flash模块概述
100
4.4.2 编写Flash任务以及工程的测试
101
4.5 非安装类I/O设备驱动应用实例
103
4.5.1 K60 RTC模块概述
103
4.5.2 RTC驱动文件及添加
103
4.5.3 编写RTC工程的测试
103
4.6 MQX设备三层管理下底层驱动设计方法
105
4.6.1 底层设备驱动三层体系结构管理模式分析
105
4.6.2 底层设备驱动初始化参数的组织和分解
107
4.6.3 MQX设备三层管理底层驱动设计的步骤
109
4.7 MQX设备四层管理的驱动设计、移植和复用
110
4.7.1 MQX设备驱动四层管理模型的提出
110
4.7.2 底层驱动构件的获取与设计
111
4.7.3 接口驱动构件的设计
112
4.8 底层设备程序移植和复用设计实例
112
第5章
117
任务管理与调度
117
5.1 任务管理的基础知识
117
5.1.1 任务的三要素
117
5.1.2 任务的四种状态:终止态、阻塞态、就绪态和激活态
118
5.1.3 任务的基本形式
120
5.2 MQX任务管理函数
122
5.3 MQX任务管理机制剖析
124
5.3.1 MQX任务队列剖析
124
5.3.2 MQX任务管理函数剖析
127
5.4 MQX的FIFO及RR调度策略
131
5.5 MQX调度机制剖析
133
5.5.1 ARM Cortex-M4的SVC及PendSV中断的调度作用
134
5.5.2 系统调用服务例程的执行流程
135
5.5.3 系统调用服务例程源码剖析
138
第6章
141
任务间的同步与通信
141
6.1 轻量级事件与事件
141
6.1.1 事件的含义及应用场合
141
6.1.2 轻量级事件的常用函数与编程步骤
141
3.常用轻量级事件函数的使用说明
142
6.1.3 事件的常用函数与编程步骤
146
6.1.4 事件的组织结构与函数代码剖析
151
6.2 轻量级信号量、信号量与互斥量
162
6.2.1 信号量的含义及应用场合
162
6.2.2 轻量级信号量的常用函数与编程步骤
163
6.2.3 信号量的常用函数与编程步骤
166
6.2.4 互斥量的常用函数与编程步骤
171
6.2.5 信号量的组织结构与函数代码剖析
176
6.3 轻量级信号量的常用函数与编程步骤
191
6.3.1 优先级反转问题的含义
191
6.3.2 优先级反转问题的解决方法
192
6.4 轻量级消息队列与消息
193
6.4.1 消息的含义及应用场合
193
6.4.2 轻量级消息队列的常用函数与编程步骤
194
6.4.3 消息的常用函数与编程步骤
197
6.4.4 消息的组织结构与函数代码剖析
203
第7章
211
内存管理与日志
211
7.1 内存管理及模式选择
211
7.1.1 内存管理的区域范围
211
7.1.2 内存管理的两种方式
212
7.1.3 内存管理的相关函数
212
7.2 可变大小内存管理
213
7.2.1 可变大小内存块管理方式
213
7.2.2 可变大小内存块管理的机制剖析
216
7.2.3 内存管理使用实例
226
7.3 固定大小内存管理
227
7.3.1 固定大小区块的管理机制
228
7.3.2 固定大小区块池的创建
228
7.3.3 固定大小区块的申请分配和释放
230
7.3.4 动态区块的删除
230
7.3.5 固定大小区块的使用和管理接口函数
230
7.4 日志的应用
230
7.4.1 轻量级日志
230
7.4.2 内核日志
236
7.4.3 日志
239
第8章
241
MQX基本要素综合实例
241
8.1 需求分析与硬件说明
241
8.1.1 需求分析
241
8.1.2 硬件说明
241
8.2 中断服务例程ISR与任务功能设计
242
8.2.1 中断服务例程ISR功能设计
242
8.2.2 任务功能设计
242
8.3 PC与MCU通信帧协议的设计
243
8.3.1 帧格式
243
8.3.2 帧命令
244
8.4 MCU主要代码实现
244
8.5 PC界面
259
第9章
259
MQX程序设计相关问题的讨论
259
9.1 库文件用法
259
9.1.1 库文件的基本概念
259
9.1.2 MQX库文件(.a)的生成
260
9.1.3 库文件的使用方法
263
9.2 BSP和PSP的移植方法简介
263
9.2.1 BSP的移植
263
9.2.2 PSP的移植
264
9.3 轻量级MQX
264
9.3.1 轻量级MQX特点
264
9.3.2 轻量级MQX工程
266
9.4 ISR设计、任务划分及优先级安排问题
273
9.4.1 ISR设计的基本问题
273
9.4.2 任务划分的简明方法
273
9.4.3 任务优先级安排问题
274
9.5 程序设计中其他若干问题的讨论
274
9.5.1 如何避免死锁
274
9.5.2 临界区的处理
275
9.5.3 看门狗的应用
275
9.5.4 ISR参数与任务参数的作用及用法
276
USB组件的应用
277
10.1 USB基础知识
277
10.1.1 USB发展历史
277
10.1.2 USB基本概念
278
10.2 USB设备协议栈
282
10.2.1 USB设备架构
282
10.2.2 USB设备初始化
283
10.2.3 USB设备协议栈常用函数
283
10.2.4 USB设备编程举例
284
10.2.5 USB设备虚拟串口编程举例
288
10.3 USB主机协议栈
299
10.3.1 USB主机协议栈框架介绍
299
10.3.2 USB主机应用层函数
300
10.3.3 USB主机应用程序示例
301
10.3.4 USB主机工作流程剖析
304
第11章
307
RTCS组件的应用
307
11.1 以太网基础知识
307
11.1.1 以太网物理设备
307
11.1.2 相关名词解释
308
11.2 RTCS文件组织结构
311
11.3 ICMP协议
312
11.3.1 使用ICMP设置步骤
312
11.3.2 ICMP测试方法
313
11.4 UDP协议
314
11.4.1 使用UDP设置步骤
315
11.4.2 UDP测试方法
316
11.5 TCP协议
318
11.5.1 使用TCP设置步骤
318
11.5.2 TCP测试方法
320
11.6 HTTP协议
321
11.6.1 使用HTTP的PC方软件设置步骤
321
11.6.2 使用HTTP的MCU方设置步骤
323
11.6.3 HTTP测试方法
325
附录A
327
硬件评估板SD-FSL-K60-C
327
附录B
331
问 与 答
331
参 考 文 献
335

作者简介

MQX是一款免费、开源、有技术支持,面向工业控制、医疗电子、家用电器等领域的嵌入式实时操作系统(RTOS)。本书以飞思卡尔(Freescale)的MQX4.1.0为蓝本,以ARM Cortex-M微处理器为实例,详细阐述RTOS的基本概念、原理与应用方法。全书共分11章,从实际应用角度阐述MQX应用程序的设计方法。第1~7章囊括了MQX工程框架、任务基本设计方法与规则、启动流程、中断执行过程、延时函数、任务的创建、调度方法、事件、信号量、内存管理、日志等基本知识要素,同时也给出了MQX基本原理,主要包括内核数据区、MQX启动过程、中断、时间管理、任务管理、调度等机制剖析,第8章给出MQX基本知识要素的综合实例;第9章给出库文件、MQX移植、轻量级MQX、看门狗等MQX程序设计以及任务设计方法的讨论;第10~11章分别给出USB组件及RTCS组件的使用方法。


 嵌入式实时操作系统MQX应用开发技术——ARM Cortex-M微处理器下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024