osal专题

Z-STACK之OSAL_Nv非易失性存储解读上

1、在工程选项设置里的PreprocessoràDefined symbols里添加了NV_INIT和,xNV_INIT (保存设备基本信息到非易失性存储器里)NV_RESTORE,xNV_RESTORE(不保存网络状态信息),(前面加x代表不保存);在这里要需要搞明白的是此处的网络状态信息是具体指哪一类的信息,是否与设备类型有关呢?   REFLECTOR:是实现绑定功能,在ZDobjec

现成轮子OSAL操作系统抽象层的移植

简单介绍一下Z-STACK中的OSAL,值得一看的现成轮子; 什么是 OSAL? 今天同学忽然问我有没有搞过OSAL,忽然间一头雾水,于是在搜索引擎上找到了答案,发现这是一个十分实用的东西。 OSAL(operating system abstraction layer),操作系统抽象层,是一种以实现多任务为核心的系统资源管理机制,实现了类似RTOS的某些功能,但并不能称之为真正意义上的RT

基于OSAL 实现UART、LED、ADC等基础示例 4

1 UART 实验目的 串口在我们开发单片机项目是很重要的,可以观察我们的代码运行情况,本节的目的就 是实现串口双工收发。 虽然说 osal 相关的代码已经跟硬件关系不大了,但是我们还是来贴出相关的硬件原理图贴出来。   1.1 初始化 osal_init_system-》osalInitTasks-》SimpleBLEPeripheral_Init-》 1.

zigbee中OSAL中的task ,event, message

zigbee中OSAL中的task ,event, message 1)向task发送message        byte osal_msg_send( byte destination_task, byte *msg_ptr )        a task会调用此函数向另一个task发送command或message,该函数还可以在destination tasks列表中设置SYS_EV

OSAL NV有关的函数和项目 尤其NLME_UpdateNV-----转载

OSAL NV有关的函数和项目 尤其NLME_UpdateNV-----转载   OSAL NV 区操作 2010-05-05 10:13  原创作者:【LNVI.ZHU】   读取nv数据项       osal_nv_read() 写入nv数据项       osal_nv_write() 在使用osal_nv_read()或osal_nv_write()之

Z-Stack中OSAL定时器事件触发流程分析

写在前面:之所以会注意到定时器事件是因为在做断点调试的时候会进入osal_start_timerEx这个函数,而且这个函数之后还会涉及到hal_uartpoll有关DMA之类的函数,于是发现了这篇文章,写得很详细。      我们先看一下osal_start_timerEx()函数,是怎么调用到最后的osal_set_event()函数,触发事件处理的。下面是osal_start_time

Z-STACK1.4.3协议栈之osal_start_timerEx()的作用

osal_start_timerEx的作用体现在:用于设置*tasksEvents数组,一旦tasksEvents[idx]不等于0就执行相应的任务处理函数。 ZMain.c → Hal_ProcessPoll → HalTimerTick(判断定时器溢出) → halTimerSendCallBack(处理溢出)→ callBackFunc → Onboard_TimerCallBack

ZSTACK协议栈--OSAL主循环流程

OSAL系统主循环函数: void osal_start_system( void ){#if !defined ( ZBIT ) //不知道是什么东西for(;;) // Forever Loop#endif{uint8 idx = 0; Hal_ProcessPoll(); // This replaces MT_SerialPoll() and osal_check_timer().

ZIGBEE协议栈-OSAL系统框架专题【转载】

OSAL系统框架专题2010-4-15 2:47:00 9. TI协议栈所用系统框架探讨。51的系统往往不是太大,但是几十K的程序,也足以让一个初学者望而却步。我们首先忽略C语言本身的难度,光是系统框架也让生手读起来很吃力,再加上这种到处是API跟"define"的程序,还没有正式学习协议部分就已经让人在丛林中“迷路”了。在接下来的一段时间内,我会以TI所用的系统框架为主线进行学习,希望大家

zigbee协议栈中osal_start_timerEx()函数的使用方法

osal_start_timerEx是一个用来设置定时器,使某任务能够定时运行的函数。但是想要了解这个函数,需要层层上推,了解到更深层次,才能够明白它工作的原理。 首先了解一下osal_start_timerEx函数的原型: uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value ){halI