随笔分类 - CortexM3-UCOSiii驱动
ucosiii浅析内核对象-软件定时器
摘要:内核对象和各种内核机制的函数接口都在os.h里声明,实现在各自的.c文件,比如os_tmr.c和os_time.c。 C语言全局变量一般会默认初始化;局部变量如若不初始化,会分配垃圾数据的;建议使用时都手动初始化。 其实使用内核对象时,就类似与使用任务,只不过在创建对象之前,要先声明一个内核对象。
阅读全文
ucosiii几个常用的时间管理函数
摘要:昨天我们说了系统节拍,经过一步步的分析,了解了任务运行的基础,是怎么来的。今天就继续谈谈“时间管理”这个话题,系统节拍驱动任务的运行,时间管理就是对任务的运行时间进行管理的一种内核机制。那么下面就简单介绍几个常用的时间管理函数。 1.OSTimeDly函数,它位于os_time.c文件中,这个文件还
阅读全文
usosiii时钟节拍
摘要:在APP组里的os_cfg_app.h文件可以设置系统时钟SysTick的时钟节拍频率(还可以设置它的任务优先级,任务栈大小,时间片数组大小),一般使用1000Hz,也就是节拍周期为1ms。 下面我们看看它的配置步骤的关键代码,BSP_CPU_ClkFreq()函数内部其实调用的rcc的库函数来获取
阅读全文
ucosiii多任务之使用3个LED
摘要:昨天说到了移植ucos,并且完成了移植过程,其实都是依葫芦画瓢,今天我们来尝试尝试它的多任务,目标是创建三个led任务,还是按照手册上的教程一步一步来敲一下代码,先熟悉以下步骤,然后再思考为什么要这么做? 1.在app_cfg.h里,定义三个led任务的优先级和栈空间大小 *************
阅读全文
ucosiii移植到stm32的几个小步骤
摘要:下面就开始移植到ucosiii到自己的板子上了。 3.打开项目,添加组,将相关文件再添加到相关组。 4.对功能进行裁剪(失能一些未使用到的宏,删减一些还没用到的函数)。 其实就是照着别人的手册,就是上面说到的开发指南,本人动手的时候会遇到一些小问题,稍加思考和查找资料就能轻易解决,这次就是操作一遍以
阅读全文
ucosiii文件结构及内核对象概念
摘要:ucosiii的定义:可升级,可固化的,基于优先级的实时内核。 下面先来看看ucosiii的文件结构图:这个图从下至上就是从底层到上层的一个结构,总的来说就是三层:CPU的配置与移植,内核服务,功能裁剪及应用任务。当然这个图是盗的秉火对应手册里的。既然别人做了这么好的总结,我们就多看看。 下面我们就
阅读全文