logo资料库

STM32F4 UCOS开发手册V3.0最新版.pdf

第1页 / 共214页
第2页 / 共214页
第3页 / 共214页
第4页 / 共214页
第5页 / 共214页
第6页 / 共214页
第7页 / 共214页
第8页 / 共214页
资料共214页,剩余部分请下载后查看
STM32F4 UCOS开发手册V3.0
第一章 UCOSII 移植
1.1 移植准备工作
1.2 UCOS II移植
1.3软件设计
1.4下载验证
第二章 Cortex-M3/M4基础
2.1Cortex-M3/M4通用寄存器
2.2操作模式和特权级别
2.3 FPU单元
2.3.1 FPU寄存器
2.3.2 Lazy Stacking
2.4堆栈
2.4.1 Cortex-M3/M4堆栈操作
2.4.2 双堆栈机制
2.4.3 Stack frames
2.5 SVC和 PendSV异常
2.5.1 SVC异常
2.5.2 PendSV异常
第三章 移植文件讲解
3.1 滴答定时器SysTick
3.2 os_cpu_a.asm文件详解
3.3 os_cpu.h文件详解
3.4 os_cpu_c.c文件详解
第四章 UCOSIII 移植
4.1 UCOSIII简介
4.2移植准备工作
4.2.1 准备基础工程
4.2.2 UCOSIII源码
4.3 UCOS III移植
4.3.1 向工程中添加相应的文件
4.3.2 修改bsp.c和bsp.h文件
4.3.3 修改os_cpu_a.asm文件
4.3.4 修改os_cpu_c.c文件
4.3.5 修改os_cfg_app.h
4.3.6 修改SYSTEM文件夹
4.4软件设计
4.5下载验证
第五章 UCOSIII任务管理
5.1 UCOSIII启动和初始化
5.2 任务状态
5.3 任务控制块
5.4 任务堆栈
5.5 任务就绪表
5.5.1优先级位映射表
5.5.2就绪任务列表
5.6 任务调度和切换
5.6.1 可剥夺型调度
5.6.2 时间片轮转调度
第六章 任务相关API函数使用 ***
6.1 任务创建和删除实验
6.1.1 OSTaskCreate()函数
6.1.2 OSTaskDel()函数
6.1.3 实验程序设计
6.1.4 程序运行结果分析
6.2 任务挂起和恢复实验
6.2.1 OSTaskSuspend()函数
6.2.2 OSTaskResume()函数
6.2.3 实验程序设计
6.2.4 程序运行结果分析
6.3 时间片轮转调度实验
6.3.1 OSSchedRoundRobinCfg()函数
6.3.2 OSSchedRoundRobinYield()函数
6.3.3实验程序设计
6.3.4实验程序运行结果
第七章 UCOSIII系统内部任务
7.1 空闲任务
7.2 时钟节拍任务
7.3 统计任务
7.4 定时任务
7.5中断服务管理任务
7.6钩子函数
7.6.1 空闲任务钩子函数
7.6.2 实验程序设计
7.6.3 实验程序运行结果
7.6.4 其他任务钩子函数
第八章 UCOSIII中断和时间管理
8.1 中断管理
8.1.1 UCOSIII中断处理过程
8.1.2 直接发布和延迟发布
8.1.3 OSTimeTick()函数
8.1.4 临界段代码保护
8.2 时间管理
8.2.1 OSTimeDly()函数
8.2.2 OSTimeDlyHMSM()函数
8.2.3 其他有关时间函数
第九章 UCOSIII软件定时器
9.1 定时器工作模式
9.1.1创建一个定时器
9.1.2单次定时器
9.1.3周期定时器(无初始化延迟)
9.1.4周期定时器(有初始化延迟)
9.2 UCOSIII定时器实验
9.2.1 实验程序设计
9.2.2 实验程序运行结果
第十章 UCOSIII信号量和互斥信号量
10.1 信号量
10.1.1创建信号量
10.1.2请求信号量
10.1.3发送信号量
10.2 直接访问共享资源区实验
10.2.1 实验程序设计
10.2.2 实验程序运行结果
10.3 使用信号量访问共享资源区实验
10.3.1 实验程序设计
10. 3.2 实验程序运行结果
10.4 任务同步实验
10.4.1 实验程序设计
10.4.2 实验程序运行结果
10.5 优先级反转
10.6 优先级反转实验
10.6.1 实验程序设计
10.6.2 实验程序运行结果
10.7 互斥信号量
10.7.1创建互斥型信号量
10.7.2请求互斥型信号量
10.7.3发送互斥信号量
10.8 互斥信号量实验
10.8.1 实验程序设计
10.8.2 实验程序运行结果
10.9 任务内嵌信号量
10.9.1 等待任务信号量
10.9.2 发布任务信号量
10.10 任务内嵌信号量实验
10.10.1 实验程序设计
10.10.2 实验程序运行结果
第十一章 UCOSIII消息传递
11.1消息队列
11.2消息队列相关函数
11.2.1 创建消息队列
11.2.2 等待消息队列
11.2.3 向消息队列发送消息
11.3 消息队列实验 ***
11.3.1 实验程序设计
11.3.2 实验程序运行结果
11.4 任务内建消息队列
11.4.1 等待任务内建消息
11.4.2 发送任务内建消息
11.5 任务内建消息队列实验
11.5.1 实验程序设计
11.5.2 实验程序运行结果
第十二章 事件标志组
12.1事件标志组
12.2事件标志组相关函数
12.2.1 创建事件标志组
12.2.2 等待事件标志组
12.2.3 向事件标志组发布标志
12.3时间标志组实验
12.3.1 实验程序设计
12.3.2 实验程序结果分析
第十三章 同时等待多个内核对象
13.1 同时等待多个内核对象
13.2 OSPendMulti()函数
13.3 同时等待多个内核对象实验
13.3.1 实验程序设计
10.3.2 实验程序结果分析
第十四章 存储管理
14.1存管理简介
14.2存储区创建
14.3 存储块的使用
14.3.1 内存申请
14.3.2 内存释放
14.4存储管理实验
14.4.1 实验程序设计
14.4.2 实验程序结果分析
STM32F4 UCOS 开发手册 ALIENTEK 探索者 UCOSII/III 开发教程 STM32F4 UCOS 开 发手册 V3.0 −ALIENTEKSTM32F4 UCOSII/III 开发教程 1
STM32F4 UCOS 开发手册 ALIENTEK 探索者 UCOSII/III 开发教程 广州市星翼电子科技有限公司 淘宝店铺 1:http://eboard.taobao.com 淘宝店铺 2:http://openedv.taobao.com 技术支持论坛 (开源电子网) :www.openedv.com 官方网站:www.alientek.com 最新资料下载链接:http://www.openedv.com/posts/list/13912.htm E-mail: 389063473@qq.comQQ: 389063473 咨询电话:020-38271790 传真号码:020-36773971 团队:正点原子团队 正点原子,做最全面、最优秀的嵌入式开发平台软硬件供应商。 友情提示 如果您想及时免费获取“正点原子”最新资料,敬请关注正点原子 微信公众平台,我们将及时给您发布最新消息和重要资料。 关注方法: (1)微信“扫一扫”,扫描右侧二维码,添加关注 (2)微信添加朋友公众号输入“正点原子”关注 (3)微信添加朋友输入“alientek_stm32”关注 2
STM32F4 UCOS 开发手册 ALIENTEK 探索者 UCOSII/III 开发教程 文档更新说明 版本 版本更新说明 负责人 校审 发布日期 左忠凯 刘军 2014.11.4 初稿: V1.0 第一章 UCOSII 移植 第二章 Cortex-M3/M4 基础 第三章 移植文件讲解 新增: 第四章 UCOSIII 移植 第五章 UCOSIII 任务管理 第六章 任务相关 API 函数使用 V2.0 第七章 UCOSIII 中断和时间管理 左忠凯 刘军 2014.12.10 第八章 UCOSIII 软件定时器 第九章 UCOSIII 信号量和互斥信号量 第十章 UCOSIII 消息传递 第十一章 事件标志组 修改: 1、修改了第四章中 led0_task 和 led1_task 两 个任务中由于任务堆栈设置小而进入 hardfault 的 bug。 V2.1 2、修改了第十章中关于 OSQPend()函数中参 数 p_msg_size 的解释和例 10-1 的代码。 新增: V2.2 第十二章 存储管理 调整: 从第七章开始将后面的章节号做了调整。 V3.0 新增: 第七章 UCOSIII 系统内部任务 3 左忠凯 刘军 2015.2.27 左忠凯 刘军 2015.4.24 左忠凯 刘军 2015.5.27
STM32F4 UCOS 开发手册 ALIENTEK 探索者 UCOSII/III 开发教程 版本 版本更新说明 负责人 校审 发布日期 新增: 第十章 UCOSIII 信号量和互斥信号量 第 10.5 节 优先级反转 第 10.6 节 优先级反转实验 第 10.7 节 互斥信号量 V3.0 第 10.8 节 互斥信号量实验 第 10.9 节 任务内嵌信号量 左忠凯 刘军 2015.5.27 第 10.10 节 任务内嵌信号量实验 第十一章 UCOSIII 消息传递 第 11.4 节 任务内建消息队列 第 11.5 节 任务内建消息队列实验 第十三章 同时等待多个内核对象 4
目录 STM32F4 UCOS 开发手册 ALIENTEK 探索者 UCOSII/III 开发教程 UCOS 开发手册 ............................................................................................................................... 1 第一章 UCOSII 移植 ................................................................................................................... 11 1.1 移植准备工作 .................................................................................................... 12 1.2 UCOS II 移植 ...................................................................................................... 13 1.3 软件设计 ............................................................................................................. 18 1.4 下载验证 ............................................................................................................. 21 第二章 Cortex-M3/M4 基础 ......................................................................................................... 23 2.1Cortex-M3/M4 通用寄存器 ................................................................................. 24 2.2 操作模式和特权级别 ......................................................................................... 28 2.3 FPU 单元 ............................................................................................................. 29 2.3.1 FPU 寄存器 ............................................................................................... 29 2.3.2 Lazy Stacking ............................................................................................ 30 2.4 堆栈 ..................................................................................................................... 31 2.4.1 Cortex-M3/M4 堆栈操作 .......................................................................... 31 2.4.2 双堆栈机制 .............................................................................................. 31 2.4.3 Stack frames ............................................................................................... 32 2.5 SVC 和 PendSV 异常 ........................................................................................ 35 2.5.1 SVC 异常 ................................................................................................... 35 2.5.2 PendSV 异常 ............................................................................................. 36 第三章移植文件讲解 ..................................................................................................................... 38 3.1 滴答定时器 SysTick .......................................................................................... 39 3.2 os_cpu_a.asm 文件详解 ...................................................................................... 40 3.3 os_cpu.h 文件详解 .............................................................................................. 43 3.4 os_cpu_c.c 文件详解 .......................................................................................... 44 第四章 UCOSIII 移植 .................................................................................................................. 47 4.1 UCOSIII 简介 ..................................................................................................... 48 4.2 移植准备工作 ..................................................................................................... 50 4.2.1 准备基础工程 .......................................................................................... 50 5
STM32F4 UCOS 开发手册 ALIENTEK 探索者 UCOSII/III 开发教程 4.2.2 UCOSIII 源码 ............................................................................................ 50 4.3 UCOS III 移植 .................................................................................................... 56 4.3.1 向工程中添加相应的文件 ...................................................................... 56 4.3.2 修改 bsp.c 和 bsp.h 文件 .......................................................................... 59 4.3.3 修改 os_cpu_a.asm 文件 .......................................................................... 62 4.3.4 修改 os_cpu_c.c 文件 ............................................................................... 62 4.3.5 修改 os_cfg_app.h .................................................................................... 65 4.3.6 修改 SYSTEM 文件夹 ............................................................................. 66 4.4 软件设计 ............................................................................................................. 66 4.5 下载验证 ............................................................................................................. 71 第五章 UCOSIII 任务管理 .......................................................................................................... 72 5.1 UCOSIII 启动和初始化 ..................................................................................... 73 5.2 任务状态 ............................................................................................................ 74 5.3 任务控制块 ........................................................................................................ 75 5.4 任务堆栈 ............................................................................................................ 77 5.5 任务就绪表 ........................................................................................................ 78 5.5.1 优先级位映射表 ....................................................................................... 78 5.5.2 就绪任务列表 ........................................................................................... 80 5.6 任务调度和切换 ................................................................................................ 81 5.6.1 可剥夺型调度 .......................................................................................... 81 5.6.2 时间片轮转调度 ...................................................................................... 84 第六章 任务相关 API 函数使用 .................................................................................................. 88 6.1 任务创建和删除实验 ........................................................................................ 89 6.1.1 OSTaskCreate()函数 .................................................................................. 89 6.1.2 OSTaskDel()函数 ...................................................................................... 90 6.1.3 实验程序设计 .......................................................................................... 90 6.1.4 程序运行结果分析 .................................................................................. 94 6.2 任务挂起和恢复实验 ........................................................................................ 96 6.2.1 OSTaskSuspend()函数 ............................................................................... 96 6.2.2 OSTaskResume()函数 ............................................................................... 96 6.2.3 实验程序设计 .......................................................................................... 96 6.2.4 程序运行结果分析 .................................................................................. 97 6
STM32F4 UCOS 开发手册 ALIENTEK 探索者 UCOSII/III 开发教程 6.3 时间片轮转调度实验 ........................................................................................ 99 6.3.1 OSSchedRoundRobinCfg()函数 ............................................................... 99 6.3.2 OSSchedRoundRobinYield()函数 ........................................................... 100 6.3.3 实验程序设计 ......................................................................................... 100 6.3.4 实验程序运行结果 ................................................................................. 103 第七章 UCOSIII 系统内部任务 ................................................................................................ 105 7.1 空闲任务 .......................................................................................................... 106 7.2 时钟节拍任务 .................................................................................................. 107 7.3 统计任务 .......................................................................................................... 110 7.4 定时任务 ........................................................................................................... 111 7.5 中断服务管理任务 ............................................................................................ 111 7.6 钩子函数 ........................................................................................................... 112 7.6.1 空闲任务钩子函数 ................................................................................ 112 7.6.2 实验程序设计 ........................................................................................ 113 7.6.3 实验程序运行结果 ................................................................................ 113 7.6.4 其他任务钩子函数 ................................................................................ 114 第八章 UCOSIII 中断和时间管理 ............................................................................................ 115 8.1 中断管理 .......................................................................................................... 116 8.1.1 UCOSIII 中断处理过程 .......................................................................... 116 8.1.2 直接发布和延迟发布 ............................................................................ 117 8.1.3 OSTimeTick()函数 .................................................................................. 119 8.1.4 临界段代码保护 .................................................................................... 120 8.2 时间管理 .......................................................................................................... 121 8.2.1 OSTimeDly()函数 ................................................................................... 121 8.2.2 OSTimeDlyHMSM()函数 ....................................................................... 122 8.2.3 其他有关时间函数 ................................................................................ 122 第九章 UCOSIII 软件定时器 .................................................................................................... 123 9.1 定时器工作模式 .............................................................................................. 124 9.1.1 创建一个定时器 ..................................................................................... 124 9.1.2 单次定时器 ............................................................................................. 124 9.1.3 周期定时器(无初始化延迟) ................................................................... 125 7
STM32F4 UCOS 开发手册 ALIENTEK 探索者 UCOSII/III 开发教程 9.1.4 周期定时器(有初始化延迟) ................................................................... 126 9.2 UCOSIII 定时器实验 ....................................................................................... 127 9.2.1 实验程序设计 ........................................................................................ 127 9.2.2 实验程序运行结果 ................................................................................ 131 第十章 UCOSIII 信号量和互斥信号量 ..................................................................................... 134 10.1 信号量 ............................................................................................................. 135 10.1.1 创建信号量 ........................................................................................... 135 10.1.2 请求信号量 ........................................................................................... 136 10.1.3 发送信号量 ........................................................................................... 136 10.2 直接访问共享资源区实验 ............................................................................ 136 10.2.1 实验程序设计 ...................................................................................... 137 10.2.2 实验程序运行结果 .............................................................................. 138 10.3 使用信号量访问共享资源区实验 ................................................................ 139 10.3.1 实验程序设计 ...................................................................................... 139 10.532 实验程序运行结果 ............................................................................. 140 10.4 任务同步实验 ................................................................................................ 141 10.4.1 实验程序设计 ...................................................................................... 142 10.4.2 实验程序运行结果 .............................................................................. 143 10.5 优先级反转 .................................................................................................... 144 10.6 优先级反转实验 ............................................................................................ 145 10.6.1 实验程序设计 ...................................................................................... 145 10.6.2 实验程序运行结果 .............................................................................. 148 10.7 互斥信号量 .................................................................................................... 150 10.7.1 创建互斥型信号量 ............................................................................... 151 10.7.2 请求互斥型信号量 ............................................................................... 152 10.7.3 发送互斥信号量 ................................................................................... 152 10.8 互斥信号量实验 ............................................................................................ 153 10.8.1 实验程序设计 ...................................................................................... 153 10.8.2 实验程序运行结果 .............................................................................. 155 10.9 任务内嵌信号量 ............................................................................................ 157 10.9.1 等待任务信号量 .................................................................................. 157 10.9.2 发布任务信号量 .................................................................................. 157 10.10 任务内嵌信号量实验 .................................................................................. 158 8
分享到:
收藏