硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2057|回复: 4
收起左侧

[μCOS-III] 基于H7的uCOS-III动态时钟管理方案,用于低功耗,含IAR以及MDK的AC5和AC6版本

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2019-5-7 02:13:54 | 显示全部楼层 |阅读模式
模板例子:
V7-uCOS-III动态时钟实现(含MDK的AC5和AC6以及IAR).rar (3.1 MB, 下载次数: 2814)

1、MDK使用MDK5.26及其以上版本。
2、IAR使用IAR8.30及其以上版本。
3、由于Mircium当前仅提供了IAR的底层移植文件,参考修改制作了个MDK版本的。
4、新版的底层移植文件比较好用,支持M3,M4和M7,含浮点支持。
5、制作了一个滴答定时器和PendSV中断入口汇编文件os_cpu_isr.asm,以后不用繁琐的修改启动文件的中断入口函数名,直接添加此贴文件即可。
6、新版的中断管理分为Kernel Aware和Non-Kernel Aware
(1)Kernel Aware 表示受到uCOS-III管理的中断服务程序。
(2)Non-Kernel Aware 表示不受管理的中断服务程序,中断使用跟裸机一样,但不可调用uCOS-III的API。
7、uCOS-III进入V3.07.00版本后与之前的版本变化较大,确切的说是更好用了。新的内核部分越来越向uCOS-II靠拢,之前臃肿的功能和不合理方案都已经放弃。
uCOS-III刚推出的时候,搞了不少功能,什么中断延迟提交,多事件等待,专门搞一个滴答定时器任务等新功能。升级到当前的V3.07.00后,都被干掉了,不实用。
8、动态时钟管理用的TIM5实现,Micrium文档:
Part1:AN-Dynamic-Tick-BSP.pdf (540.49 KB, 下载次数: 168)
Part2:AN-Dynamic-Tick-Optimization-V1.0.pdf (521.48 KB, 下载次数: 115)

这里的动态滴答模式类似RTX,FreeRTOS的tickless,都是用于低功耗的。
正常滴答和动态滴答的效果对比:




uC/Probe
1.jpg

回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2019-5-7 12:12:15 | 显示全部楼层
默认的空闲任务只开了256字节,太小得加大,还有那个统计任务。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
 楼主| 发表于 2019-5-7 12:46:11 | 显示全部楼层
byccc 发表于 2019-5-7 12:12
默认的空闲任务只开了256字节,太小得加大,还有那个统计任务。

这个的确是小了。
回复

使用道具 举报

56

主题

905

回帖

1073

积分

至尊会员

积分
1073
发表于 2019-5-7 16:29:34 | 显示全部楼层
从prob能分析出来功耗相对原来的方式的对比不?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
 楼主| 发表于 2019-5-7 16:33:49 | 显示全部楼层
roguebear 发表于 2019-5-7 16:29
从prob能分析出来功耗相对原来的方式的对比不?

不支持。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 08:51 , Processed in 0.183592 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表