- 0
- 0
- 约7.48千字
- 约 7页
- 2026-02-13 发布于北京
- 举报
OSAL系统框架
OSAL的全称是OperatingSystem(OS)AbstractionLayer,是一个轻量级的操作系
统,在TI公司的很多产品中,都采用了这套操作系统作为基本的平台,比如ZStack,RemoTI,
BLEStack等等,所以掌握这套操作系统的基本运行原理,对理解Zigbee协议栈以及以后的应
用开发都是非常有帮助的。
首先从main函数的主循环开始入手(main函数位置:
Projects\zstack\ZMain\TI2530DB):
1、主循环任务处理机制
在开始之前,先解释两个重要的概念:任务(task)与事件(event)。
1.1事件(event)的概念
OSAL操作系统以事件驱动为核心,所谓“事件”指的是操作系统管辖的设备及软件模块
中所发生的“事情”,比如按键事件、定时中断事件、无线数据到达事件等等。操作系统的一
个核心功能就是有效地管理这些“事件”,以保证所有事件得以正确完成。
1.2任务(task)的概念
在OSAL中,所有的“事件”会被安排到不同的“任务”里进行执行,比如按键、串口、
LCD等外设均被安排在Hal任务中,而无线数据的底层收发则放在mac任务中等等。
以一个简单的OSAL项目为例:
macTaskInit(taskID++);
nwk_init(taskID++);
Hal_Init(taskID++);
MT_TaskInit(taskID++);
APS_Init(taskID++);
APSF_Init(taskID++);
ZDApp_Init(taskID++);
ZDNwkMgr_Init(taskID++);
SampleApp_Init(taskID);
在系统初始化代码中,初始化了9个任务,各自有一个ID号-taskID。每个任务中又
可以同时处理多个事件,通过一个核心处理函数来管理其下属的每一个事件:
constpTaskEventHandlerFntasksArr[]={
macEventLoop,
nwk_event_loop,
Hal_ProcessEvent,
MT_ProcessEvent,
APS_event_loop,
APSF_ProcessEvent,
ZDApp_event_loop,
ZDNwkMgr_event_loop,
1
SampleApp_ProcessEvent
};
1.3、主循环任务处理机制
主循环代码:
voidosal_start_system(void)
{
#if!defined(ZBIT)!defined(UBIT)
for(;;)//ForeverLoop
#endif
{
osal_run_system();
}
}
下面我们将针对osal_run_system函数处理机制进行解析:
注:为了便于直观,以下涉及到数据地址的地方都是由上而下,地址由高变低。主循
环中的两个关键数组,*tasksEvents与*tasksArr,从图一中我们可以看出来,tasksEvents
这个数组存放的是从序号为0到tasksCnt,表示每个任务在本次循环中是否要被运行。需
要运行的任务其值非0(用橙色表示),否则为0。而tasksArr数组则存放了对应每个任
务的入口地址,只有在tasksEvents中记录的需要运行的任务,在本次循环中才会被调用
到。
所以说,tasksEvents数据存放的内容就是:本任务中是否有事件发生,有哪些事件发生。
如果有事件发生,则执行本任务,否则直接跳到下一个任务中进行判断。当事件处理完成后
您可能关注的文档
- ZenCart一键支付插件:简化流程提升用户体验.pdf
- 2026年中国生态养猪场市场数据调查、监测研究报告.docx
- 2026年中国生猪养殖屠宰、肉制品加工市场数据调查、监测研究报告.docx
- 2026年中国生猪养殖屠宰深加工市场数据调查、监测研究报告.docx
- 2026年中国牲畜监测市场数据调查、监测研究报告.docx
- 2026年中国牲畜市场数据调查、监测研究报告.docx
- 2026年中国石榴苗市场数据调查、监测研究报告.docx
- 2026年中国实时交通信息服务市场数据调查、监测研究报告.docx
- 2026年中国生化诊断市场数据调查、监测研究报告.docx
- 2026年中国实时优化系统(RTO)市场数据调查、监测研究报告.docx
最近下载
- 《七年级下册语文《木兰诗》拓展比较阅读》.docx VIP
- 《化妆品安全技术规范》(2015年版).pdf
- 手把手教你更换汽车匙钥电池.doc VIP
- 税金及利润自动测算表.xls VIP
- 新高考数学一轮复习讲义 第44讲 直线与双曲线(原卷版).doc VIP
- 脑卒中患者的康复护理康复患者病人脑卒中患者的康复护理脑卒中患者脑卒中病人患者康复的脑卒中康复ppt课件.ppt VIP
- 活性炭纤维填料生物滤器硝化功能研究:从微环境构建到效能优化.docx VIP
- 信息传输仿真:卫星通信系统仿真_(7).卫星通信网络架构.docx
- 电子科技大学毕业设计论文.pdf VIP
- 前列腺等离子电切术护理查房.pptx VIP
原创力文档

文档评论(0)