SILICON LABS 7.4.0.0 Zigbee EmberZNet SDK 软件用户指南
![]()
Zigbee EmberZNet SDK 7.4.0.0 正式版 Gecko SDK 套件 4.4
13 年 2023 月 XNUMX 日
Silicon Labs 是 OEM 厂商在其产品中开发 Zigbee 网络的首选供应商。 Silicon Labs Zigbee 平台是目前集成度最高、最完整且功能最丰富的 Zigbee 解决方案。
Silicon Labs EmberZNet SDK 包含 Silicon Labs 对 Zigbee 堆栈规范的实现。
这些发行说明涵盖了 SDK 版本:
7.4.0.0 于 13 年 2023 月 XNUMX 日发布
![]()
主要特色
Zigbee
- Zigbee R23 合规性
- Zigbee 智能能源 1.4a 合规性 – 生产
- Zigbee GP 1.1.2 合规性 – Alpha
- MG27 支持 – 生产
- 改进了对 Secure Vault 部件的支持
- NCP SPI(非 CPC)应用程序的 Sleepy 支持 – Alpha
多协议
- 并发聆听支持 (RCP) – MG21 和 MG24
- 并发多协议 (CMP) Zigbee NCP + OpenThread RCP – 生产
- SoC 上的动态多协议蓝牙 + 并发多协议 (CMP) Zigbee 和 OpenThread 支持
兼容性和使用声明
有关安全更新和通知的信息,请参阅与此 SDK 一起安装的 Gecko 平台发行说明的安全章节或在 TECH DOCS 选项卡上 https://www.silabs.com/developers/zigbee-emberznet。 Silicon Labs 还强烈建议您订阅安全公告以获取最新信息。有关说明,或者如果您是 Zigbee EmberZNet SDK 的新手,请参阅 使用此版本.
兼容的编译器:
IAR Embedded Workbench for ARM (IAR-EWARM) 版本 9.40.1。
- 在 macOS 或 Linux 上使用 Wine 与 IarBuild.exe 命令行实用程序或 IAR Embedded Workbench GUI 进行构建可能会导致错误 file由于 wine 生成 short 的散列算法中的冲突,s 被使用 file 名字。
- 建议使用 macOS 或 Linux 的客户不要在 Simplicity Studio 之外使用 IAR 进行构建。 这样做的客户应该仔细核实正确的 file正在使用。
GCC(GNU 编译器集合)版本 12.2.1,随 Simplicity Studio 提供。
此版本的 EZSP 协议版本是 0x0D。
新品
此版本的 Gecko SDK (GSDK) 将是最后一个版本,综合支持所有 EFM 和 EFR 设备(根据需要对此版本进行补丁除外)。从 2024 年中期开始,我们将引入单独的 SDK:
- 现有的 Gecko SDK 将继续支持系列 0 和 1 设备。
- 新的 SDK 将专门针对系列 2 和系列 3 设备。
Gecko SDK 将继续支持所有系列 0 和 1 设备,并且我们的软件政策下提供的长期支持、维护、质量和响应能力不会发生变化。
新的 SDK 将从 Gecko SDK 分支出来,并开始提供新功能,帮助开发者获得优势tag我们的 2 和 3 系列产品的先进功能。
这一决定与客户的反馈一致,反映了我们对提高质量、确保稳定性和增强性能的承诺,以在我们的软件 SDK 中提供卓越的用户体验。
新组件
7.4.0.0 版中的新功能
- 添加了“zigbee_direct_security_p256”和“zigbee_direct_security_curve25519”组件,以便用户可以配置特定的 Zigbee Direct 安全选项。
用户可以在 Zigbee 直接设备 (ZDD) 应用程序上启用多个“zigbee_direct_security”组件。在这种情况下,实际的安全选项取决于 Zigbee 虚拟设备 (ZVD) 配置。
新 API
7.4.0.0 版中的新功能
- 添加了新的 API sl_zigbee_token_factory_重置 将 Zigbee NVM3 令牌重置为其默认值。
- 添加了API bool sl_zigbee_sec_man_link_key_slot_available(EmberEUI64 eui),如果链接密钥表可以添加或更新具有该地址的条目(表未满),则返回 true。
添加了新的 API bool sl_zb_sec_man_compare_key_to_value (sl_zb_sec_man_context_t* 上下文,sl_zb_sec_man_key_t* 键),如果上下文引用的键与参数中提供的键具有相同的值,则返回 true。
新平台支持
7.4.0.0 版中的新功能
- 此版本中添加了对以下新部件的 Zigbee 堆栈支持:EFR32MG24A010F768IM40 和 EFR32MG24A020F768IM40。
新文档
7.4.0.0 版中的新功能
更新了 Zigbee 安全密钥存储组件的描述,以反映添加了 Zigbee 安全密钥存储升级(这增加了与现有项目的向后兼容性)。
添加了与 Zigbee 安全管理器组件组交互的新应用说明(AN1412:Zigbee 安全管理器)。
预期行为
请注意,Zigbee 不同步 CSL 传输会受到无线电调度器协议抢占的影响。在 SleepyToSleepy 应用中,BLE 可以并且将会抢占 Zigbee CSL 传输,这将终止传输。考虑到可能使用可能很长的唤醒帧序列,调度程序抢占对于不同步的 CSL 来说更为常见。希望调整传输优先级的用户可以使用 DMP 调整和测试组件来执行此操作。用户还可以咨询 UG305:动态多协议用户指南 了解更多信息。
改进
在版本 7.4.0.0 中更改
emberCounterHandler API 文档更改
在以前的版本中,有关数据包 RX 和 TX 的 MAC 和 APS 层 EmberCounterTypes 的计数器处理程序回调未传递正确的目标节点 ID 或数据参数,并且有关使用这些参数的某些计数器的行为的 API 文档不清楚或具有误导性。
虽然 emberCounterHandler() 的签名没有改变,但其参数的填充方式略有改变。
- 为了清楚起见,已扩展了 ember-types.h 中有关 EmberCounterType 枚举的注释。
- TX 相关计数器的计数器处理程序的节点 ID 参数现在会在使用之前检查目标地址模式是否指示有效的短 ID。 (如果没有,则不会填充目标地址,而是使用占位符值 EMBER_UNKNOWN_NODE_ID。)
- RX 相关计数器的计数器处理程序的节点 ID 参数现在反映源节点 ID,而不是目标节点 ID。
- 重试计数*不*作为 EMBER_COUNTER_MAC_TX_UNICAST_ SUCCESS/FAILED 计数器的数据参数传递,如以前版本中的 ember-types.h 中所述,但在以前发布的版本中从未正确填充,因此以前版本中的值始终为 0 . 此行为已在这些 EmberCounterTypes 的描述中得到澄清。但是,APS 层重试的重试计数继续填充在 EMBER_COUNTER_APS_TX_UNICAST_SUCCESS/FAILED 计数器类型的数据参数中,以与之前的版本保持一致。
- 填充回调的节点 ID 或数据参数的所有计数器都经过审核,以确保它们传递预期的数据、地址或 EMBER_UNKNOWN_NODE_ID(如果需要节点 ID 但无法从数据包中获取),如修订版 ember 中所述-types.h 文档。
- EMBER_COUNTER_MAC_TX_UNICAST_RETRY 的计数器处理程序现在可以正确反映 MAC 层目标节点 ID 以及其目标节点 ID 和数据参数中的重试次数。
- EMBER_COUNTER_PHY_CCA_FAIL_COUNT 的计数器处理程序现在通过节点 ID 参数提供有关传输失败的消息的预期 MAC 层目标的目标节点 ID 信息。
更新的绿色电源规范
Green Power 服务器代码已更新,进行了多项改进,包括:
- 在 GP 服务器上接收时,为具有无效端点的传入命令添加了更多验证代码。
- 添加了代码来处理没有更多空间来构建绿色电源消息的情况。
- 现在,根据规范第 A.3.5.2.4.1 节,在某些情况下,接收器会通过删除配对操作来删除配对配置。
- 现在,当使用扩展操作处理配对配置时,接收器会在删除之前保存条目的现有组列表。
- 当翻译表为空或索引大于表中的条目数时,翻译查询命令将返回“NOT FOUND”作为错误代码。
- 将某些应用程序中的 GP 端点版本从 1 更改为 0。
在 GPDF 发送功能中使用 CSMA 受到限制,因为绿色电源器件是最小能源器件,并且在大多数设计中不使用 CSMA。相反,首选设计是使用相同的能量预算发送多个数据包。
删除了 Green Power Server 插件选项中隐藏端点的使用。请改用应用程序端点之一。
网络密钥更新插件代码改进
- 将定期网络密钥更新周期改为长达1年。
重构了一些API以避免不必要的密钥导出
进行了更改以支持使用关键上下文而不是纯文本关键数据。
- sl_zigbee_send_security_challenge_request 现在采用 sl_zb_sec_man_context_t 参数代替 EmberKeyData。
- sl_zb_sec_man_衍生_key_type 枚举的值现在是 16 位位掩码,以直接支持组合多个派生类型的某些密钥派生。
修正问题
已在 7.4.0.0 版中修复
| ID # | 描述 |
| 1019348 | 修复了 Zigbee ZCL Cli 组件的依赖关系要求,以便在不需要时可以将其删除。 |
| 1024246 | 更新了 emberHaveLinkKey() 和 sl_zb_sec_man_have_link_key() 的函数描述。 |
| 1036503 | 添加了建议使用 DMP 的 Micrium 内核的说明amp乐应用程序。 |
| 1037661 | 阻止应用程序安装专业堆栈或叶子堆栈的问题已得到修复。 |
| 1078136 | 修复了从中断上下文修改事件时的间歇性崩溃 |
| 1081548 | 请注意,Zigbee 不同步 CSL 传输会受到无线电调度器协议抢占的影响。在 SleepyToSleepy 应用中,BLE 可以并且将会抢占 Zigbee CSL 传输,这将终止传输。考虑到可能使用可能很长的唤醒帧序列,调度程序抢占对于不同步的 CSL 来说更为常见。希望调整传输优先级的用户可以使用 DMP 调整和测试组件来执行此操作。用户还可以查阅UG305:动态多协议用户指南以获取更多信息。
CSL 中修复了一个问题,即在前一个有效负载帧之后立即接收到的新唤醒帧序列将无法正确记录。这将导致丢失有效负载帧。 |
| 1084111 | 作为此版本的一部分,对基于 MG24 的主板的初始休眠 SPI-NCP 支持进行了更新。 |
| 1104056 | 添加了对网络引导的支持,以便在多网络情况下在辅助网络上运行 |
| 1120515 | 修复了使用 mfglib set-channel 命令时通道未更改的问题。 |
| 1141109 | 修复了导致生成 s 的问题ample 应用程序 ncp-uart-gp-multi-rail 丢失一些标头 file使用带有 -cp 选项的绿色电源适配器组件时。 |
| 1144316 | 更新了 gp-types.h 文档中一些数据结构类型的描述。 |
| 1144884 | 修复了没有待处理数据时设置的虚假帧待处理位。 |
| 1152512 | 修复了在 isr 上下文中修改事件时 low-mac-rail 中潜在的崩溃问题。 |
| 1154616 | 添加了“将角色从休眠终端设备切换到非休眠终端设备”情况下初始化网络的条件的例外。 |
| 1157289 | 修复了可能导致 BDB 测试失败 DN-TLM-TC-02B 的问题。 |
| 1157426 | 修复了使用 green_power_adapter 组件构建 zigbee_simple_app 时的构建问题。 |
| 1157932 | 添加了一个条件来检查“过渡时间”字段是否缺失,并为此缺失字段设置默认值 0xFFFF。 |
| 1166340 | 修复了导致 emberAfGpdfSend 无法发送预期重复传输次数的问题。 |
| 1167807 | 修复了每次新设备加入时,在分布式网络中充当信任中心的设备会错误地清除其临时链接密钥的问题。 |
| 1169504 | 修复了强制唤醒时导致休眠设备重置的问题。 |
| 1169966 | 修复了缓冲区分配代码中缺少返回值验证的问题。 |
| 1171477,
172270 |
使用 mfglib start 1 没有发送但接收消息,因此显示的终端消息“mfglib sendcomplete”是错误的,并更改为“RXed %d packet in the last %d ms”。 |
| 1171935 | 将定期网络密钥更新周期改为长达1年。 |
| 1172778 | 将缺少的 emberAfPluginGreenPowerServerUpdateAliasCallback 调用添加到 Green Power 服务器。 |
| 1174288 | 修复了导致网络转向进程在调用停止正在进行的扫描的调用时断言的问题。 |
| 1178393 | 更新了文档错误。 |
| 1180445 | 在智能能源中,如果协调器达到有限占空比,f OTA 现在会继续下载。 |
| 1185509 | 修复了 CSL 中无法正确记录紧随前一个有效负载帧之后接收到的新唤醒帧序列的问题。这将导致丢失有效负载帧。 |
| ID # | 描述 |
| 1186107 | 修复了导致接收到的 GPDF 解密失败以替换 gp 调试通知中传入的 GPDF 的问题。 |
| 1188397 | 修复了启用扩展报告表大小时导致编译错误的问题。 |
| 1194090 | 更正了接收器调试模式命令的默认响应中的故障状态 - 遵循第 3.3.4.8.2 节 |
| 1194963 | 修复了在调用用户回调 emberAfGreenPowerServerPairingStatusCallback 之前 memsetcommissioningGpd 结构的问题。 |
| 1194966 | 修复了未使用退出调试操作设置端点和 proxiesInvolved 字段的问题。 |
| 1196698 | 修复了没有待处理数据时设置的虚假帧待处理位。 |
| 1199958 | 添加了代码来处理没有更多空间来构建绿色电源消息的情况。 |
| 1202034 | 修复了 sl_zb_sec_man_context_t 堆栈变量未正确初始化,导致连接安装代码失败的问题。 |
| 1206040 | 在终端设备尝试安全重新加入期间调用 emberRemoveChild() 可能会导致子计数额外减少,从而可能导致子计数为 -1 (255),从而由于指示的缺失而阻止终端设备加入/重新加入信标中的容量。 |
| 1207580 | 堆栈中的子表搜索函数在使用 0x0000 与 0xFFFF 作为表示无效/空条目的节点 ID 返回值时不一致,导致在检查 emberRemoveChild() 等 API 中未使用的条目时出现问题。 |
| 1210706 | 作为 emberCounterHandler() 一部分的 EmberExtraCounterInfo 结构中提供的目标和 PHY 索引对于 MAC TX 单播计数器类型可能不正确。 |
| 1211610
1212525 |
修复了启用安全密钥存储升级组件后动态多协议应用程序崩溃的问题。 |
| 1211847 | 虽然 emberCounterHandler() 的签名没有改变,但其参数的填充方式略有改变。上面第 2 节解释了围绕此 API 的更改。 |
| 1212449 | MAC 层错误地对传出信标进行了分类,导致 emberCounterHandler() 无法使用 EMBER_COUNTER_MAC_TX_BROADCAST 计数器类型捕获这些数据包,而是使用 EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS 计数器类型对信标进行计数。这可能会导致传递给 EmberCounterInfo 结构的 dest EmberNodeId 参数的值不可靠 |
| 1214866 | 在某些高流量配置中发送数据轮询数据包可能会导致总线故障。 |
| 1216552 | 修复了在繁忙流量条件下导致断言的问题。 |
| 1216613 | 修复了导致代理表中组播半径值不正确的问题。 |
| 1222509 | 路由器/协调器向非子轮询终端设备发送离开和重新加入请求,但 MAC 目标是 0xFFFF,而不是匹配 NWK 目标地址。 |
| 1223842 | 修复了生成 sl_component_catalog.h 时留下不需要的代码导致编译失败的问题。 |
| 756628 | 将应用程序回调 emberAfMacFilterMatchMessageCallback 的调用更改为仅针对堆栈验证的 ZLL 消息调用。 |
| 816088 | 将 EMBER 配置从 zigbeed_configuration.h 移至 zigbeed.slcp。 |
| 829508 | 为了避免竞争条件,在 emberSetLogicalAndRadioChannel 中添加了额外的验证,以便在较低层繁忙或未处于更改通道的状态时返回不成功。 |
当前版本中的已知问题
自上一版本以来添加了粗体问题。 如果您错过了某个版本,请访问最近的版本说明 https://www.silabs.com/developers/zigbee-emberznet 在技术文档选项卡中。
| ID # | 描述 | 解决方法 |
| 不适用 | • 此版本不支持以下应用程序/组件:EM4 支持 | 该功能将在后续版本中启用。 |
| 193492 | emberAfFillCommandGlobalServerToClientConfigureReporting 宏已损坏。缓冲区的填充会产生错误的命令包。 | 使用“zcl global send-me-a-report”CLI 命令而不是 API。 |
| 278063 | 智能能源隧道 plugins 地址表索引的处理/使用存在冲突。 | 没有已知的解决方法 |
| 289569 | 网络创建者组件功率级别选项列表未提供 EFR32 的全部支持值 | 编辑 CMSIS 注释中指定的范围 <-8..20>
EMBER_AF_PLUGIN_NETWORK_CREATOR_RADIO_P OWER 在 /协议/zigbee/app/framework/plugin/网络创建者/config/network-creator-config.h file. 例如ample,更改为 <-26..20>。 |
| 295498 | 在 Zigbee+BLE 动态多协议用例中,UART 接收有时会在重负载下丢失字节。 | 使用硬件流控制或降低波特率。 |
| 312291 | EMHAL:Linux 主机上的 halCommonGetIntxxMillisecondTick 函数当前使用 gettimeofday 函数,该函数不能保证单调性。如果系统时间发生变化,可能会导致堆栈计时问题。 | 修改这些函数以将clock_gettime 与CLOCK_MONOTONIC 源结合使用。 |
| 338151 | 使用低数据包缓冲区计数值初始化 NCP 可能会导致数据包损坏。 | 使用 0xFF 保留值作为数据包缓冲区计数以避免默认值过低 |
| 387750 | 终端设备上的路由表请求格式存在问题。 | 在调查中 |
| 400418 | touchlink 启动器无法链接到非出厂新的终端设备目标。 | 没有已知的解决方法。 |
| 424355 | 非出厂新的休眠终端设备支持触摸链接目标的启动器在某些情况下无法接收设备信息响应。 | 在调查中 |
| 465180 | 共存无线电拦截器优化项“启用运行时控制”可能会阻止正确的 Zigbee 操作。 | 拦截器优化的可选“Wi-Fi 选择”控制应保留为“禁用”。 |
| 480550 | OTA集群有自己内置的分片方法,因此不应该使用APS分片。不过,如果启用了 APS 加密,它会将 ImageBlockResponses 的有效负载增加到激活 APS 碎片的大小。这可能会导致 OTA 流程失败。 | 没有已知的解决方法 |
| 481128 | 当启用诊断插件和虚拟 UART 外设时,默认情况下应通过 NCP 平台上的虚拟 UART(串行 0)提供详细的重置原因和崩溃详细信息。 | 由于 Serial 0 已在 NCP 中初始化,因此客户可以在 Zigbee NCP Framework 中启用 emberAfNcpInitCallback,并在此回调中调用相应的诊断函数(halGetExtendedResetInfo、halGetExtendedResetString、halPrintCrashSummary、halPrintCrashDetails 和 halPrintCrashData)以将此数据打印到 Serial 0 view网络分析仪捕获日志中的信息。对于前任amp有关如何使用这些函数的信息,请参阅定义 EXTENDED_RESET_INFO 时 af-main-soc.c 的 emberAfMainInit() 中包含的代码。 |
| ID # | 描述 | 解决方法 |
| 486369 | 如果形成新网络的 DynamicMultiProtocolLightSoc 具有其已离开的网络中剩余的子节点,则 emberAfGetChildTableSize 在 startIdentifyOnAllChildNodes 中返回非零值,从而在寻址“幽灵”子节点时导致 Tx 66 错误消息。 | 如果可能,请在创建新网络之前批量擦除该部分,或者在离开网络后以编程方式检查子表,并在形成新网络之前使用 emberRemoveChild 删除所有子表。 |
| 495563 | 加入 SPI NCP Sleepy End Device Sample App 不进行短轮询,因此在更新 TC Link Key 状态下加入尝试失败。 | 希望加入的设备在尝试加入之前应处于短轮询模式。终端设备支持插件可以强制此模式。 |
| 497832 | 在网络分析器中,验证密钥请求帧的 Zigbee 应用支持命令分解错误地引用了将帧源地址指示为目标地址的有效负载部分。 | 没有已知的解决方法 |
| 519905
521782 |
Spi-NCP 很少会无法使用 ota-client 插件的“bootload”CLI 命令启动引导加载程序通信。 | 重新启动引导加载过程 |
| 620596 | NCP SPI 防爆ampBRD4181A (EFR32xGMG21) nWake 默认引脚定义的文件不能用作唤醒引脚。 | 在 NCP-SPI 插件中将 nWake 的默认引脚从 PD03 更改为 EM2/3 唤醒启用引脚。 |
| 631713 | 如果使用插件“Zigbee PRO Stack Library”而不是“Zigbee PRO Leaf Library”,Zigbee 终端设备将重复报告地址冲突。 | 使用“Zigbee PRO Leaf Library”而不是“Zigbee PRO Stack Library”插件。 |
| 670702 | 报告插件中的低效率可能会导致基于数据写入频率和表大小的显着延迟,这可能会干扰客户应用程序代码,包括事件计时。 | 如果频繁写入,请考虑检查报告条件并手动发送报告,而不是使用插件。 |
| 708258 | groups-server.c 中未初始化的值通过
addEntryToGroupTable() 可以创建虚假绑定并导致发送组播报告消息。 |
添加“绑定.clusterId =
EMBER_AF_INVALID_CLUSTER_ID;”在“binding.type = EMBER_MULTICAST_BINDING;”之后 |
| 757775 | 所有 EFR32 部件都具有独特的 RSSI 偏移。此外,电路板设计、天线和外壳也会影响 RSSI。 | 创建新项目时,安装 RAIL Utility、RSSI 组件。此功能包括 Silabs 为每个部件测量的默认 RSSI 偏移。在对整个产品进行 RF 测试后,如有必要,可以修改此偏移量。 |
| 758965 | ZCL 集群组件和 ZCL 命令发现表不同步。因此,当启用或禁用 ZCL 集群组件时,已实现的命令将不会在相应的 ZCL 高级配置器命令选项卡中启用/禁用。 | 在 ZCL 高级配置器中手动启用/禁用所需 ZCL 命令的发现。 |
| 765735 | 在启用页面请求的休眠终端设备上,OTA 更新失败。 | 使用块请求而不是页面请求。 |
| 845649 | 删除 CLI:Core 组件不会消除 EEPROM cli 对 sl_cli.h 的调用。 | 删除 eeprom-cli.c file 调用 sl_cli.h。此外,调用 sl_cli.h 以及
ota-storage-simple-eeprom 中的 sl_cli_command_arg_t 可以注释掉。 |
| 857200 | ias-zone-server.c 允许使用“0000000000000000”CIE 地址创建绑定,并且以后不允许进一步绑定。 | 没有已知的解决方法 |
| 1019961 | 生成的 Z3Gateway makefile 将“gcc”硬编码为 CC | 没有已知的解决方法 |
| ID # | 描述 | 解决方法 |
| 1039767 | 多线程 RTOS 使用案例中的 Zigbee 路由器网络重试队列溢出问题。 | Zigbee 堆栈不是线程安全的。因此,操作系统环境不支持从另一个任务调用 Zigbee 堆栈 API,并且可能会将堆栈置于“非工作”状态。有关使用事件处理程序的更多信息和解决方法,请参阅以下应用说明。
https://www.silabs.com/documents/public/application notes/an1322-dynamic-multiprotocol-bluetooth-zigbee-sdk 7x.pdf . |
| 1064370 | Z3Switch 的amp默认情况下,该应用程序仅启用一个按钮(实例:btn1),这会导致项目中的但吨描述不匹配file. | 解决方法:在 Z0Switch 项目创建期间手动安装 btn3 实例。 |
| 1161063 | Z3Light 和可能的其他应用程序报告不正确的集群修订值。 | 手动将集群修订版属性更新为适当的修订版。 |
| 1164768,
1171478, 1171479 |
错误:在 mfglib 接收模式期间重复报告 ezspErrorHandler s0x34 | 要减少打印的错误消息,请将主机应用程序上的 EMBER_AF_PLUGIN_GATEWAY_MAX_WAIT_FOR_EV ENT_TIMEOUT_MS 配置为 100,以便更快地释放回调队列。 |
弃用的项目
在版本 7.4.0.0 中已弃用
删除了以下已弃用的安全 API:
emberGetKey()
emberGetKeyTableEntry()
emberSetKeyTableEntry()
emberHaveLinkKey()
emberAddOrUpdateKeyTableEntry()
emberAddTransientLinkKey()
emberGetTransientKeyTableEntry()
emberGetTransientLinkKey()
emberHmacAesHash()
使用 Zigbee 安全管理器提供的 API 来访问密钥存储和 HMAC 哈希。
已移除商品
在版本 7.4.0.0 中删除
- 删除了公共标头中重复的公共 API file gp-types.h。
- zigbee_end_device_bind 组件已被删除。该组件用于协调器代理终端设备的绑定请求。此可选功能已从 Zigbee 核心规范的 R22 中删除。
- 删除了 af-host.c 中的 setPacketBufferCount() 和命令 handlers.c 中无用的检查情况 EZSP_CONFIG_PACKET_BUFFER_COUNT: 。
- 删除了内存分配参数,因为初始化 NCP 时无需分为两个阶段。
- 删除了 se14-comms-hub、se14-ihd 和 se14-meter-gas 的 app.c 中的 emberAfNcpInitCallback()。
- 在 ncp-configuration.c 中的 ncp 初始化期间删除了设置 EZSP_CONFIG_RETRY_QUEUE_SIZE 值
多协议网关和 RCP
新品
在版本 7.4.0.0 中添加
发布了并发侦听,即使用 EFR802.15.4xG32 或 xG24 RCP 时 Zigbee 和 OpenThread 堆栈在独立 21 通道上运行的能力。并发监听不适用于 802.15.4 RCP/蓝牙 RCP 组合、Zigbee NCP/OpenThread RCP 组合或 Zigbee/OpenThread 片上系统 (SoC)。它将在未来版本中添加到这些产品中。
OpenThread CLI 供应商扩展已添加到多协议容器的 OpenThread 主机应用程序中。这包括 coex cli 命令。
改进
在版本 7.4.0.0 中更改
Zigbee NCP/OpenThread RCP 多协议组合现已达到生产质量。
修正问题
已在 7.4.0.0 版中修复
| ID # | 描述 |
| 1081828 | 基于 FreeRTOS 的 Zigbee/BLE DMP 的吞吐量问题amp应用程序。 |
| 1090921 | Z3GatewayCpc 在嘈杂的环境中组建网络时遇到困难。 |
| 1153055 | 从 zigbee_ncp-ble_ncp-uart 读取 NCP 版本时发生通信故障,导致主机上出现断言amp乐应用程序。 |
| 1155676 | 如果多个 802.15.4 接口共享相同的 15.4 位节点 ID,16 RCP 会丢弃所有收到的单播数据包(MAC 确认后)。 |
| 1173178 | 主机错误地报告了在 Host-RCP 设置中使用 mfglib 接收到的数百个数据包。 |
| 1190859 | 在 Host-RCP 设置中发送 mfglib 随机数据包时出现 EZSP 错误。 |
| 1199706 | 来自被遗忘的终端设备子项的数据轮询未在 RCP 上正确设置挂起帧,以将离开并重新加入命令排队到前一个子项。 |
| 1207967 | “mfglib send random”命令在 Zigbeed 上发送额外的数据包。 |
| 1208012 | 在 RCP 上接收时,mfglib rx 模式未正确更新数据包信息。 |
| 1214359 | 当 80 个或更多路由器尝试同时加入 Host-RCP 设置时,协调器节点崩溃。 |
| 1216470 | 在中继地址掩码 0xFFFF 的广播后,充当父设备的 Zigbee RCP 将为每个子设备留下待处理的数据标志集。这导致每个孩子在每次轮询后都保持清醒状态,等待数据,并且需要每个终端设备进行一些其他待处理的数据事务以最终清除此状态。 |
当前版本中的已知问题
自上一版本以来添加了粗体问题。 如果您错过了某个版本,请访问最近的版本说明 https://www.silabs.com/developers/gecko-software-development-kit.
| ID # | 描述 | 解决方法 |
| 811732 | 使用 Zigbeed 时,自定义令牌支持不可用。 | 计划在未来的版本中提供支持。 |
| 937562 | 在 Raspberry Pi OS 802154 上使用 rcp-uart 11-blehci 应用程序时,Bluetoothctl“advertise on”命令失败。 | 使用 btmgmt 应用程序而不是 bluetoothctl。 |
| ID # | 描述 | 解决方法 |
| 1022972 | Coex 不适用于 ZB NCP + OT RCP。 | 计划在未来版本中提供支持。 |
| 1074205 | CMP RCP 不支持同一 PAN id 上的两个网络。 | 为每个网络使用不同的 PAN ID。计划在未来版本中提供支持。 |
| 1122723 | 在繁忙的环境中,z3-light_ot-ftd_soc 应用程序中的 CLI 可能会变得无响应。 | 没有已知的解决方法。 |
| 1170052 | CMP Zigbee NCP + OT RCP 和 DMP Zigbee NCP + BLE NCP 可能不适合当前版本中的 64KB 及更低 RAM 部件。 | 这些应用程序当前不支持 64KB 部分。 |
| 1213701 | 在嘈杂的环境中 OTA 升级到子级时,RCP 可能无法指示昏昏欲睡的子级的待处理数据,从而导致更新过程意外终止。 | 将在未来版本中解决。 |
| 1221299 | RCP 和 NCP 之间的 Mfglib RSSI 读数不同。 | 将在未来版本中解决。 |
弃用的项目
没有任何
已移除商品
在版本 7.4.0.0 中删除
“NONCOMPLIANT_ACK_TIMING_WORKAROUND”宏已被删除。现在,所有 RCP 应用程序默认支持非增强型 ack 的 192 微秒周转时间,同时仍使用 CSL 所需的增强型 ack 的 256 微秒周转时间。
使用此版本
此版本包含以下内容:
- Zigbee堆栈
- Zigbee应用框架
- 紫蜂Samp应用程序
有关 Zigbee 和 EmberZNet SDK 的更多信息,请参阅 UG103.02:Zigbee 基础知识.
如果您是首次用户,请参阅 QSG180:适用于 SDK 7.0 及更高版本的 Z Zigbee EmberZNet 快速入门指南,有关配置开发环境、构建和刷新的说明amp文件应用程序以及指向后续步骤的文档参考。
安装和使用
Zigbee EmberZNet SDK 作为 Gecko SDK (GSDK)(Silicon Labs SDK 套件)的一部分提供。要快速开始使用 GSDK,请安装 简单工作室 5,这将设置您的开发环境并引导您完成 GSDK 安装。 Simplicity Studio 5 包含使用 Silicon Labs 设备开发物联网产品所需的一切,包括资源和项目启动器、软件配置工具、带有 GNU 工具链的完整 IDE 以及分析工具。在线提供安装说明 Simplicity Studio 5 用户指南.
或者,可以通过从 GitHub 下载或克隆最新版本来手动安装 Gecko SDK。 看 https://github.com/SiliconLabs/gecko_sdk 了解更多信息。
Simplicity Studio 默认将 GSDK 安装在:
- (Windows): C:\用户\ \SimplicityStudio\SDKs\gecko_sdk
- (MacOS): /用户/ /SimplicityStudio/SDKs/gecko_sdk
特定于 SDK 版本的文档随 SDK 一起安装。附加信息通常可以在 知识库文章 (KBA)。有关此版本和早期版本的 API 参考和其他信息可在 https://docs.silabs.com/.
安全信息
安全保管库集成
对于选择使用 Secure Vault-High 部件上的安全密钥存储组件安全存储密钥的应用程序,下表显示了 Zigbee 安全管理器组件管理的受保护密钥及其存储保护特性。
| 包装密钥 | 可出口/不可出口 | 笔记 |
| 网络密钥 | 可导出 | |
| 信任中心链接密钥 | 可导出 | |
| 瞬态链接密钥 | 可导出 | 索引键表,存储为易失性键 |
| 应用程序链接密钥 | 可导出 | 索引键表 |
| 安全 EZSP 密钥 | 可导出 | |
| ZLL 加密密钥 | 可导出 | |
| ZLL 预配置密钥 | 可导出 | |
| GPD 代理密钥 | 可导出 | 索引键表 |
| GPD 接收器密钥 | 可导出 | 索引键表 |
| 内部/占位符键 | 可导出 | Zigbee 安全管理器使用的内部密钥 |
可以使用但不能使用标记为“不可导出”的包装密钥 view在运行时编辑或共享。
标记为“可导出”的包装密钥可以在运行时使用或共享,但在存储在闪存中时仍保持加密状态。
用户应用程序永远不需要与这些键中的大多数进行交互。用于管理链路密钥表密钥或临时密钥的现有 API 仍然可供用户应用程序使用,并且现在可以通过 Zigbee 安全管理器组件进行路由。
其中一些密钥将来可能无法导出到用户应用程序。除非绝对必要,否则鼓励用户应用程序不要依赖密钥的导出。
有关 Secure Vault 密钥管理功能的更多信息,请参阅 AN1271:安全密钥存储.
安全建议
要订阅安全公告,请登录 Silicon Labs 客户门户,然后选择 账户主页。 点击 家 转至门户主页,然后单击 管理通知 瓦。确保选中“软件/安全咨询通知和产品变更通知 (PCN)”,并且您至少订阅了您的平台和协议。点击 节省 保存所有更改。

支持
开发套件客户有资格获得培训和技术支持。使用 芯科实验室 Zigbee web 页 获取有关所有 Silicon Labs Zigbee 产品和服务的信息,并注册产品支持。
您可以通过以下方式联系 Silicon Laboratories 支持 http://www.silabs.com/support.

免责声明
Silicon Labs 旨在为客户提供所有外围设备和模块的最新、准确和深入的文档,供使用或打算使用 Silicon Labs 产品的系统和软件实施者使用。特性数据、可用模块和外设、存储器大小和存储器地址涉及每个特定器件,并且提供的“典型”参数在不同的应用中可能并且确实有所不同。应用前amp本文描述的文件仅用于说明目的。 Silicon Labs 保留对本文中的产品信息、规格和描述进行更改的权利,恕不另行通知,并且不对所包含信息的准确性或完整性提供保证。出于安全或可靠性原因,Silicon Labs 可能会在制造过程中更新产品固件,恕不另行通知。此类更改不会改变产品的规格或性能。对于使用本文档中提供的信息所造成的后果,Silicon Labs 不承担任何责任。本文件并不暗示或明确授予设计或制造任何集成电路的任何许可。未经 Silicon Labs 具体书面同意,这些产品未设计或授权用于任何 FDA III 类设备、需要 FDA 上市前批准的应用或生命支持系统。 “生命支持系统”是指旨在支持或维持生命和/或健康的任何产品或系统,如果出现故障,可以合理预期会导致重大人身伤害或死亡。 Silicon Labs 产品并非为军事应用而设计或授权。 Silicon Labs 产品在任何情况下均不得用于大规模杀伤性武器,包括(但不限于)核武器、生物武器或化学武器,或能够运载此类武器的导弹。 Silicon Labs 不承担所有明示和默示的保证,并且对于因在此类未经授权的应用程序中使用 Silicon Labs 产品而造成的任何伤害或损害不承担任何责任。 注意:此内容可能包含现已过时的冒犯性术语。 Silicon Labs 正在尽可能用包容性语言替换这些术语。了解更多 信息,访问 www.silabs.com/about-us/inclusive-lexicon-project
商标信息
Silicon Laboratories Inc.®、Silicon Laboratories®、Silicon Labs®、SiLabs® 和 Silicon Labs 徽标®、Bluegiga®、Bluegiga Logo®、EFM®、EFM32®、EFR、Ember®、Energy Micro、Energy Micro 徽标及其组合、“世界上最节能的微控制器”、Redpine Signals®、WiSeConnect、n-Link、ThreadArch®、EZLink®、EZRadio®、EZRadioPRO®、Gecko®、Gecko OS、Gecko OS Studio、Precision32®、Simplicity Studio®、Telegesis 、Telegesis Logo®、USBXpress®、Zentri、Zentri 徽标和 Zentri DMS、Z-Wave® 等是 Silicon Labs 的商标或注册商标。 ARM、CORTEX、Cortex-M3 和 THUMB 是 ARM Holdings 的商标或注册商标。 Keil 是 ARM Limited 的注册商标。 Wi-Fi 是 Wi-Fi 联盟的注册商标。本文提及的所有其他产品或品牌名称均为其各自所有者的商标。
![]()
硅实验室公司
400 西塞萨尔查韦斯
德克萨斯州奥斯汀 78701
美国
文件/资源
![]() |
SILICON LABS 7.4.0.0 Zigbee EmberZNet SDK 软件 [pdf] 用户指南 7.4.0.0 Zigbee EmberZNet SDK 软件, 7.4.0.0, Zigbee EmberZNet SDK 软件, EmberZNet SDK 软件, SDK 软件, 软件 |

