视频教程笔记 第四讲:Z-Stack 协议栈总体设计
ZigBee 网络中的各种操作需要利用协议栈各层所提供的原语操作来共同完成。
原语操作的实现过程往往需要向下一层发起一个原语操作并且通过下层返回的操作结果来判断出下一条要执行的原语操作。
Z-Stack 协议栈中提供了一个名为操作系统抽象层
OSAL 的协议栈调度程序。对于用户来说,除了能够看到这个调度程序外,其它任何协议栈操
作的具体实现细节都被封装在库代码中。用户在进行具体的应用开发时只能够通过调用 API
接口来进行,而无权知道 Zig,Bee 协议栈实现的具体细节( Hal层,Mac层,Nwk层)。
main():1.系统初始化
硬件电路初始化、寄存器初始化、操作系统初始化、协议栈的初始化
2.执行操作系统
ZigBee 网络中的各种操作需要利用协议栈各层所提供的原语操作来共同完成。
原语操作的实现过程往往需要向下一层发起一个原语操作并且通过下层返回的操作结果来判断出下一条要执行的原语操作。
Z-Stack 协议栈中提供了一个名为操作系统抽象层
OSAL 的协议栈调度程序。对于用户来说,除了能够看到这个调度程序外,其它任何协议栈操
作的具体实现细节都被封装在库代码中。用户在进行具体的应用开发时只能够通过调用 API
接口来进行,而无权知道 Zig,Bee 协议栈实现的具体细节( Hal层,Mac层,Nwk层)。
main():1.系统初始化
硬件电路初始化、寄存器初始化、操作系统初始化、协议栈的初始化
2.执行操作系统
void osalInitTasks( void )
{
uint8 taskID = 0;
tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt);
osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt));
macTaskInit( taskID++ );
nwk_init( taskID++ )