OSAL,主要是一种机制,一种任务分配资源的机制,从而形成了一个简单多任务的操作系统。
首先, OSAL初始化系统,包括软件系统初始化和资源初始化.其中软件系统初始化就是初始化一些变量,比如OSAL重要的组成部分任务表,任务结构体和序列号.资源初始化主要包括内存,中断,NV等各种设备模块资源。
接着,OSAL通过osal_add_task添加任务到任务表中,形成一个任务链表.这个任务链表是以任务的优先级先后排序的.优先级高的排在前,低者排于后。
最后,开始运行系统,系统是以一个死循环的形式工作的.在循环体当中不断地检测各个任务,看是否要运行等.这就相当于我们平时用的linux和window等多任务系统,把CPU分成N个时间片(有多少任务就分成多少时间片),只要处理频率高,就相当于多任务同时运行了.当然了,OSAL远没有pc系统优化的那么好,但对于我们平时没有采用任何机制的单片机程序,执行效率还是要高得多的..这就是为什么,同样是一块51芯片,cc2430能处理这么多事件了。
阅读(428) | 评论(0) | 转发(0) |