
模板例子:0 A+ U" T' O: U![]() 1、MDK使用MDK5.26及其以上版本。 2、IAR使用IAR8.30及其以上版本。* \9 w; h, U5 i: z' w 3、由于Mircium当前仅提供了IAR的底层移植文件,参考修改制作了个MDK版本的。 4、新版的底层移植文件比较好用,支持M3,M4和M7,含浮点支持。# ~% K/ p5 E8 ^+ p1 ^ 5、制作了一个滴答定时器和PendSV中断入口汇编文件os_cpu_isr.asm,以后不用繁琐的修改启动文件的中断入口函数名,直接添加此贴文件即可。 6、新版的中断管理分为Kernel Aware和Non-Kernel Aware! V: m: C0 f1 \ e9 K2 A (1)Kernel Aware 表示受到uCOS-III管理的中断服务程序。 (2)Non-Kernel Aware 表示不受管理的中断服务程序,中断使用跟裸机一样,但不可调用uCOS-III的API。- j6 I5 |( T) q- N/ G4 A4 N 7、uCOS-III进入V3.07.00版本后与之前的版本变化较大,确切的说是更好用了。新的内核部分越来越向uCOS-II靠拢,之前臃肿的功能和不合理方案都已经放弃。 uCOS-III刚推出的时候,搞了不少功能,什么中断延迟提交,多事件等待,专门搞一个滴答定时器任务等新功能。升级到当前的V3.07.00后,都被干掉了,不实用。 8、动态时钟管理用的TIM5实现,Micrium文档: ![]() ![]() ![]() 这里的动态滴答模式类似RTX,FreeRTOS的tickless,都是用于低功耗的。. Y5 r Y& `2 z% T 正常滴答和动态滴答的效果对比:# O. \& t$ X+ ^& h9 q+ f ![]() ![]() 8 v* C5 `" k, O8 j% e uC/Probe ![]() * ^: |1 ^ u$ u; R) t0 e : f# A' I( z# h a: W |
收藏 |