- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sa初始化流程分析
? HYPERLINK /uidid-1841387.html OSAL初始化流程分析?2010-11-25 19:40:20
分类:?嵌入式
我使用的协议栈版本及例子信息:
ZigBee2006\Texas Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\SampleApp
?? OSAL作为操作系统抽象层,是整个Z-Stack运行的基础,用户自己建立的任务和应用程序都必须在此基础上运行,那我们知道整个Z-Stack协议就是用C语言编写的,既然使用C语言编写的,那程序的入口点就是main()函数,而且整个Z-Stack都只有一个main()函数入口,那我们的入口点也是main()函数,我们首先找到main()函数,在SampleApp这个工程文件列表中,我们可以看到ZMain文件,在展开该文件后,就可以看到有一个ZMain.c文件,通过文件名我们也可以看出来,里面应该包括main()函数,那我们首先看看自己添加的应用任务程序唉Z-Stack中的调用过程是怎样的:
(1).main()?执行(在ZMain.c中)
main() --- osal_init_system()
(2).?osal_init_system()调用osalInitTasks(), (在OSAL.c中)
osal_init_system() --- osalInitTasks()
(3).?osalInitTasks()调用SampleApp_Init() , (在OSAL_SampleApp.c中)
osalInitTasks() --- SampleApp_Init()
??? 在osalInitTasks()中实现了从MAC层到ZigBee设备应用层任务处理函数,而用户自己的初始化函数在最后,也就就优先级是最低的,taskID依次增加,taskID越高优先级也就越低。这在下面会看到具体的分析。
1.?首先,我们来看一下main()函数,在上篇文章中,我已经用流程图的形式画出了在main()函数中,各个初始化函数的执行流程,这里简单的用代码演示一下,
ZSEG int main( void )
{
??// Turn off interrupts??关闭所有的中断
? osal_int_disable( INTS_ALL );
?
??// Initialize HAL?初始化硬件抽象层
? HAL_BOARD_INIT();
?
??// Make sure supply voltage is high enough to run
? //检测电压,以确保提供足够的电压,支持运行
? zmain_vdd_check();
?
??// Initialize stack memory??初始化内存中的堆
? zmain_ram_init();
?
??// Initialize board I/O?初始化板子上的I/O口
? InitBoard( OB_COLD );
?
??// Initialze HAL drivers?初始化硬件抽象层的驱动
? HalDriverInit();
?
? // Initialize NV System?初始化非易失性系统
? osal_nv_init( NULL );
?
??// Determine the extended address?确定扩展地址?也就是64位的IEEE地址
? zmain_ext_addr();
?
??// Initialize basic NV items?初始化基本的NV条目
? zgInit();
?
??// Initialize the MAC?初始化化MAC层
? ZMacInit();
?
#ifndef NONWK
??// Since the AF isnt a task, call its initialization routine
? afInit();
#endif
?
??// Initialize the operating system?初始化化操作系统
? osal_init_system();
?
? // Allow interrupts??打开中断?允许中断
? osal_int_enable( INTS_ALL );
?
??// Final board initialization?最终的板载初始化
? InitBoard( OB_READY );
?
??// Display information about this device?显示设备的信息
? zmain_dev_info();
?
??/* Display the device info o
您可能关注的文档
- phtshp cc制作水中倒影效果.doc
- PhtshpCS3GIF动画制作.ppt
- Phtshp制作逼真的水中倒影.docx
- Phtshp制作水中倒影.doc
- Phtshp教程8000例 打造ps高手 原文地址.doc
- PhtshpCS3GIF动画制作1.ppt
- PID课程设计积分微分比例运算电路.doc
- phtshp课件.ppt
- Physik im Sprt bmbf德国physik IM运动.ppt
- PLC课程设计全自动洗衣机1.doc
- 中职教育基础模块(上)第三版数学课件《集合的概念 》1.pptx
- 中职教育基础模板(上)课件《集合的概念 》.pptx
- 七年级语文课件《爱莲说》.pptx
- 八年级语文上册《中国石拱桥》 课件1.pptx
- 七年级语文课件《台阶》.pptx
- 七年级语文上册《 从百草园到三味书屋》课件.pptx
- 2023-2024学年初中政治部编版八年级下第四单元 崇尚法治精神单元测试完整版727337057.pdf
- 2023-2024学年人教版初中历史整理热点题型(含多套真题及答案)完整版727051681.pdf
- 2023-2024学年八年级语文上册第三单元综合试题卷含习作例文附答案解析完整版.pdf
- 2023-2024学年初中地理中图版八年级下第7章 认识国家单元测试(含答案解 .pdf
文档评论(0)