Z stack工程编译设置学习笔记
来源:互联网 发布:mac出现五国怎么解决 编辑:程序博客网 时间:2024/05/17 04:23
1、Zstack开发环境是IAR,并且对于不同的Zstack实现平台,其对应的IAR编译器版本是不一样的,如果是基于CC2530的,官方推荐的IAR编译器版本是7.51,具体如下图所示:
而对于MCU+RF芯片架构的方案,由上可看出是需要其他版本的。
2、Zigbee设备可配置成三种模式:协调器,路由器和终端。
3、对于一个IAR工程,其编译设置位于两个位置,第一个位置是在所谓的linker control files,用于存放一些典型的,很少更改的配置参数,还有就是针对具体某个类型设备的linker control files文件中,这些文件都是在同一个位置的;用户自定义的宏定义和一般用于使能/关闭某种功能或者特征的这些个编译设置则一般位于IAR工程文件的option中。
4、具体地,Linker Control files在Zigbee工程的Tools文件夹下,该文件夹用于保存各种配置文件的,里面包含了多个.cfg文件,如下图所示:
在整个工程中,比较通用的各种编译设置都放在f8wconfig.cfg文件中,如设置Zigbee工程输出到设备后,设备的工作频道,PANID等等。在这里面可以对工作频道和其他一些配置参数进行修改,以使设备能够更好的适应工作环境。如下图所示:
另外的,对于三种不同类型的设备:协调器,路由器和终端,还有各自对应的不同的linker control files:f8wcoord.cfg、f8wEndev.cfg、f8wRouter.cfg三个。它们用于具体指定各类型设备的一些不同配置参数和特征。
在TI的官方手册中,如果需要增加宏定义,可以直接在新的一行添加即可,如果不需要某个预编译的宏,可以在前面使用//将其注释掉,这是一个比较好的习惯,因为以后确实可能会用到而又再次去查找很费力。
5、具体地, 首先在IAR工程文件中的预编译设置是存储在.ewp文件中的,使用记事本打开可以发现里面全是在Option里进行的设置。注意区别.eww是IAR的workspace文件.在菜单栏Project->Option->C/C++ Compiler->Preprocesseor界面中的Defined symbols栏里可以输入用户自己的一些宏定义,也可用于工程的而一些功能开关。如果要关闭某种功能,在其对应的宏前面加一个x即可屏蔽掉该宏,从而关闭该功能。
官方文档同样给出在使用该方式增加或减少宏时可能需要对工程源文件需要做一定的改动,如可能某些宏所对应功能的使用需要包含一些特定的库文件,或者替换一些库文件。
在这里,Zstack支持的宏有很多,详细的在TI官方文档 Z-Stack Compile Option(SWRA188)中有详细的描述,部分引征出来供参考:
大体分为四类预编译宏设置:1、通用的编译设置,这里面的很多设置在f8wconfig.cfg这个linker control file中被使用并被描述。
第二类是一般不做修改,基于目标平台的,这部分的编译设置一般默认即可。
第三类是用于使能或者关闭模拟和调试(MT)功能的预编译设置,如果使用MT,则首先需要包含MT_TASK这个总的MT任务宏。
第四类是zigbee 设备对象的预编译宏,根据官方手册的描述,这些宏主要用于ZDO中的消息控制,在工程目录中的ZDO文件夹下的ZDConfig.h文件中也被使用和描述,如下图所示:
并且通过在IAR工程文件中的Option->......compiler option中添加MT_ZDO_FUNC和MT_ZDO_MGMT可以快速使能所有ZDO和ZDO管理功能,从上图的ZDConfig.h文件中也可以看出这一点。
此仅作为读书笔记和参考,如有误和不解欢迎讨论:)
参考文档:Z-Stack Compiler Option(TI文档编号:SWRA188)
在此提供文档的下载链接,也可去TI官方下载该文档:http://download.csdn.net/detail/firestarway/7095301
- Z stack工程编译设置学习笔记
- Z-STACK学习笔记-OSAL分析
- Z-STACK 编译选项说明
- z-stack编译选项说明
- Z-Stack协议学习笔记1--发送函数AF_DataRequest
- Z-Stack协议学习笔记2--OSAL系统框架专题
- ZigBee---z-stack--低功耗实验--学习笔记
- Z-STACK 低功耗设置
- Z-Stack功率设置相关
- Z-Stack Compile Options (编译选项)
- z-stack中编译选项说明_
- Z-Stack中的HOLD_AUTO_START编译选项分析
- IAR编译Z-stack环境搭建
- Z-Stack中的HOLD_AUTO_START编译分析
- 自己对Z-stack的架构一些理解(仅作学习笔记,有错误希望大家能指出来,初学Z-Stack菜鸟一只)
- ZigBee Z-stack 学习之osal_task
- zigbee入门 z-stack学习入门
- 学习Z-stack的 好的网站
- Eclipse使用问题解决
- oralce误删数据恢复
- cocos2dx2 2.2 拖动指定层
- [转载]使女性产生快感的经穴
- arcgis api for flex之二、开发环境配置
- Z stack工程编译设置学习笔记
- 黑马程序员_OC基础12_基本数据类型block
- java正则表达式
- linux下vi命令大全
- ACM tips
- secureCRT维护
- SpringMVC json处理 (Jackson)
- C#记事本源代码(包括详细注释)
- 不好意思老师,作业我没有放在一块,这也是第三周的作业