模板例子: V7-uCOS-III动态时钟实现(含MDK的AC5和AC6以及IAR).rar 5 _% q k, ~* y: K+ b/ ]J* m3 O. d+ T# {+ U 1、MDK使用MDK5.26及其以上版本。 2、IAR使用IAR8.30及其以上版本。) }# X% ~, U0 D% |2 m5 k 3、由于Mircium当前仅提供了IAR的底层移植文件,参考修改制作了个MDK版本的。* V1 [ A5 ?! M 4、新版的底层移植文件比较好用,支持M3,M4和M7,含浮点支持。 5、制作了一个滴答定时器和PendSV中断入口汇编文件os_cpu_isr.asm,以后不用繁琐的修改启动文件的中断入口函数名,直接添加此贴文件即可。8 M( b- w. w9 \ ]& E 6、新版的中断管理分为Kernel Aware和Non-Kernel Aware, M' }1 K! i+ \2 {1 z1 `1 u4 k (1)Kernel Aware 表示受到uCOS-III管理的中断服务程序。 (2)Non-Kernel Aware 表示不受管理的中断服务程序,中断使用跟裸机一样,但不可调用uCOS-III的API。! Q' l. `7 K% T7 ?' l 7、uCOS-III进入V3.07.00版本后与之前的版本变化较大,确切的说是更好用了。新的内核部分越来越向uCOS-II靠拢,之前臃肿的功能和不合理方案都已经放弃。 uCOS-III刚推出的时候,搞了不少功能,什么中断延迟提交,多事件等待,专门搞一个滴答定时器任务等新功能。升级到当前的V3.07.00后,都被干掉了,不实用。' O% e) f$ q+ q) c5 c' O/ L 8、动态时钟管理用的TIM5实现,Micrium文档:* [8 H, G% {1 C& ] Part1:AN-Dynamic-Tick-BSP.pdf 1 W, {" M. }" f% y5 h Part2:AN-Dynamic-Tick-Optimization-V1.0.pdf 这里的动态滴答模式类似RTX,FreeRTOS的tickless,都是用于低功耗的。3 l, g5 {8 V' j6 I+ f$ d 正常滴答和动态滴答的效果对比: % X. v( Z) }% |* E8 L" \5 \* y / d0 } |7 c/ q9 S) q. Q, luC/Probe
& V4 ]2 o) k" j. }) d' V: g% O6 x5 ^ |
| 收藏 |
微信公众号
手机版