第一章 认识μC/OS-Ⅱ 1
1.1 准备工作 1
1.2 BC4.51和实例一 3
1.3 实例二 10
1.4 μC/OS-Ⅱ文件与函数 13
1.4.1 μC/OS-Ⅱ文件关联 14
1.4.2 μC/OS-Ⅱ函数 15
1.5 UP-Star硬件原理图 26
1.6 本章小结 33
第二章 EWARM使用方法与芯片级程序 34
2.1 EWARM和ARM芯片级实例 34
2.1.1 EWARM开发环境和实例一 34
2.1.2 实例一工程源码 51
2.2 定时器中断与实例二 61
2.2.1 S3C2410中断源 61
2.2.2 定时器4中断 63
2.2.3 实例ex2_2 69
2.3 串口通信与实例三 75
2.3.1 串口通信方法 75
2.3.2 实例ex2_3 78
2.4 本章小结 85
第三章 将μC/OS-Ⅱ移植到UP-Star实验板上 86
3.1 μC/OS-Ⅱ LED实例 86
3.1.1 实例ex3_1 87
3.1.2 实例ex3_1注解 105
3.2 μC/OS-Ⅱ移植 106
3.2.1 os_cpu.h文件 108
3.2.2 os_cpu_c.c文件 110
3.2.3 os_cpu_a.asm文件 114
3.2.4 bsp.c文件 115
3.3 μC/OS-Ⅱ串口通信实例 116
3.3.1 实例ex3_2 116
3.3.2 实例ex3_2调试与运行 124
3.4 本章小结 126
第四章 μC/OS-Ⅱ内核与面向任务程序设计 127
4.1 μC/OS-Ⅱ内核OS_CORE.C 127
4.1.1 任务控制块 129
4.1.2 事件控制块 132
4.1.3 就绪表 133
4.1.4 空闲任务和统计任务 136
4.1.5 时钟节拍 137
4.1.6 μC/OS-Ⅱ初始化 137
4.2 任务OS_TASK.C 140
4.2.1 工程ex4_1 140
4.2.2 主程序app.c 144
4.2.3 任务程序appfun.c 145
4.2.4 工程ex4_2 153
4.3 时间OS_TIME.C 158
4.4 本章小结 159
第五章 任务协作与通信 161
5.1 信号量OS_SEM.C 161
5.1.1 工程ex5_1 161
5.1.2 工程ex5_1代码与注解 163
5.2 互斥型信号量OS_MUTEX.C 166
5.2.1 工程ex5_2 167
5.2.2 工程ex5_2代码与注解 169
5.3 消息邮箱OS_MBOX.C 172
5.3.1 工程ex5_3 173
5.3.2 工程ex5_3功能注解 174
5.4 消息队列OS_Q.C 179
5.4.1 工程ex5_4 179
5.4.2 工程ex5_4功能注解 181
5.5 事件标志OS_FLAG.C 185
5.5.1 工程ex5_5 186
5.5.2 工程ex5_5功能注解 188
5.6 多事件请求处理 191
5.6.1 工程ex5_6 192
5.6.2 工程ex5_6功能注解 193
5.7 μC/OS-Ⅱ组件配置OS_CFG.H 197
5.8 本章小结 200
第六章 中断与μC/OS-Ⅱ定时器 201
6.1 外部中断处理 201
6.1.1 外部中断实例 201
6.1.2 工程ex6_1注解 202
6.2 定时器OS_TMR.C 219
6.2.1 定时器实例 220
6.2.2 工程ex6_2注解 222
6.3 本章小结 228
第七章 动态内存配置与Bootloader 229
7.1 动态存储OS_MEM.C 229
7.1.1 内存分区实例 229
7.1.2 工程ex7_1注解 231
7.2 Bootloader设计 234
7.2.1 读写FLASH工程 234
7.2.2 用于自举的工程ex7_3 242
7.2.3 目标代码转化为C头文件flash.h 252
7.2.4 Bootloader工程ex7_4 257
7.2.5 H-JTAG下载方式 259
7.3 本章小结 262
第八章 博创UP-CUP2410移植与实例 263
8.1 准备工作 263
8.2 UP-CUP2410工程实例 264
8.2.1 工程ex8_1 264
8.2.2 工程ex8_1代码与注解 265
8.3 本章小结 281
第九章 天嵌TQ2440移植与实例 282
9.1 准备工作 282
9.2 TQ2440工程实例 282
9.3 Bootloader 311
9.4 本章小结 322
附录一 第2.1节实例一的MAP表文件ex2_1.map内容 323
附录二 TQ2440实验板K9F1208代码下载工程 329