logo资料库

STM32F1 UCOS开发手册_V2.0.pdf

第1页 / 共205页
第2页 / 共205页
第3页 / 共205页
第4页 / 共205页
第5页 / 共205页
第6页 / 共205页
第7页 / 共205页
第8页 / 共205页
资料共205页,剩余部分请下载后查看
STM32F1 UCOS 开发手册 ALIENTEK STM32F103 全系列开发板 UCOSII/III 开发教程 STM32F1 UCOS 开发手册 V2.0 −ALIENTEK STM32F1 UCOSII/III 开发教程 本教程适用于 ALIENTEK 所有 STM32F103 开发板 1
STM32F1 UCOS 开发手册 ALIENTEK STM32F103 全系列开发板 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
STM32F1 UCOS 开发手册 ALIENTEK STM32F103 全系列开发板 UCOSII/III 开发教程 文档更新说明 版本 版本更新说明 负责人 校审 发布日期 初稿: 第一章 UCOSII 移植 第二章 Cortex-M3/M4 基础 第三章 移植文件讲解 第四章 UCOSIII 移植 第五章 UCOSIII 任务管理 V1.0 第六章 任务相关 API 函数使用 左忠凯 刘军 2015.4.22 第七章 UCOSIII 中断和时间管理 第八章 UCOSIII 软件定时器 第九章 UCOSIII 信号量和互斥信号量 第十章 UCOSIII 消息传递 第十一章 事件标志组 第十二章 存储管理 3
STM32F1 UCOS 开发手册 ALIENTEK STM32F103 全系列开发板 UCOSII/III 开发教程 目录 STM32F1 UCOS ................................................................................................................................ 1 开发手册 V2.0 ................................................................................................................................. 1 −ALIENTEK STM32F1 UCOSII/III 开发教程 .............................................................................. 1 第一章 UCOSII 移植 ................................................................................................................... 10 1.1 移植准备工作 .................................................................................................... 11 1.2 UCOS II 移植 ...................................................................................................... 12 1.3 软件设计 ............................................................................................................. 16 1.4 下载验证 ............................................................................................................. 19 第二章 Cortex-M3 基础 ................................................................................................................ 21 2.1 Cortex-M3 通用寄存器 ...................................................................................... 22 2.2 操作模式和特权级别 ........................................................................................ 26 2.3 堆栈 .................................................................................................................... 27 2.3.1 Cortex-M3 堆栈操作 ................................................................................. 27 2.3.2 双堆栈机制 .............................................................................................. 27 2.3.3 Stack frames ............................................................................................... 28 2.4 SVC 和 PendSV 异常 ........................................................................................ 30 2.4.1 SVC 异常 ................................................................................................... 30 2.4.2 PendSV 异常 ............................................................................................. 31 第三章移植文件讲解 ..................................................................................................................... 34 3.1 滴答定时器 SysTick .......................................................................................... 35 3.2 os_cpu_a.asm 文件详解 ...................................................................................... 36 3.3 os_cpu.h 文件详解 .............................................................................................. 39 3.4 os_cpu_c.c 文件详解 .......................................................................................... 40 第四章 UCOSIII 移植 .................................................................................................................. 41 4.1 UCOSIII 简介 ..................................................................................................... 42 4.2 移植准备工作 ..................................................................................................... 43 4.2.1 准备基础工程 .......................................................................................... 43 4
STM32F1 UCOS 开发手册 ALIENTEK STM32F103 全系列开发板 UCOSII/III 开发教程 4.2.2 UCOSIII 源码 ............................................................................................ 44 4.3 UCOS III 移植 .................................................................................................... 50 4.3.1 向工程中添加相应的文件 ...................................................................... 50 4.3.2 修改 bsp.c 和 bsp.h 文件 .......................................................................... 54 4.3.3 修改 os_cpu_a.asm 文件 .......................................................................... 56 4.3.4 修改 os_cpu_c.c 文件 ............................................................................... 56 4.3.5 修改 os_cfg_app.h .................................................................................... 58 4.3.6 修改 SYSTEM 文件夹 ............................................................................. 59 4.4 软件设计 ............................................................................................................. 59 4.5 下载验证 ............................................................................................................. 63 第五章 UCOSIII 任务管理 .......................................................................................................... 65 5.1 UCOSIII 启动和初始化 ..................................................................................... 66 5.2 任务状态 ............................................................................................................ 67 5.3 任务控制块 ........................................................................................................ 68 5.4 任务堆栈 ............................................................................................................ 70 5.5 任务就绪表 ........................................................................................................ 71 5.5.1 优先级位映射表 ....................................................................................... 71 5.5.2 就绪任务列表 ........................................................................................... 73 5.6 任务调度和切换 ................................................................................................ 74 5.6.1 可剥夺型调度 .......................................................................................... 74 5.6.2 时间片轮转调度 ...................................................................................... 77 第六章 任务相关 API 函数使用 .................................................................................................. 80 6.1 任务创建和删除实验 ........................................................................................ 81 6.1.1 OSTaskCreate()函数 .................................................................................. 81 6.1.2 OSTaskDel()函数 ...................................................................................... 82 6.1.3 实验程序设计 .......................................................................................... 82 6.1.4 程序运行结果分析 .................................................................................. 87 6.2 任务挂起和恢复实验 ........................................................................................ 88 6.2.1 OSTaskSuspend()函数 ............................................................................... 88 6.2.2 OSTaskResume()函数 ............................................................................... 88 6.2.3 实验程序设计 .......................................................................................... 88 6.2.4 程序运行结果分析 .................................................................................. 89 5
STM32F1 UCOS 开发手册 ALIENTEK STM32F103 全系列开发板 UCOSII/III 开发教程 6.3 时间片轮转调度实验 ........................................................................................ 91 6.3.1 OSSchedRoundRobinCfg()函数 ............................................................... 91 6.3.2 OSSchedRoundRobinYield()函数 ............................................................. 92 6.3.3 实验程序设计 ........................................................................................... 92 6.3.4 实验程序运行结果 ................................................................................... 94 第七章 UCOSIII 系统内部任务 .................................................................................................. 96 7.1 空闲任务 ............................................................................................................ 97 7.2 时钟节拍任务 .................................................................................................... 98 7.3 统计任务 .......................................................................................................... 101 7.4 定时任务 .......................................................................................................... 102 7.5 中断服务管理任务 ........................................................................................... 102 7.6 钩子函数 ........................................................................................................... 103 7.6.1 空闲任务钩子函数 ................................................................................ 103 7.6.2 实验程序设计 ........................................................................................ 104 7.6.3 实验程序运行结果 ................................................................................ 104 7.6.4 其他任务钩子函数 ................................................................................ 105 第八章 UCOSIII 中断和时间管理 ............................................................................................ 106 8.1 中断管理 .......................................................................................................... 107 8.1.1 UCOSIII 中断处理过程 .......................................................................... 107 8.1.2 直接发布和延迟发布 ............................................................................ 108 8.1.3 OSTimeTick()函数 .................................................................................. 110 8.1.4 临界段代码保护 ..................................................................................... 111 8.2 时间管理 .......................................................................................................... 112 8.2.1 OSTimeDly()函数 ................................................................................... 112 8.2.2 OSTimeDlyHMSM()函数 ....................................................................... 113 8.2.3 其他有关时间函数 ................................................................................ 113 第九章 UCOSIII 软件定时器 .................................................................................................... 114 9.1 定时器工作模式 .............................................................................................. 115 9.1.1 创建一个定时器 ..................................................................................... 115 9.1.2 单次定时器 ............................................................................................. 115 9.1.3 周期定时器(无初始化延迟) ................................................................... 116 6
STM32F1 UCOS 开发手册 ALIENTEK STM32F103 全系列开发板 UCOSII/III 开发教程 9.1.4 周期定时器(有初始化延迟) ................................................................... 117 9.2 UCOSIII 定时器实验 ....................................................................................... 118 9.2.1 实验程序设计 ........................................................................................ 118 9.2.2 实验程序运行结果 ................................................................................ 122 第十章 UCOSIII 信号量和互斥信号量 ..................................................................................... 125 10.1 信号量 ............................................................................................................. 126 10.1.1 创建信号量 ........................................................................................... 126 10.1.2 请求信号量 ........................................................................................... 127 10.1.3 发送信号量 ........................................................................................... 127 10.2 直接访问共享资源区实验 ............................................................................ 127 10.2.1 实验程序设计 ...................................................................................... 128 10.2.2 实验程序运行结果 .............................................................................. 129 10.3 使用信号量访问共享资源区实验 ................................................................ 130 10.3.1 实验程序设计 ...................................................................................... 130 10.3.2 实验程序运行结果 .............................................................................. 131 10.4 任务同步实验 ................................................................................................ 132 10.4.1 实验程序设计 ...................................................................................... 133 10.4.2 实验程序运行结果 .............................................................................. 134 10.5 优先级反转 ..................................................................................................... 135 10.6 优先级反转实验 ............................................................................................ 136 10.6.1 实验程序设计 ...................................................................................... 136 10.6.2 实验程序运行结果 .............................................................................. 139 10.7 互斥信号量 .................................................................................................... 141 10.7.1 创建互斥型信号量 ............................................................................... 142 10.7.2 请求互斥型信号量 ............................................................................... 142 10.7.3 发送互斥信号量 ................................................................................... 143 10.8 互斥信号量实验 ............................................................................................ 144 10.8.1 实验程序设计 ...................................................................................... 144 10.8.2 实验程序运行结果 .............................................................................. 146 10.9 任务内嵌信号量 ............................................................................................ 148 10.9.1 等待任务信号量 .................................................................................. 148 10.9.2 发布任务信号量 .................................................................................. 148 10.10 任务内嵌信号量实验 .................................................................................. 149 7
STM32F1 UCOS 开发手册 ALIENTEK STM32F103 全系列开发板 UCOSII/III 开发教程 10.10.1 实验程序设计 .................................................................................... 149 10.10.2 实验程序运行结果 ............................................................................ 150 第十一章 UCOSIII 消息传递 .................................................................................................... 152 11.1 消息队列 ......................................................................................................... 153 11.2 消息队列相关函数 ......................................................................................... 154 11.2.1 创建消息队列 ....................................................................................... 154 11.2.2 等待消息队列 ....................................................................................... 154 11.2.3 向消息队列发送消息 ........................................................................... 155 11.3 消息队列实验 ................................................................................................ 156 11.3.1 实验程序设计 ....................................................................................... 156 11.3.2 实验程序运行结果 ............................................................................... 161 11.4 任务内建消息队列 ........................................................................................ 164 11.4.1 等待任务内建消息 ............................................................................... 164 11.4.2 发送任务内建消息 ............................................................................... 164 11.5 任务内建消息队列实验 ................................................................................ 165 11.5.1 实验程序设计 ....................................................................................... 165 11.5.2 实验程序运行结果 ............................................................................... 169 第十二章 事件标志组 ................................................................................................................. 172 12.1 事件标志组 ..................................................................................................... 173 12.2 事件标志组相关函数 ..................................................................................... 174 12.2.1 创建事件标志组 .................................................................................. 174 12.2.2 等待事件标志组 .................................................................................. 174 12.2.3 向事件标志组发布标志 ...................................................................... 175 12.3 时间标志组实验 ............................................................................................. 175 12.3.1 实验程序设计 ...................................................................................... 175 12.3.2 实验程序结果分析 .............................................................................. 181 第十三章 同时等待多个内核对象 ............................................................................................. 184 13.1 同时等待多个内核对象 ................................................................................ 185 13.2 OSPendMulti()函数 ..................................................................................... 185 13.3 同时等待多个内核对象实验 ........................................................................ 186 13.3.1 实验程序设计 ...................................................................................... 186 8
分享到:
收藏