4、增大较多,不适合移植到小容量的单片机上使用。笔者有幸于2008年接触到TI公司应用与zigbee协议栈的一款非抢占操作系统,下面将其叫做LTOS(little TI OS or LiTie OS),由于它应用简单方便,,开发项目稳定可靠,便于理解和学习,使得操作系统初学者可以很容易的对操作系统整体有一个全面的了解,所以笔者决定将该操作系统移植出来,放入STC12C60S2单片机中使用。记录下该文档抛砖引玉,使更多人能更快地理解该操作系统并得到的该小型操作系统更好的发展和应用。一:对TI操作系统初步分析 1.1任务、事件、消息刚拿到TI-MAC1.2.1时被该程序搞蒙了,
6、消息来实现,二是通过延时设置任务来完成。任务内部消息就是一个系统事件。在进入LTOS系统前,先利用osal_init_system()等初始化程序将操作系统初始化,主要功能就是内存分配函数的初始化、定时器的初始化以及为任务的加入。任务初始化时将任务按预先设定分配了不同的优先级,LTOS系统按照赋值的优先级顺序从高到底不停的扫描这些任务,查看他们是否被设置了事件,如果该任务被设置了事件,则操作系统将马上进入这个该任务对应的pFnEventProcessor(处理任务函数)中执行该任务中的事件。初始化和任务加入完成之后就开始进入任务调度函数osalNextActiveTask( v
7、oid )。进入任务调度函数首先扫描定时器和串口,查看定时器和串口的变化,然后利用osalNextActiveTask()函数查看任务列表中是否有被设置了事件的任务。以下是该函数的原型:osalTaskRec_t *osalNextActiveTask( void ){ osalTaskRec_t *srchTask; // Start at the beginning srchTask = tasksHead; // When found or not while ( srchT