- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32-uCOS移植STM32-uCOS移植
uCOS 学习随笔 StepbyStep-2 Project: fira-mirosot-robot
uCOS 学习随笔 StepbyStep-2
—— 理解中断(基于 STM32 控制的第四代圆梦小车)
一、缘由
这一步本来计划结合需求搭建任务框架,完成概要设计的,之后再根据任务框架将任务
逐一实施。
可在第一步时就对系统的时基的形成存在疑惑,对 uCOSII 是如何实现定时的没有吃透,
丝毫没有发现系统去使用 STM32 的定时器,也没有看到相应的中断处理,倒是发现:如果
使用系统的延时函数,精度很难达到要求。
因为小车需要产生PWM 信号,虽说周期不算短,有 8ms 呢(125Hz) ,可如果将系统的
Tick 设置为 10ms,指望直接使用系统地定时不太可能了,必须另谋出路。
而且,必须和 PWM 同步的电流、电压采样似乎也必须有较高的实时性。
检测车轮转动的码盘信号最快约为 200 Hz, 周期约5ms, 也必须靠中断采集。
因此,要能恰当的搭建任务框架,必须很好的了解 uCOSII 的中断实现机制,以及中断
后任务是如何切换的。这样才能合理分配资源,以保证小车的控制遂心如愿。
所以,将第二步改为“理解中断” ,主要探讨系统中是如何实现定时的?是如何实现中断
的?自己如何编写一个中断服务程序?中断处理中的信息如何与任务交互?如何通过中断激
活相应的任务?
基本掌握了这些,分配任务才能做到心中有底。
二、理解系统定时
通过仔细阅读源码,基本理解了系统定时是如何实现的了。
uCOSII 只使用了STM32 的 SysTick ,这部分没有使用ST 的库,而且硬件上似乎系统只
第 1 页 共 13 页
uCOS 学习随笔 StepbyStep-2 Project: fira-mirosot-robot
使用了 SysTick 。 SysTick 的初始化及中断部分由 uCOSII 系统部分完成,准确地说是
STM32 移植部分。
详细工作过程如下:
1) 在app.c 的App_TaskStart 中调用:
OS_CPU_SysTickInit()
此函数在 COMMON\uCOS-II\Ports\ARM-Cortex-M3\Generic\RealView\os_cpu_c.c 中定
义,主要完成 SysTick 的中断初始化。(从目录上看就知道属于移植部分)
2)在中断向量定义 Vectors.s 中定义了:
IMPORT OS_CPU_SysTickHandler 以及:
DCD OS_CPU_SysTickHandler ; 15, uC/OS-II Tick ISR Handler
将中断向量 15 定位于 SysTick 的中断服务程序。
3)在 COMMON\uCOS-II\Ports\ARM-Cortex-M3\Generic\RealView\os_cpu_c.c 中定义:
这就是SysTick 的中断处理程序。其中调用了 OSTimeTick ,处理系统的时基。
4)OSTimeTick 在 COMMON\uCOS-II\Source\os_core.c 中定义:
第 2 页 共 13 页
uCOS 学习随笔 StepbyStep-2 Project: fira-mirosot-robot
在这个函数中主要处理了处于等待状态任务(Waiting)的等待计时,也就是调用了以下
两个延时函数之一的任务:
void OSTimeDly (INT16U ticks) (在 OS_Time.c 中定义)
INT8U O
您可能关注的文档
- PLC之间的MPI通讯-全局数据包通讯方式PLC之间的MPI通讯-全局数据包通讯方式.pdf
- PKPM系列产品订单及价格表PKPM系列产品订单及价格表.pdf
- plc说课稿plc说课稿.pdf
- PMC设定PMC设定.pdf
- POP_制程测试报告POP_制程测试报告.pdf
- POE_命令配置手册_-02-24POE_命令配置手册_-02-24.pdf
- POP制程POP制程.ppt
- POP制程说明及管控因应POP制程说明及管控因应.pdf
- PowerPoint 演示文稿 - 语文备课大师PowerPoint 演示文稿 - 语文备课大师.ppt
- Photoshop特效 万花筒-3 Caleidoscopios y Greguerías 3Photoshop特效 万花筒-3 Caleidoscopios y Greguerías 3.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)