内容简介
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组件的使用方法。
目录
目 录
第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<