找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2662|回复: 1
收起左侧

UCOS Learning Notes N.O. 01【Originality】

[复制链接]
ID:72519 发表于 2015-1-23 21:00 | 显示全部楼层 |阅读模式
    有近三个月的时间没有看关于UCOS的书了,今天我重新拿起那本任哲写的关于UCOS,感觉有点亲切,今天下午我把移植ARM的的UCOS的代码看了一部分,感觉比以前好多了,待会我再详细解,我先把我刚才看的东西通过我的理解把它写下来,以后好复习。
我这里讲的是基于UCOS 2.52的版本,关于UCOS的介绍,我就不多说了,反正只要知道它是一个实时的微内核,它拥有64个优先级别,级别数最大反而优先级越低,至于为什么,呵呵,网友们应该不会这样想吧;知道这点就算是有了一个门外汉的初步了解拉。
      要想深入了解它,首先我们得知道它的文件结构,因为它是一个实时嵌入式的操作系统,所以对移植要求比较高,正因为如此其创作者几乎全部是用ANSIC写的,只有几个文件与你所用的编译环境和硬件抽象底层有关的需要自己写,他们分别是OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C,这几个文件里面分别放的是什么东西呢,呵呵,先别急,一个一个来,OS_CPU.H里面放的是编译环境数据类型的重新定义,怎么说呢,该操作系统的创作者为了增强移植性,它把数据类型全部交有我们用户来定义,也就是为了避免这种现象,比如说int在vc++中是16位的,而在ADS1.2中是32位的,而我们操作系统中用的是16位的,那么为了防止冲突,我们在ADS1.2中时必须把int定义为16位的int,记住我们在用typedef重定义数据类型是,是不能把新的定义名称和该编译器中的数据类型名一样的,否则编译器会打架的,我上面用的int是不对的,主要是为了更好的让大家理解;然后在这个文件中我们还要定义一些与CPU相关的宏,主要是什么呢,就是开中断和关中断两个宏,为什么要这两个宏,又该怎么用呢?其实这就好比我们在对某一个数据进行采集时,是不能被中断的,那么我们通过什么来实现呢,相信大家应该明白了。OK!搞定一个文件了,接下来是OS_CPU_A.ASM,这玩意可有点难拉,他包含一些与所有处理器都相关的函数,比如说进入中断前的数据保护好中断结束后的数据恢复,接下来就是OS_CPU.C,它里面主要就是一个栈的定义,应该好理解。
      移植时要自己修改的或自己写的介绍完了,我稍微简单介绍下它这个核包含些什么玩意儿,请看下列表:
OS_CORE.C//核心服务模块文件
OS_FLAG.C//信号量集服务模块文件
OS_MBOX.C//消息邮箱服务模块问价
OS_MEM.C//存储管理服务模块文件
OS_MUTEX.C//互斥型信号量服务模块文件
OS_Q.C//消息队列服务模块文件
OS_SEM.C//信号量服务模块文件
OS_TASK.C//任务管理服务模块文件
OS_TIME.C//时间管理服务文件
uCOS_II.C
uCOS_II.H//与应用相关的配置文件
      该系统的可裁剪是通过条件编译来实现的,其为用户定义了一个配置文件OS_CFG.H,也就是我们在OS_CFG.H中把某个条件定义为1,编译器就对它进行编译,反之就不编译,这就实现了裁剪的功能。好了,关于这个核的文件结构我就先写这么多拉,够用了的。仅仅是我的理解,如果有不对的地方,或有更好的说法,请一定要指出并留言咯。我先谢谢拉。
      该核的文件结构了解了后,然后就可以向它的核进军,首先我们从任务来下手,一提到操作系统的任务,我们必须了解几个任务可能所处的状态:1)睡眠状态:它是一个什么样的状态呢,它其实是指一个任务在内存中就占用一部分ROM,它没有被操作系统分配任务控制块,它和其他状态下的任务没有任何直接联系,就好比我们去吃饭,正在路上;2)就绪状态:它是指操作系统给它分配了任务控制块,已经在就绪列表中登记中,就好比我们去吃饭时在那排队一样;3)运行状态:它是指一个任务正在运行,应该好理解,就好比食堂工作人员在给我们打饭;4)等待状态:就是一个任务由于一个的条件没有满足,比如说在等待一个信号量的到来,而被至于等待状态,就像我们在打饭时,如果工作人员突然尿急,那你没办法,你就得等拉;5)中断服务状态,就是在某个时刻突然因为一个中断到来,那么这个任务就会马上被中断掉,从而处于中断服务状态,比如一个饿得受不了的人,如果抢你前面,本来该你打饭的,可是你看到他这个样子,不忍心,那么你就被中断了一会,中断结束后,中断掉的任务才会被继续运行,同样的你才能够打饭;呵呵,这个比喻好像损了点。
      关于这几个任务之间的转换,由于我在宿舍,我的电脑在老师办公室,我用我同学的电脑,由于重装的系统,没有装OFFICE,我明天去实验室时补上咯。好了,今天关于UCOS就这么多吧。
回复

使用道具 举报

ID:104510 发表于 2016-1-27 08:41 | 显示全部楼层
后面的呢,继续写
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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