SILICON LABS SDK 7.4.1.0 GA Zigbee Protocol Stack Software
Інформація про продукт
Технічні характеристики
- Версія Zigbee EmberZNet SDK: 7.4.1.0
- Версія Gecko SDK Suite: 4.4 – 14 лютого 2024 р
- Постачальник: Кремнієві лабораторії
- Ключові характеристики: Багатопротокольна підтримка Zigbee і OpenThread на SoC
- Сумісні компілятори: GCC версія 12.2.1
- Версія протоколу EZSP: 0x0D
Інструкція з використання продукту
Примітки щодо сумісності та використання
- Для отримання оновлень безпеки та повідомлень дивіться розділ «Безпека» приміток до випуску платформи Gecko, встановлених із цим SDK, або відвідайте вкладку ТЕХНІЧНА ДОКУМЕНТАЦІЯ на сайті Silicon Labs webсайт.
- Будьте в курсі новин, підписавшись на поради щодо безпеки.
FAQ
- Питання: Як перевірити правильність files використовуються з сумісними компіляторами?
- відповідь: Ви можете переконатися, що це правильно files використовуються, перевіряючи GCC версії 12.2.1, що надається разом із Simplicity Studio.
- Питання: Де я можу знайти інформацію про оновлення безпеки та повідомлення?
- відповідь: Для отримання оновлень безпеки та повідомлень див. розділ «Безпека» приміток до випуску платформи Gecko або відвідайте вкладку «ТЕХНІЧНА ДОКУМЕНТАЦІЯ» на сайті Silicon Labs. webсайт.
Silicon Labs є постачальником, який вибирають OEM-виробники, які розробляють мережу Zigbee у своїх продуктах. Платформа Silicon Labs Zigbee — це найбільш інтегроване, повне та багатофункціональне рішення Zigbee.
Silicon Labs EmberZNet SDK містить реалізацію Silicon Labs специфікації стеку Zigbee.
- Ці примітки до випуску стосуються версії SDK:
- 7.4.1.0 випущено 14 лютого 2024 року
- 7.4.0.0 випущено 13 грудня 2023 р
ОСНОВНІ ХАРАКТЕРИСТИКИ
Zigbee
- Відповідність Zigbee R23
- Відповідність Zigbee Smart Energy 1.4a – виробництво
- Відповідність Zigbee GP 1.1.2 – Альфа
- Опора MG27 – виробництво
- Покращена підтримка частин Secure Vault
- Підтримка Sleepy у програмах NCP SPI (не CPC) – Альфа
Багатопротокольність
- Підтримка одночасного прослуховування (RCP) – MG21 і MG24
- Одночасний мультипротокольний (CMP) Zigbee NCP + OpenThread RCP – виробництво
- Підтримка Dynamic Multiprotocol Bluetooth + Concurrent Multiprotocol (CMP) Zigbee і OpenThread на SoC
Примітки щодо сумісності та використання
Щоб отримати інформацію щодо оновлень системи безпеки та повідомлень, перегляньте розділ «Безпека» приміток до випуску платформи Gecko, встановлених із цим SDK, або на вкладці «ТЕХНІЧНА ДОКУМЕНТАЦІЯ» за адресою https://www.silabs.com/developers/zigbee-emberznet. Silicon Labs також наполегливо рекомендує вам підписатися на рекомендації щодо безпеки, щоб отримувати актуальну інформацію. Щоб отримати інструкції або якщо ви новачок у Zigbee EmberZNet SDK, перегляньте розділ Використання цього випуску.
Сумісні компілятори
- IAR Embedded Workbench для ARM (IAR-EWARM) версія 9.40.1.
- Використання Wine для збирання за допомогою утиліти командного рядка IarBuild.exe або IAR Embedded Workbench GUI на macOS або Linux може призвести до неправильної files використовується через колізії в алгоритмі хешування Wine для генерації коротких file імена.
- Користувачам macOS або Linux не рекомендується створювати IAR за межами Simplicity Studio. Клієнти, які роблять це, повинні ретельно перевірити правильність files використовуються.
GCC (Колекція компіляторів GNU) версії 12.2.1, надається разом із Simplicity Studio.
Версія протоколу EZSP для цього випуску – 0x0D.
Нові предмети
Цей випуск Gecko SDK (GSDK) буде останнім із комбінованою підтримкою всіх пристроїв EFM і EFR, за винятком патчів до цієї версії за потреби. Починаючи з середини 2024 року ми представимо окремі SDK:
- Існуючий Gecko SDK продовжить підтримувати пристрої Series 0 і 1.
- Новий SDK призначений спеціально для пристроїв серії 2 і 3.
Gecko SDK продовжуватиме підтримувати всі пристрої серії 0 і 1 без змін у довгостроковій підтримці, обслуговуванні, якості та швидкодії, передбачених нашою політикою програмного забезпечення.
Новий SDK стане відгалуженням Gecko SDK і почне пропонувати нові функції, які допоможуть розробникам розвиватисяtage передових можливостей наших продуктів серії 2 і 3.
Це рішення узгоджується з відгуками клієнтів, що відображає наше прагнення підвищити якість, забезпечити стабільність і покращити продуктивність для виняткової взаємодії з нашим програмним SDK.
Нові компоненти
Нове у випуску
- Додано компоненти «zigbee_direct_security_p256» і «zigbee_direct_security_curve25519», щоб користувачі могли налаштувати певний параметр безпеки Zigbee Direct.
- Користувачам дозволено ввімкнути декілька компонентів «zigbee_direct_security» у програмі прямого пристрою Zigbee (ZDD). У цьому випадку фактичний параметр безпеки залежить від конфігурації віртуального пристрою Zigbee (ZVD).
Нові API
Нове у випуску
- Додано новий API sl_zigbee_token_factory_reset для скидання токенів 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* context, sl_zb_sec_man_key_t* key), який повертає true, якщо ключ, на який посилається контекст, має те саме значення, що й ключ, наданий в аргументі.
Підтримка нової платформи
Нове у випуску
- У цьому випуску додано підтримку стека Zigbee для таких нових частин: EFR32MG24A010F768IM40 і EFR32MG24A020F768IM40.
Нова документація
Нове у випуску 7.4.0.0
- Оновлено опис компонента Zigbee Secure Key Storage, щоб відобразити додавання Zigbee Secure Key Storage Upgrade (що додає зворотну сумісність із існуючими проектами).
- Додано нову примітку до програми для взаємодії з групою компонентів Zigbee Security Manager (AN1412: Zigbee Security Manager).
Запланована поведінка
Нагадуємо користувачам, що несинхронізовані передачі CSL Zigbee підлягають пріоритету протоколу в радіопланувальнику. У програмах SleepyToSleepy BLE може і буде випереджати передачу Zigbee CSL, яка завершить передачу. Випередження планувальника є більш поширеним для несинхронізованого CSL, враховуючи, що може використовуватися потенційно довга послідовність кадрів пробудження. Користувачі, які бажають налаштувати пріоритети передачі, можуть використовувати для цього компонент DMP Tuning and Testing. Користувачі також можуть переглянути UG305: Dynamic Multiprotocol User's Guide для отримання додаткової інформації.
Покращення
Змінено у випуску
Зміни в документації API emberCounterHandler
У попередніх версіях зворотній виклик обробника лічильників для рівнів MAC і APS EmberCounterTypes щодо пакетів RX і TX не передавався належним ідентифікатором цільового вузла або аргументами даних, а документація API щодо поведінки певних лічильників, які використовували ці параметри, була незрозумілою або вводила в оману.
Хоча підпис emberCounterHandler() не змінився, спосіб заповнення його параметрів дещо змінився.
- Коментарі навколо переліків EmberCounterType у ember-types.h було розширено для ясності.
- Параметр «Ідентифікатор вузла» для обробника лічильників для лічильників, пов’язаних із TX, тепер перевіряє, чи вказує режим адреси призначення дійсний короткий ідентифікатор перед його використанням. (Якщо ні, адреса призначення не заповнюється, а замість нього використовується значення заповнювача EMBER_UNKNOWN_NODE_ID.)
- Параметр «Ідентифікатор вузла» для обробника лічильників для лічильників, пов’язаних з RX, тепер відображає ідентифікатор вузла джерела, а не ідентифікатор вузла призначення.
- Лічильник повторних спроб *не* передається як параметр даних для лічильників EMBER_COUNTER_MAC_TX_UNICAST_ SUCCESS/FAILED, як описано в ember-types. h у попередніх версіях, але він ніколи не заповнювався належним чином у попередніх версіях, тому його значення в попередніх випусках завжди було 0. Цю поведінку було уточнено в описі цих EmberCounterTypes. Однак кількість повторних спроб для повторних спроб рівня APS продовжує заповнюватися в параметрі даних для типів лічильників EMBER_COUNTER_APS_TX_UNICAST_SUCCESS/FAILED, щоб відповідати попереднім випускам.
- Усі лічильники, які заповнюють ідентифікатор вузла або параметр даних для зворотного виклику, були перевірені, щоб переконатися, що вони передають очікувані дані, адресу або EMBER_UNKNOWN_NODE_ID, якщо ідентифікатор вузла очікувався, але не міг бути отриманий із пакета, як описано в переглянутому ember- типи.h документація.
- Обробник лічильника для EMBER_COUNTER_MAC_TX_UNICAST_RETRY тепер правильно відображає ідентифікатор цільового вузла рівня MAC і кілька повторних спроб у його ідентифікаторі цільового вузла та параметрах даних.
- Обробник лічильника для EMBER_COUNTER_PHY_CCA_FAIL_COUNT тепер надає інформацію про ідентифікатор вузла призначення через параметр ідентифікатора вузла про передбачувану ціль рівня MAC для повідомлення, яке не вдалося передати.
Оновлений код зеленого живлення
Код сервера Green Power оновлено різними вдосконаленнями, зокрема:
- Додано більше коду перевірки для вхідних команд із недійсною кінцевою точкою під час отримання на сервері GP.
- Додано код для обробки випадку, коли більше немає місця для побудови зелених повідомлень.
- Приймач тепер скидає конфігурацію сполучення з дією видалення пари в деяких випадках відповідно до розділу специфікації A.3.5.2.4.1.
- Приймач тепер зберігає наявний груповий список запису перед його видаленням під час обробки конфігурації сполучення з дією extend.
- Команда запиту на переклад повертає «НЕ ЗНАЙДЕНО» як код помилки, якщо таблиця перекладу порожня або індекс перевищує кілька записів у таблиці.
- Версію кінцевої точки GP у деяких програмах змінено з 1 на 0.
Використання CSMA у функції надсилання GPDF обмежено, оскільки пристрої Green Power є пристроями з мінімальною енергією і не використовують CSMA у більшості дизайнів. Замість цього кращим дизайном є надсилання кількох пакетів, використовуючи той самий бюджет енергії.
Вилучено використання прихованої кінцевої точки в опції плагіна Green Power Server. Натомість використовуйте одну з кінцевих точок програми.
Покращення коду плагіна оновлення ключа мережі
- Період періодичного оновлення ключа мережі змінено на 1 рік.
Реструктуризовано деякі API, щоб уникнути непотрібного експорту ключів
Внесено зміни на користь використання ключових контекстів замість відкритих текстових ключових даних.
- sl_zigbee_send_security_challenge_request тепер приймає аргумент sl_zb_sec_man_context_t замість EmberKeyData.
- Значення enum sl_zb_sec_man_derived_key_type тепер є 16-бітовою бітовою маскою для прямої підтримки певних похідних ключів, які поєднують кілька похідних типів.
Вирішені проблеми
Виправлено у випуску
ID № | опис |
1036893 | Виправлено проблему, через яку компонент кластера OTA встановлював застарілий компонент інтерфейсу завантажувача як залежність. |
1114905 | Zigbee Direct: покращено обробку характеристики виходу з мережі. |
1180937 | Виправлено скидання WDT під час підключення Zigbee Direct ZDD до стороннього ZVD. |
1223904 | Виправлено проблему, через яку кінцевий пристрій некоректно перемикався на роботу в дуже навантаженому середовищі. |
1224393 | Оновлено код обробника запитів таблиці приймача Green Power, щоб оновити адресу призначення відповіді. |
1228808 | Виправлено проблему відображення макросів у документації gp-types.h. |
1232297 | Виправлено проблему, через яку emberSetOutgoingNwkFrameCounter і emberSetOutgoingApsFrameCounter не працювали на 64-розрядних хост-додатках (повертаючи EMBER_BAD_ARGUMENT). |
1232359 | Виправлено обчислення параметра gppTunnelingDelay у обробці команд клієнта green power. |
1240392 |
Запити ZDO Bind/Unbind, відхилені через причини доступу/дозволу, мають повертати статус EMBER_ZDP_NOT_AUTHORIZED, а не статус EMBER_ZDP_NOT_PERMITTED відповідно до специфікацій Zigbee. |
1243523 | Zigbee Direct: покращена стабільність підключення BLE до ЗВД. |
1249455 | Виправлено проблему, через яку кінцевий пристрій у режимі сну переходив у режим сну під час отримання трансляції перед отриманням підтвердження. |
1252295 | Виправте помилку в макросі каталогу компонентів SL_CATALOG_ZIGBEE_OTA_STORAGE_COMMON_PRESENT. |
Виправлено у випуску
ID № | опис |
1019348 | Виправлено вимоги до залежностей для компонента Zigbee ZCL Cli, щоб його можна було видалити, коли він не потрібен. |
1024246 | Оновлено опис функції для emberHaveLinkKey() і sl_zb_sec_man_have_link_key(). |
1036503 | Додано опис, щоб рекомендувати використання ядра Micrium для DMPampдодатки. |
1037661 | Виправлено проблему, яка заважала програмі встановити професійний стек або листовий стек. |
1078136 | Виправлено періодичний збій під час зміни подій із контексту переривання |
1081548 |
Нагадуємо користувачам, що несинхронізовані передачі CSL Zigbee підлягають пріоритету протоколу в радіопланувальнику. У програмах SleepyToSleepy BLE може і буде випереджати передачу Zigbee CSL, яка завершить передачу. Випередження планувальника є більш поширеним для несинхронізованого CSL, враховуючи, що може використовуватися потенційно довга послідовність кадрів пробудження. Користувачі, які бажають налаштувати пріоритети передачі, можуть використовувати для цього компонент DMP Tuning and Testing. Користувачі також можуть переглянути UG305: Dynamic Multiprotocol User's Guide для отримання додаткової інформації.
У CSL виправлено проблему, через яку нова послідовність кадрів пробудження, отримана одразу після попереднього кадру корисного навантаження, не записувалася належним чином. Це призведе до пропущеного кадру корисного навантаження. |
1084111 | Початкову підтримку SPI-NCP у режимі сну для плат на основі MG24 оновлено як частину цього випуску. |
1104056 | Додано підтримку керування мережею для роботи у вторинній мережі у випадку кількох мереж |
1120515 | Виправлено проблему, через яку канал не змінювався під час використання команди mfglib set-channel. |
1141109 | Виправлено проблему, через яку створювалися sampпрограма ncp-uart-gp-multi-rail пропускає заголовок files під час використання компонента адаптера Green Power із параметром -cp. |
1144316 | Оновлено опис деяких типів структур даних у документації gp-types.h. |
1144884 | Виправлено помилковий біт кадру, який очікує на розгляд, коли дані не очікуються. |
1152512 | Виправлено потенційний збій у low-mac-rail під час модифікації події в контексті ISR. |
ID № | опис |
1154616 | Додано виняток для умови ініціалізації мережі з випадком «Зміна ролі з кінцевого пристрою в режимі сну на пристрій, що не працює в режимі сну». |
1157289 | Виправлено проблему, яка могла спричинити помилку тесту BDB DN-TLM-TC-02B. |
1157426 | Виправлено проблему збірки під час створення zigbee_simple_app із компонентом green_power_adapter. |
1157932 | Додано умову для перевірки відсутності поля «час переходу» та встановлення значення за умовчанням 0xFFFF для цього відсутнього поля. |
1166340 | Виправлено проблему, через яку emberAfGpdfSend не надсилав заплановану кількість повторних передач. |
1167807 | Виправлено проблему, через яку пристрої, що діють як центри довіри в розподілених мережах, неправильно очищали свої тимчасові ключі посилань кожного разу, коли приєднувався новий пристрій. |
1169504 | Виправлено проблему, яка спричиняла скидання пристрою в режимі сну після примусового пробудження. |
1169966 | Виправлено відсутність перевірки повернутого значення в коді розподілу буфера. |
1171477,
172270 |
З mfglib start 1 повідомлення не передаються, але приймаються, тому відображене термінальне повідомлення «mfglib send complete» є неправильним і змінюється на «RXed %d packets in the last %d ms». |
1171935 | Період періодичного оновлення ключа мережі змінено на 1 рік. |
1172778 | Додано відсутній виклик emberAfPluginGreenPowerServerUpdateAliasCallback до сервера Green Power. |
1174288 | Виправлено проблему, через яку процес керування мережею заявляв, якщо виклик зупинити поточне сканування. |
1178393 | Оновлено помилку документації. |
1180445 | У Smart Energy тепер OTA продовжує завантажуватись, якщо координатор досягає обмеженого робочого циклу. |
1185509 | Виправлено проблему в CSL, через яку нова послідовність кадрів пробудження, отримана одразу після попереднього кадру корисного навантаження, не записувалася належним чином. Це призведе до пропущеного кадру корисного навантаження. |
1186107 | Виправлено проблему, яка спричиняла невдале розшифрування отриманих GPDF для заміни вхідного GPDF у сповіщенні про введення в експлуатацію gp. |
1188397 | Виправлено проблему, яка викликала помилку компіляції під час увімкнення розширеного розміру таблиці звіту. |
1194090 | Виправлено статус помилки у відповіді за замовчуванням для команди «Режим введення в експлуатацію» – відповідно до розділу 3.3.4.8.2 |
1194963 | Виправлено проблему, через яку memset структуру CommissioningGpd перед викликом зворотного виклику користувача emberAfGreenPowerServerPairingStatusCallback. |
1194966 | Виправлено проблему, через яку поля Endpoint і proxiesInvolved не встановлювалися в дії Exit Commissioning. |
1196698 | Виправлено помилковий біт кадру, який очікує на розгляд, коли дані не очікуються. |
1199958 | Додано код для обробки випадку, коли більше немає місця для побудови зелених повідомлень. |
1202034 | Виправлено проблему, через яку змінна стека sl_zb_sec_man_context_t не ініціалізувалася належним чином, що спричиняло помилку приєднання за допомогою коду встановлення. |
1206040 |
Виклик emberRemoveChild() під час безпечної спроби повторного приєднання кінцевим пристроєм потенційно може призвести до додаткового зменшення підрахунку дочірніх елементів, потенційно призводячи до підрахунку дочірніх елементів на -1 (255), перешкоджаючи приєднанню/повторному приєднанню кінцевих пристроїв через вказану відсутність місткості в Beacon. |
1207580 |
Функції пошуку дочірніх таблиць у стеку несумісні у використанні 0x0000 проти 0xFFFF для ідентифікатора вузла, що повертається, що представляє недійсні/порожні записи, що призводить до проблем із перевіркою невикористаних записів у API, як-от emberRemoveChild(). |
1210706 | Цільовий і фізичний індекс, наданий у структурі EmberExtraCounterInfo як частина emberCounterHandler(), міг бути неправильним для типів лічильників MAC TX Unicast. |
1211610
1212525 |
Виправлено проблему, через яку програми Dynamic Multiprotocol виходили з ладу після ввімкнення компонента Secure Key Storage Upgrade. |
1211847 | Хоча підпис emberCounterHandler() не змінився, спосіб заповнення його параметрів дещо змінився. Зміни навколо цього API пояснюються в розділі 2 вище. |
1212449 |
Вихідні маяки були неправильно класифіковані на рівні MAC, що призвело до того, що emberCounterHandler() не зміг перехопити ці пакети за допомогою типу лічильника EMBER_COUNTER_MAC_TX_BROADCAST і натомість підраховував маяки за типом лічильника EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS. Це потенційно призвело до ненадійних значень для параметра dest EmberNodeId, переданого до структури EmberCounterInfo |
ID № | опис |
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.si-labs.com/developers/zigbee-emberznet на вкладці Технічні документи.
ID № | опис | Обхідний шлях |
N/A | · Наступні програми/компоненти не підтримуються в цьому випуску: підтримка EM4 | Ця функція буде ввімкнена в наступних випусках. |
193492 |
Макрос перенесення emberAfFillCommandGlobalServerToClientConfigureRe не працює. Заповнення буфера створює некоректний пакет команд. | Використовуйте команду CLI «zcl global send-me-a-report» замість API. |
278063 | Розумне тунелювання енергії plugins мають конфліктну обробку/використання індексу адресної таблиці. | Немає відомого обхідного шляху |
289569 |
Список вибору рівня потужності компонента створення мережі не пропонує повний діапазон підтримуваних значень для EFR32 |
Відредагуйте діапазон <-8..20>, указаний у коментарі CMSIS для EMBER_AF_PLUGIN_NETWORK_CREATOR_RADIO_P
OWER в /protocol/ZigBee/app/framework/plugin/network-creator/config/network-creator-config.h file. наприкладample, змінити на <-26..20>. |
295498 | Прийом UART іноді пропускає байти під великим навантаженням у випадку динамічного мультипротокольного використання Zigbee+BLE. | Використовуйте апаратний контроль потоку або зменште швидкість передачі. |
312291 |
EMHAL: функції halCommonGetIntxxMillisecondTick на хостах Linux наразі використовують функцію отримання meofday, яка не гарантовано буде монотонною. Якщо системний час змінюється, це може спричинити проблеми зі стеком. |
Змініть ці функції, щоб натомість використовувати clock_gettime із джерелом CLOCK_MONOTONIC. |
338151 | Ініціалізація NCP із низьким значенням буфера пакетів може призвести до пошкодження пакетів. | Використовуйте зарезервоване значення 0xFF для кількості буферів пакетів, щоб уникнути занадто низького значення за замовчуванням |
387750 | Проблема з форматами запиту таблиці маршрутів на кінцевому пристрої. | Досліджуваний |
400418 | Ініціатор touchlink не може зв’язуватися з цільовим кінцевим пристроєм, не встановленим на заводі. | Немає відомого обхідного шляху. |
424355 |
За певних обставин ініціатор контактної лінії контактної лінії кінцевого пристрою, не встановлений на заводі, не може отримати відповідь з інформацією про пристрій. |
Досліджуваний |
465180 |
Пункт «Увімкнути керування часом виконання» оптимізації блокування радіочастот співіснування може блокувати правильну роботу Zigbee. | Додатковий елемент керування оптимізацією блокувальника «Вибір Wi-Fi» слід залишити «вимкненим». |
480550 |
Кластер OTA має вбудований метод фрагментації, тому він не повинен використовувати фрагментацію APS. Хоча, якщо шифрування APS увімкнено, корисне навантаження ImageBlockResponses збільшується до розміру, при якому активується фрагментація APS. Це може призвести до збою процесу OTA. |
Немає відомого обхідного шляху |
481128 |
Детальні відомості про причину скидання та збої мають бути доступні за замовчуванням через віртуальний UART (Serial 0) на платформах NCP, коли ввімкнено плагін діагностики та периферійний пристрій віртуального UART. | Оскільки Serial 0 уже ініціалізовано в NCP, клієнти можуть увімкнути emberAfNcpInitCallback у Zigbee NCP Framework і викликати відповідні діагностичні функції (halGetExtendedResetInfo, halGetExtendedResetString, halPrintCrashSummary, halPrintCrashDetails і halPrintCrashData) у цьому зворотному виклику, щоб надрукувати ці дані на Serial 0 для viewу журналі захоплення Network Analyzer.
Для колишньогоampЩоб дізнатися, як використовувати ці функції, зверніться до коду, включеного в a-main-soc.c emberAfMainInit(), коли визначено EXTENDED_RESET_INFO. |
ID № | опис | Обхідний шлях |
486369 |
Якщо DynamicMultiProtocolLightSoc, який формує нову мережу, має дочірні вузли, що залишилися від мережі, яку він покинув, emberAfGetChildTableSize повертає ненульове значення в startIdentifyOnAllChildNodes, викликаючи повідомлення про помилку Tx 66 під час звернення до «примарних» дітей. | Масово видаліть частину, якщо можливо, перед створенням нової мережі або програмно перевірте дочірню таблицю після виходу з мережі та видаліть усіх дочірніх таблиць за допомогою emberRemoveChild перед формуванням нової мережі. |
495563 |
Приєднання SPI NCP Sleepy End Device SampДодаток не виконує короткий опитування, тому спроба приєднання не вдається в стані Оновити ключ посилання TC. | Пристрій, який бажає приєднатися, має бути в режимі короткого опитування перед спробою приєднатися. Цей режим може бути примусово активований плагіном End Device Support. |
497832 |
У Network Analyzer розбивка команд підтримки програми Zigbee для кадру запиту перевірки ключа помилково посилається на частину корисного навантаження, яка вказує адресу джерела кадру як адресу призначення. |
Немає відомого обхідного шляху |
519905
521782 |
Spi-NCP дуже рідко може не запустити зв’язок завантажувача за допомогою команди CLI «bootload» плагіна ota-client. |
Перезапустіть процес завантаження |
620596 |
NCP SPI Exampфайл для BRD4181A (EFR32xGMG21)
Визначений за замовчуванням PIN-код nWake не можна використовувати як PIN-код пробудження. |
Змініть PIN-код за замовчуванням для nWake з PD03 на PIN-код EM2/3 із підтримкою пробудження в плагіні NCP-SPI. |
631713 |
Кінцевий пристрій Zigbee неодноразово повідомлятиме про конфлікти адрес, якщо використовується плагін «Бібліотека стеку Zigbee PRO» замість «Бібліотека Zigbee PRO Leaf». | Використовуйте «бібліотеку Zigbee PRO Leaf Library» замість плагіна «Zigbee PRO Stack Library». |
670702 |
Неефективність плагіна звітування може призвести до значної затримки залежно від частоти запису даних і розміру таблиці, що може заважати коду додатка клієнта, включаючи час подій. | Якщо ви часто записуєте, перевірте умови звітування та надсилайте звіти вручну, а не за допомогою плагіна. |
708258 |
Неініціалізоване значення в groups-server.c за допомогою addEntryToGroupTable() може створити помилкове зв’язування та спричинити надсилання повідомлень звіту про групу. | Додайте «binding.clusterId = EMBER_AF_INVALID_CLUSTER_ID;» після «binding.type
= EMBER_MULTICAST_BINDING;" |
757775 |
Усі деталі EFR32 мають унікальне зміщення RSSI. Крім того, дизайн плати, антени та корпус можуть впливати на RSSI. |
При створенні нового проекту встановіть RAIL Utility, компонент RSSI. Ця функція включає в себе стандартний RSSI Offset Silabs, виміряний для кожної деталі. Це зміщення можна змінити, якщо необхідно, після радіочастотного тестування вашого повного продукту. |
758965 |
Компоненти кластера ZCL і таблиця виявлення команд ZCL не синхронізовані. Таким чином, під час увімкнення або вимкнення компонента кластера ZCL реалізовані команди не будуть увімкнені/вимкнені на відповідній вкладці команд розширеного конфігуратора ZCL. | Вручну ввімкніть/вимкніть виявлення для потрібних команд ZCL у розширеному конфігураторі ZCL. |
765735 | Оновлення OTA не вдається виконати на кінцевому пристрої в режимі сну з увімкненим запитом сторінки. | Використовуйте запит на блокування замість запиту сторінки. |
845649 |
Видалення CLI: основний компонент не усуває виклики EEPROM cli до sl_cli.h. |
Видаліть файл eeprom-cli.c file який викликає sl_cli.h. Крім того, виклики sl_cli.h, а також sl_cli_command_arg_t в ota-storage-simple-eeprom можна закоментувати. |
857200 |
ias-зона-сервер. c дозволяє створювати прив’язки з адресою CIE «0000000000000000» і не дозволяє подальші прив’язки. | Немає відомого обхідного шляху |
1019961 | Згенерована марка Z3Gatewayfile жорсткі коди «gcc» як CC | Немає відомого обхідного шляху |
ID № | опис | Обхідний шлях |
1039767 |
Проблема переповнення черги повторних спроб мережі маршрутизатора Zigbee у випадку використання багатопотокової RTOS. |
Стек Zigbee не є потокобезпечним. Як наслідок, виклик API стеку Zigbee з іншого завдання не підтримується в середовищі ОС і може перевести стек у «неробочий» стан. Зверніться до наведеної нижче примітки до програми, щоб отримати додаткові відомості та обхідний шлях за допомогою обробника подій.
https://www.silabs.com/documents/public/application- notes/an1322-dynamic-multiprotocol-bluetooth-zigbee-sdk- 7x.pdf . |
1064370 | Z3Switch sampФайлова програма за умовчанням увімкнула лише одну кнопку (екземпляр: btn1), що призводить до невідповідності в описі кнопки в проекті file. | Обхідний шлях: інсталюйте примірник btn0 вручну під час створення проекту Z3Switch. |
1161063 | Z3Light і потенційно інші програми повідомляють про неправильні значення версії кластера. | Вручну оновіть атрибут версії кластера до відповідної версії. |
1164768,
1171478, 1171479 |
ПОМИЛКА: ezspErrorHandler 0x34 неодноразово повідомлявся під час режиму отримання mfglib | Щоб зменшити кількість повідомлень про помилки, які друкуються, налаштуйте EMBER_AF_PLUGIN_GATEWAY_MAX_WAIT_FOR_EV
ENT_TIMEOUT_MS у програмі хоста до 100, тому чергу зворотних викликів звільняється швидше. |
1252460 | Процедури відновлення SimEEPROM (для версії 1 і версії 2), які запускаються під час запуску, можуть виконувати виклики стирання флеш-сторінки зі зміщенням, що призводить до твердження під час em_msc. підпрограма c MSC_ErasePage. | Обхідний шлях: розмістіть такий рядок коду вгорі функції MSC_ErasePage() у em_msc.c: початкова адреса = (uint32_t*)((uint32_t)startAddress &
~(FLASH_PAGE_SIZE-1)); |
Застарілі елементи
Застаріло у випуску
У версії GSDK 7.4.0.0, включаючи цей патч, параметр «-v» у Z3Gateway для хост-додатку Linux для створення інтерфейсу Telnet із портом 4900 або 4901 застарів. Альтернативним рекомендованим способом створення інтерфейсу Telnet є використання утиліт Linux, таких як «socat».
Застаріло у випуску
Видалено такі застарілі API безпеки:
- emberGetKey()
- emberGetKeyTableEntry()
- emberSetKeyTableEntry()
- emberHaveLinkKey()
- emberAddOrUpdateKeyTableEntry()
- emberAddTransientLinkKey()
- emberGetTransientKeyTableEntry()
- emberGetTransientLinkKey()
- emberHmacAesHash()
Використовуйте API, надані Zigbee Security Manager, для доступу до сховища ключів і хешування HMAC.
Видалені елементи
Видалено у випуску
- Вилучено повторювані загальнодоступні API у загальнодоступному заголовку file gp-types.h.
- Компонент zigbee_end_device_bind видалено. Цей компонент використовувався для координатора для посередництва повторних запитів прив’язки для кінцевих пристроїв. Цю додаткову функцію було видалено з R22 базової специфікації Zigbee.
- Видалено setPacketBufferCount() у af-host.c і непотрібну перевірку EZSP_CONFIG_PACKET_BUFFER_COUNT: у command-handlers.c.
- Видалено аргумент memoryAllocation, оскільки немає необхідності ділити на дві фази під час ініціалізації NCP.
- Видалено emberAfNcpInitCallback() у програмах se14-comms-hub, se14-ihd і se14-meter-gas app.c.
- Видалено значення параметра EZSP_CONFIG_RETRY_QUEUE_SIZE під час ініціалізації ncp у ncp-configuration.c
Багатопротокольний шлюз і RCP
Нові предмети
Додано у випуску
- Випущено можливість одночасного прослуховування, можливість для стеків Zigbee і OpenThread працювати на незалежних каналах 802.15.4 при використанні EFR32xG24 або xG21 RCP.
- Одночасне прослуховування недоступне для комбінації 802.15.4 RCP/Bluetooth RCP, комбінації Zigbee NCP/OpenThread RCP або для системи на кристалі (SoC) Zigbee/OpenThread. Його буде додано до цих продуктів у майбутньому випуску.
- Розширення OpenThread CLI від постачальника додано до хост-програм OpenThread багатопротокольних контейнерів. Це включає команди coex cli.
Покращення
Змінено у випуску
- Мультипротокольна комбінація Zigbee NCP/OpenThread RCP тепер є високоякісною.
Вирішені проблеми
Виправлено у випуску
ID № | опис |
1213701 |
zigbeed не дозволив створити запис таблиці відповідності джерела для дочірнього елемента, якщо непряма черга MAC містить дані, які вже очікують на розгляд для цього дочірнього елемента. Така поведінка може призвести до збою транзакцій рівня додатків між дочірнім пристроєм та іншим пристроєм через відсутність підтвердження APS або відповіді рівня додатка, зокрема до збою та несподіваного завершення оновлень ZCL OTA, націлених на дочірній пристрій. |
1244461 | Запис таблиці відповідності джерела для дочірньої істоти може бути видалено, незважаючи на очікувані повідомлення. |
Виправлено у випуску
ID № | опис |
1081828 | Проблема з пропускною здатністю з Zigbee/BLE DMP на основі FreeRTOSampле додатків. |
1090921 | Z3GatewayCpc мав проблеми з формуванням мережі в галасливому середовищі. |
1153055 | Затвердження на хості було викликано через помилку зв’язку під час читання версії NCP із zigbee_ncp-ble_ncp-uart sampпрограми. |
1155676 | 802.15.4 RCP відкидав усі отримані одноадресні пакети (після підтвердження MAC), якщо кілька інтерфейсів 15.4 спільно використовували той самий 16-бітний ідентифікатор вузла. |
1173178 | Хост помилково повідомив про сотні пакетів, отриманих за допомогою mfglib у налаштуваннях Host-RCP. |
1190859 | Помилка EZSP під час надсилання випадкових пакетів mfglib у налаштуваннях Host-RCP. |
1199706 | Опитування даних із забутих дочірніх пристроїв не належним чином встановлювало кадр очікування на RCP для постановки в чергу команди «Вийти та приєднатися» до колишнього дочірнього пристрою. |
1207967 | Команда «mfglib send random» надсилала додаткові пакети на Zigbeed. |
1208012 | Режим mfglib rx не оновлював інформацію про пакет належним чином під час отримання на RCP. |
1214359 | Вузол-координатор вийшов з ладу, коли 80 або більше маршрутизаторів намагалися приєднатися одночасно до налаштування Host-RCP. |
1216470 |
Після ретрансляції широкомовної розсилки для маски адреси 0xFFFF Zigbee RCP, що діє як батьківський пристрій, залишить прапорець даних, що очікують, встановлений для кожного дочірнього пристрою. Це призвело до того, що кожен дочірній елемент не спав, очікуючи даних після кожного опитування, і вимагала ще деяка незавершена транзакція даних для кожного кінцевого пристрою, щоб остаточно очистити цей стан. |
Відомі проблеми в поточному випуску
Проблеми, виділені жирним шрифтом, додано з попереднього випуску. Якщо ви пропустили випуск, останні примітки до випуску доступні на https://www.si-labs.com/developers/gecko-software-development-kit.
ID № | опис | Обхідний шлях |
811732 | Підтримка власних маркерів недоступна під час використання Zigbeed. | Підтримка планується в майбутньому випуску. |
937562 | Команда Bluetoothctl 'advertise on' не працює з програмою rcp-uart-802154-blehci на Raspberry Pi OS 11. | Використовуйте програму btmgmt замість bluetoothctl. |
1022972 | Coex не працює на ZB NCP + OT RCP. | Підтримка планується для майбутнього випуску. |
1074205 | CMP RCP не підтримує дві мережі з одним ідентифікатором PAN. | Використовуйте різні ідентифікатори PAN для кожної мережі. Підтримка планується в майбутньому випуску. |
1122723 | У напруженому середовищі інтерфейс командної команди може перестати реагувати в програмі z3-light_ot-ftd_soc. | Немає відомого обхідного шляху. |
1124140 | z3-light_ot-ftd_soc sampПрограма le не може створити мережу Zigbee, якщо мережа OT уже працює. | Спочатку запустіть мережу Zigbee, а потім мережу OT. |
1170052 |
CMP Zigbee NCP + OT RCP і DMP Zigbee NCP + BLE NCP можуть не підходити до частин RAM 64 КБ і менше в цьому поточному випуску. |
Частини розміром 64 КБ наразі не підтримуються для цих програм. |
1209958 |
ZB/OT/BLE RCP на Bobcat і Bobcat Lite може перестати працювати через кілька хвилин під час виконання всіх трьох протоколів |
Буде розглянуто в майбутньому випуску |
1221299 | Показання Mfglib RSSI відрізняються між RCP і NCP. | Буде розглянуто в майбутньому випуску. |
1231021 | OTBR може підтверджувати, коли 80+ пристроїв zigbee підключаються одночасно. | Додано виправлення, яке може вирішити проблему. Буде повністю розглянуто в майбутньому випуску. |
Застарілі елементи
- Жодного
Видалені елементи
Видалено у випуску
- Макрос «NONCOMPLIANT_ACK_TIMING_WORKAROUND» видалено. Усі додатки RCP тепер за замовчуванням підтримують час обробки 192 мкс для нерозширених підтверджень, але все ще використовують час обробки 256 мкс для розширених підтверджень, необхідних для CSL.
Використання цього випуску
Цей випуск містить наступне:
- Стек Zigbee
- Фреймворк додатків Zigbee
- Зігбі Сample Додатки
Для отримання додаткової інформації про Zigbee та EmberZNet SDK див. UG103.02: Основи Zigbee.
Якщо ви вперше користуєтеся, див. QSG180: Короткий посібник Zigbee EmberZNet для SDK 7.0 і новіших версій, щоб отримати інструкції щодо налаштування середовища розробки, створення та перепрошивки якampпрограму та посилання на документацію, що вказують на наступні кроки.
Встановлення та використання
Zigbee EmberZNet SDK надається як частина Gecko SDK (GSDK), набору SDK Silicon Labs. Щоб швидко розпочати роботу з GSDK, інсталюйте Simplicity Studio 5, яка налаштує ваше середовище розробки та проведе вас через встановлення GSDK. Simplicity Studio 5 містить усе необхідне для розробки продуктів IoT за допомогою пристроїв Silicon Labs, включаючи засіб запуску ресурсів і проектів, інструменти конфігурації програмного забезпечення, повну IDE із набором інструментів GNU та інструменти аналізу. Інструкції зі встановлення наведено в онлайн-посібнику користувача Simplicity Studio 5.
Крім того, Gecko SDK можна встановити вручну, завантаживши або клонувавши останню версію з GitHub. Подивитися https://github.com/Sili-conLabs/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 Key Storage на частинах Secure Vault-High, у наступній таблиці показано захищені ключі та їхні характеристики захисту зберігання, якими керує компонент Zigbee Security Manager.
Загорнутий ключ | Підлягає експорту / не підлягає експорту | Примітки |
Ключ мережі | Можна експортувати | |
Ключ посилання Центру безпеки | Можна експортувати | |
Перехідний ключ посилання | Можна експортувати | Індексована таблиця ключів, збережена як змінний ключ |
Ключ посилання на програму | Можна експортувати | Індексована таблиця ключів |
Безпечний ключ EZSP | Можна експортувати | |
Ключ шифрування ZLL | Можна експортувати | |
Попередньо налаштований ключ ZLL | Можна експортувати | |
Проксі-ключ GPD | Можна експортувати | Індексована таблиця ключів |
Ключ приймача GPD | Можна експортувати | Індексована таблиця ключів |
Внутрішній/заповнювач ключ | Можна експортувати | Внутрішній ключ для використання Zigbee Security Manager |
- Запаковані ключі, позначені як «Не експортовані», можна використовувати, але не можна viewed або спільний доступ під час виконання.
- Запаковані ключі, позначені як «Експортовані», можна використовувати або ділитися під час виконання, але залишаються зашифрованими, зберігаючи у флеш-пам’яті.
- Додаткам користувача ніколи не потрібно взаємодіяти з більшістю цих ключів. Існуючі API для керування ключами таблиці ключів посилань або тимчасовими ключами все ще доступні для програми користувача та тепер направляються через компонент Zigbee Security Manager.
- У майбутньому деякі з цих ключів можуть стати недоступними для експорту в програму користувача. Користувацьким програмам рекомендується не покладатися на експорт ключів, окрім випадків крайньої необхідності.
- Щоб отримати додаткові відомості про функції керування ключами безпечного сховища, перегляньте AN1271: безпечне зберігання ключів.
Консультації з питань безпеки
Щоб підписатися на рекомендації щодо безпеки, увійдіть на портал для клієнтів Silicon Labs і виберіть Головна сторінка облікового запису. Клацніть ДОМОВИЙ, щоб перейти на домашню сторінку порталу, а потім клацніть плитку Керування сповіщеннями. Переконайтеся, що позначено «Повідомлення про програмне забезпечення/безпеку та повідомлення про зміну продукту (PCN)», і що ви підписані як мінімум на свою платформу та протокол. Натисніть «Зберегти», щоб зберегти зміни.
Підтримка
Клієнти Development Kit мають право на навчання та технічну підтримку. Використовуйте Silicon Laboratories Zigbee web сторінку, щоб отримати інформацію про всі продукти та послуги Silicon Labs Zigbee, а також підписатися на підтримку продукту.
Ви можете зв’язатися зі службою підтримки Silicon Laboratories за адресою http://www.silabs.com/support.
Студія простоти
Доступ одним кліком до MCU та бездротових інструментів, документації, програмного забезпечення, бібліотек вихідного коду тощо. Доступно для Windows, Mac і Linux!
Відмова від відповідальності
Silicon Labs має намір надавати клієнтам найновішу, точну та поглиблену документацію щодо всіх периферійних пристроїв і модулів, доступних для розробників системи та програмного забезпечення, які використовують або мають намір використовувати продукти Silicon Labs. Характеристики даних, доступні модулі та периферійні пристрої, розміри пам’яті та адреси пам’яті відносяться до кожного конкретного пристрою, а надані «типові» параметри можуть змінюватися і змінюються в різних програмах. Додаток прampописані тут лише для ілюстрації. Silicon Labs залишає за собою право без додаткового повідомлення вносити зміни в інформацію про продукт, специфікації та описи, наведені тут, і не надає гарантій щодо точності чи повноти наданої інформації. Без попереднього повідомлення Silicon Labs може оновлювати мікропрограму продукту під час виробничого процесу з міркувань безпеки чи надійності. Такі зміни не впливають на технічні характеристики або продуктивність продукту. Silicon Labs не несе відповідальності за наслідки використання інформації, наданої в цьому документі. Цей документ не означає та не надає прямо жодної ліцензії на розробку чи виготовлення будь-яких інтегральних схем. Продукти не розроблені та не дозволені для використання в будь-яких пристроях FDA Class III, програмах, для яких потрібне схвалення FDA на ринку, або системах життєзабезпечення без спеціальної письмової згоди Silicon Labs. «Система життєзабезпечення» — це будь-який продукт або система, призначена для підтримки або підтримки життя та/або здоров’я, яка, якщо вона виходить з ладу, може призвести до значних тілесних ушкоджень або смерті. Продукти 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®, 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 Alliance. Усі інші продукти або торгові марки, згадані тут, є товарними знаками відповідних власників.
КОНТАКТ
- Silicon Laboratories Inc.
- 400 Західний Сезар Чавес
- Остін, Техас 78701
- США
- www.silabs.com
Документи / Ресурси
![]() |
SILICON LABS SDK 7.4.1.0 GA Zigbee Protocol Stack Software [pdfПосібник користувача SDK 7.4.1.0 GA Zigbee Protocol Stack Software, SDK 7.4.1.0 GA, Zigbee Protocol Stack Software, Protocol Stack Software, Stack Software |