查看: 2934|回复: 5

Silicon Labs EFR32xG22 开发板软件评测 - 如何建立zigbee低功耗工程

[复制链接]

该用户从未签到

发表于 2020-7-13 09:08:24 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 zhyh007 于 2020-7-11 17:31 编辑

前言
-------------
本文基于SiliconEFR32xG22开发板,演示如何创建一个zigbee GPD(green power device)工程,并进行程序下载与分析。如何安装SDK读者可参考前文


第一步:创建AppBuilder界面
-------------
AppBuilder是SiliconSDK中非常重要的一个体系,通过图形化界面实现自定义zigbee工程,可以自动生成注册代码。在实际项目开发中,其他芯片厂商都需要手动编写注册代码,ep/cluster/attribute等信息的注册本身非常繁琐,即便在厂商FAE支持的情况下,从起步调试到程序可运行,一般也需要1周的开发周期,而AppBuilder则可以帮助有经验的zigbee开发者在短短1个小时内完成开发。

打开Simplicity Studio, 依次选择File -> New -> Other-> Silicon Labs AppBuilder Project -> Next,选择GreenPower Device Framework -> Green Power Sensor Device -> Next.

1

1


输入工程名gpd-sensor和存储位置 -> Next:                                                    2.png
此时可以看到显示了芯片EFR32MG22,同时显示了编译工具为GNU ARM,务必选择一个编译工具。点击Finish完成AppBuilder界面创建。
3.png


第二步:通过AppBuilder,创建zigbee工程-------------
AppBuilder如图所示
                                                    4.png
ProjectExplorer:显示工程所有文件结构,包含isc文件及编译后文件DebugAdapters: 显示可连接的efr evbgpd-sensor.isc: 即isc文件,可通过以下选项卡对工程进行配置 ISC选项卡详细描述如下:
  • [General]Generation directory表示工程生成的本地路径,可修改。Description 可以对该工程加入详细的描述注释。

  • [HAL]进行硬件相关配置。最主要关心Bootloader Configuration, None 表示不需要,Appilcation表示下载程序时,额外需要下载硬件型号对应的bootloader文件,efr32xg22参考路径下s37文件,可直接烧录。bootloader路径:v4\developer\sdks\gecko_sdk_suite\v2.7\platform\bootloader\sample-apps\bootloader-storage-internal-single-512k\efr32mg22c224f512im40-brd4182a
5.png

  • [CLI]Command line interface, 可扩展的用户自定义串口交互命令;
  • [Plugins]Silicon可扩展应用层功能,用户可通过需要进行增删需要的模块,甚至可以自定义用户自己的开发模块,方便用户模块化开发(模块代码都已实现)。点击模块后,右侧会出现模块内文件,callback等信息,这些信息也都是可配置的。

6.png


  • [Callbacks]:Silicon提供了大量的callback供用户扩展应用,不过大部分都用不到…保持默认就可以。
  • [Projectoptions]: 可以添加工程宏定义,还可以额外定义事件函数,当用户需要执行一些定时触发的功能时,需要在这里定义command/callback。
  • [otheroptions] 一般没人改…


因为我们使用的是默认gpd工程,因此直接选择gpd-sensor.isc文件右上角Generate按钮创建工程即可。创建成功时如下图所示。
7.png


(评论区接下文)























回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2020-7-13 09:08:25 | 显示全部楼层
第三步:编译与下载
-----------------------
在Project Explorer中右键Build Project 进行工程编译,编译成功如下图
8.png

DebugAdapters->J-Link Silicon Labs右键-> Upload application -> 新版本会跳CryptoProfile, 选择cancel即可 -> ApplicationImage Path 中选择工程对应的s37文件,BootloaderImage 为空(因为之前生成工程时bootloader为None,如果选择application,此时需要选择对应的s37文件下载)。点击OK进行烧录程序。 9.png

烧录成功后,继续右键选择J-Link Silicon Labs -> Launch Console, 弹出console窗口,如下图,回车键会显示工程名字,即表示程序下载并运行成功。通过EVB PB0和PB1按键,可以展示该工程自带的一些功能。至此,整个工程的创建完毕,用户可根据工程内文件,进行相应的application开发。 10.png

总结-------------------
本文主要介绍如何使用Silicon SDK快速创建Zigbee GreenPower demo与运行,对于需要快速开发的用户,最关键是掌握plugin中所需要的功能, 并在你的应用模块中调用。对于所有应用开发者,Plugin是Silicon zigbee stack的核心,是Silicon多年服务客户积累的优势。举例来说,ZHA协议中Report plugin 就帮助用户实现了zigbee需要处理的report attribute 信息流,用户只需要简单调用几处callback,就可以实现自己的功能而无需关注report功能本身,相比其他芯片厂商,则需要用户额外与芯片厂商配合开发所需要的report功能,开发速度可想而知。
本文相关问题依然可以在评论区留言讨论。下一篇评测,将会选取gpd工程,选取或者开发一些低功耗相关的功能,感谢您的阅读。




回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2020-7-13 11:15:54 | 显示全部楼层
编辑格式已经垮了 读者大佬们求放过...
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2020-7-16 08:57:34 | 显示全部楼层
楼主,这个功耗怎么样
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2020-7-20 09:38:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2020-7-20 09:38:06 | 显示全部楼层
weiyuliang 发表于 2020-7-16 08:57
楼主,这个功耗怎么样

EM2是mA级别,EM4可达到uA级别
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-26 04:33 , Processed in 0.181824 second(s), 26 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.