ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-2-03:开发资源包介绍

源码文档软件硬件技术交流技术支持入口文末
【所有相关 IDESDK例程源码均可从群文件 免费获取免安装解压即用

 

持续更新中,欢迎关注!

 


一、集成离线开发模式

一般来说,指定版本的SDK一般只能用指定版本的IDE才能进行开发。要使用新版的SDK,前提一般都是必须先把升级IDE。虽然IDE和SDK都推荐用最新版本的,但是频繁更新开发使用的IDE和SDK往往会给开发人员带来很多的麻烦。比如,等我们把IDE升级了,新的SDK也下载下来了,结果:

  • 可能,基于旧版SDK开发的工程,原本编译没问题,现在编译却开始报一大堆奇奇怪怪的错,明明升级之前都是编译成功了的呀?!明明只是升级,前提啥都没动呀?!
  • 可能,想把基于老版SDK开发的工程移植到新版的SDK上,但也是会产生各种报错和警告,过程很艰难,折腾很久之后也不一定能完全解决;
  • 可能,IDE和SDK的风格都变了,跟之前的开发风格完全不一样了,想退也退不回旧版本了。

大家在开发过程中,具体遇到的由于版本混乱导致的问题可能还有很多。经过安装、测试、卸载、再安装、再测试等等一系列的实验验证后,我们终于总结出来一套针对于Silicon Labs的IDE和SDK全新的开发模式——集成离线开发模式。主要体现在我们提供的资源包SimplicityStudio_v5.6.4.0.rar,这一个压缩包文件中就已经一体化集成了:

  • Simplicity Studio v5.6.4.0
  • GNU v10.3.1
  • Gecko SDK v4.2.3.0(含EmberZnet 7.2.3.0)

二、获取资源包

本教程使用的全部资源包,都以群文件的形式提供下载(群置顶公告中也有百度网盘下载链接)。大家可以根据本文文初或文末的提示加群,即可直接免费下载获取。

在这里插入图片描述

(更多丰富的示例工程代码、软硬件资料,也都会在群文件该目录下持续更新,欢迎大家关注。)

这里有丰富的开发资料供大家下载使用,其中最核心的还是箭头指向的名为SimplicityStudio_v5.6.4.0.rar的压缩包。其中已包含了当前(2023.05.29)最新版本的Gecko SDK v4.2.3.0(含EmberZnet 7.2.3.0)

在这里插入图片描述
以及编译工具GNU ARM v10.3.1

在这里插入图片描述
整个软件包免安装,解压出来直接就可以正常使用。

(注:资源包中Simplicity Studio软件的自动更新功能已关闭,不用担心IDE和SDK被意外或强制更新可能带来的问题。)

等Simplicity Studio和Gecko SDK迭代了几个版本,有了重大更新之后,我会重新制作新版本的资源包上传至群文件。到时候需要的朋友可以自行下载使用。

由于是使用离线资源包的形式,而不是exe可执行文件安装或是在线获取,所以新旧版的IDE或SDK都是可以完全共存使用,互不影响!

三、Simplicity Studio

Silicon Labs的Simplicity Studio是一个集成开发环境,大家熟知的主要有v4和v5两个版本。

在这里插入图片描述

v4版本相对老一些,之前Silicon Labs官方还在官网同时维持着v4版本和v5版本的下载链接,以及两个版本的差异对比等等,现在官方已经彻底删除v4相关的下载和说明了,仅保留了v5版本,并对齐进行了非常完善的全方位支持。所以,现在很多新的开发工程师大多都已经不知道v4版本的存在了。

在这里插入图片描述

后面官方推出的新版的SDK也仅支持最新的Simplicity Studio v5了。比如,你想使用最新的SDK,你就必须使用最新的Simplicity Studio,才能对最新的SDK进行开发。

新的SDK修复了老版SDK的很多bug,也增加了很多优化和新的内容。我们必须跟着技术发展走,所以这里也建议还在使用v4版本Simplicity Studio的老工程师们尽快升级到最新的v5版本上来。

(注:最新版本的Simplicity Studio不再需要手动Generate了,而是会根据用户的修改实时自动生成代码!)

四、Gecko SDK

Silicon Labs为开发者全方位提供了多种SDK,比如有:

  • 8051 SDK:主要面向8位处理开发使用;
  • Gecko SDK:主要面向32位处理器开发使用;
  • 等等。

本教程主要是针对ZigBee无线协议的开发,所基于的硬件主要是Silicon Labs的EFR32MG21、EFR32MG22、EFR32MG24系列的无线MCU,这些MCU都是ARM Cortex-M33内核的32位处理器,所以自然是需要基于Gecko SDK进行开发的。

Gecko SDK本身其实是一个大的“SDK包”,里面包含了许多“子SDK”。就以本教程所基于的 4.2.3.0 版本的 Gecko SDK 为例,其中所包含的“子SDK”如下图所示:

在这里插入图片描述
从图中可以看出,我们常用的Bluetooth、Bluetooth Mesh、Z-Wave、ZigBee等协议相关的SDK都是包含在内的。

Silicon Labs的Gecko SDK也经历了好几个版本的更新迭代:

  • 在Gecko SDK 4.0.0.0之前,所有的SDK的开发,主要是通过“基于Application Framework的AppBuilder方式”进行,示例界面如下图所示:

在这里插入图片描述

  • 从Gecko SDK 4.0.0.0开始往后,所有的SDK开发,变成了通过“基于Component的Project Configurator方式”进行,示例界面如下图所示:

在这里插入图片描述

五、EmberZnet

前面提到,本教程主要是针对ZigBee无线协议的开发,所以这里有必要专门说明一下Gecko SDK“SDK包”中的ZigBee“子SDK”——EmberZnet。

本教程所使用的 Gecko SDK 4.2.3.0,其中包含的ZigBee SDK是 EmberZnet 7.2.3.0

大家从官网可以获取到关于 EmberZnet 极其详细的介绍。下图是 EmberZnet 7.2.3.0 版本的更新信息,以及最近的一些历史版本:

在这里插入图片描述

从中可以看出,Silicon Labs官方对于自家的SDK(比如EmberZnet)更新得相当频繁。从上图(截止至本文的发布时间)可以看出,Silicon Labs的ZigBee协议栈——EmberZnet几乎是每1~2个月就会发布一个新的版本。

在新发布的SDK中,既有老版本SDK中bug的修复,也会有许多优化、新内容的增加等等。这里举例跟大家说明一下为什么推荐使用新版本的SDK,主要从各个版本仍存在的Known Issues in the Current Release(取自于各个版本EmberZnet的release note)的数量来说明:

  • EmberZnet 6.10.3.0:约占4.5页篇幅;
  • EmberZnet 7.0.0.0:约占4.5页篇幅;
  • EmberZnet 7.0.1.0:约占3页篇幅;
  • EmberZnet 7.2.3.0:约占2.5页篇幅;

由此可见,目前最新的 EmberZnet 7.2.3.0 是目前可用的版本中Known Issues最少的版本,这个还是非常有吸引力的!

比如直到7.0.0.0版本的EmberZnet发布都一直长期存在的**“Known Issue 488977和702802”**,终于在7.0.1.0 版本的EmberZnet中得到了修复。(感兴趣的朋友,可以去查阅EmberZnet 7.0.0.0和7.0.1.0的release note去查看详情。)

(注:任何相关问题,欢迎在文末技术交流QQ群中交流讨论。)


在这里插入图片描述

 

持续更新中,欢迎关注!

 

【所有相关 IDESDK例程源码均可从群文件 免费获取免安装解压即用
源码文档软件硬件技术交流技术支持入口文末

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿破仑940911

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值