Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 述职汇报 > Zstack基本工作原理,zstack协议栈工作原理

Zstack基本工作原理,zstack协议栈工作原理

收藏

本作品内容为Zstack基本工作原理,格式为 docx ,大小 586299 KB ,页数为 4页

Zstack基本工作原理


('Zstack基本工作原理Z-Stack协议栈是一个基于任务轮询方式的操作系统,其任务调度和资源分配由操作系统抽象层OSAL管理着。Z-Stack协议栈=OSAL操作系统+CC2530硬件模块+AF无线网络应用总体来看,Z-Stack协议栈只做了两件事情:首先进行系统的初始化,然后启动OSAL操作系统。在任务轮询过程中,系统将会不断查询每个任务是否有事件发生,如果有事件发生,就执行相应的事件处理函数,如果没有事件发生,则查询下一个任务。1.系统初始化:系统启动代码需要完成初始化硬件平台和软件架构所需要的各个模块,为操作系统的运行做好准备工作,主要分为:初始化系统时钟,检测芯片工作电压,初始化堆栈,初始化各个硬件模块,初始化FLASH存储,形成芯片MAC地址,初始化非易失变量,初始化MAC层协议,初始化应用层协议,初始化操作系统等。osalInitTasks();得到taskID:在这个函数中,先定义了一个任务ID号,tasksEvents所指向的地址长度是两个字节,然后使tasksEvents指向一个为任务总数2个字节大小的空间的首地址,并将空间内容初始化为0,这里就可以知道tasksEvents其实就是指向每个任务事件的指针了。而且不难发现,这个函数中的任务排序和tasksArr[]数组定义的排序是一样的。事实上,当某个tasksEvents[idx]非空时,就表明有对应该任务的事件要处理,可能是一件,也可能是很多件。然后通过idx在taskArr[idx]中找到相应的事件处理函数进行处理,处理完了之后有这样一句指令return(events^SYS_EVENT_MSG),当然后面的宏定义可能不一样,这是一个异或处理,1^1=0,1^0=1,也就是说SYS_EVENT_MSG这个事件处理完了清零了,剩下的events继续反馈上去,进行下一轮的循环然后处理。2.启动OSAL操作系统:系统初始化为操作系统的运行做好准备工作以后,就开始执行操作系统入口程序,并由此彻底将控制权交给OSAL操作系统。其实,启动该操作系统实体只有一行代码:osal_start_system();该函数没有返回结果,通过将该函数一层层展开之后就知道该函数其实就是一个死循环。这个函数就是轮转查询式操作系统的主体部分,他所做的就是不断地查询每个任务是否有事件发生,如果发生,执行相应的函数,如果没有发生,就查询下一个任务。osal_run_system():OSAL中判断事件发生是通过tasksEvents[idx]任务事件数组来进行的。在OSAL初始化的时候,tasksEvents[]数组被初始化为零,一旦系统中有事件发生,就用osal_set_event函数把tasksEvents[taskID]赋值为对应的事件。不同的任务有不同的taskID,这样任务事件数组tasksEvents中就表示了系统中哪些任务存在没有处理的事件。然后就会调用各任务处理对应的事件,任务是OSAL中很重要的概念。任务通过函数指针来调用,参数有两个:任务标识符(taskID)和对应的事件(event)。',)


  • 编号:1700807009
  • 分类:述职汇报
  • 软件: wps,office word
  • 大小:4页
  • 格式:docx
  • 风格:商务
  • PPT页数:586299 KB
  • 标签:

广告位推荐

相关述职汇报更多>