Silicon Labs provides pre-built NCP images and sample NCP applications for different use cases in the stack. The customer has the option either use one of the pre-built NCP images or use sample NCP applications or a blank NCP application to build customised NCP application.
The below resopurces provide good information before continue with generating Smart Energy customized NCP image.
The AN1010 application note provides detailed guide about building a customised NCP appliocation.
You can find this here:
Another useful application note is AN714, this guide provides information about smart energy ECC-enabled device setup process.
You can find this here:
The KBA at below link provides information about the ECC libraries and adding them to the stack.
Although the customer cannot generate exactly NCP binary as pre-built, however if they use one of NCP sample applications and make below changes then they can generate a NCP image functionaly similar to pr-built NCP image.
The steps to generate smart energy NCP image similar to pre-built smart energy NCP image:
(1) Start a new customised NCP project based on one of sample NCP applications. You may select 'xncp-commshub-uart-dual' sample NCP application for ComsHub and 'ncp-uart-hw' for end device depending on your needs.
(2) Select the following plugins and do not change any other already selected plugins.
XNCP Stub Library
Zigbee PRO Stack Library
Zigbee Light Link Stub Library
Zigbee PRO Core Security Library
Security Link Keys Library
End Device Bind Library
Binding Table Library
ECC 163k1 Library
ECC 283k1 Library
CBKE Core Library
CBKE 163k Library
CBKE 283k Library
Install Code Library
CBKE DSA Verify Library
CBKE DSA Sign Stub Library
CBKE 283k DSA Verify Library
Packet Validate Library
Multi-Network Stub Library
GreenPower Stack Stub Library
Concentrator Support Library
(3) Select Zigbee PRO Stack Library plugin and set Child Table Size to 32. The other settings selected by sample NCP application are ok.
(4) Generate and build the project.
In our recent change to a new Community platform, some of our best KBAs were migrated but haven't been indexed for search. Until this occurs, we're collecting some of our most useful KBAs here to make them easily available and searchable by title:
Migrating to the new HAL Config file format for EFR32 (ZNet 5.10, Thread 2.3)
The attached document is a docx reference for the October release of the 6.0 ZNet Beta and the subsequent GA release of the 6.0 ZNet stack and the 2.4 Thread stack. If you do not have Microsoft Word, you can download the original .html reference in a .zip archive.
The stacks have a new Hardware Configurator which generates the #defines as seen in this document into the [project].h file and the hal-config.file.
For anyone not using the HWConf or having unexpected outputs in the Beta release, this reference document provides the defines, values and dependencies for the hardware, clock and peripheral options.
For more context on these defines, this is an extension of the new HAL structure begun in the June 2017 release and described here:
The new defines are more uniformly named and implemented, but the system is very similar. If you have implemented the June 2017 version, it should be easy to see what the new defines and values are.
Any EFR32 can be easily turned into a Zigbee or Thread sniffer device using the Railtest sample application included in the free Flex SDK.
In order to do this follow the steps below:
Here are some steps you can follow to build an EZSP-UART host application with an EFR32MG1 or EFR32MG12 device (on our dev kit) running a pre-built NCP-UART image of the latest EmberZNet stack, which is v188.8.131.52 at the time of this article.
1. Create a new Silicon Labs AppBuilder Project in Simplicity Studio v4 of type "ZCL Application Framework V2", and choose the host (as apposed to SoC) flavor of the latest EmberZNet stack.
2. Choose a sample application, such as Z3Gateway.choose "Noon(compatible)" in Part tab. and click "Finish"
3. Generage the project without any modification.
4. Build the host application.
Building the Host application can be done on a Linux system(this sample built on Cygwin) and requires a number of development tools. We assume you have access to these tools. They are as follows:
• The standard C Library and its development headers
• The Readline Library and its development headers
• The Ncurses Library and its development headers
. Run "make" on the generated Makefile from the directory<\SiliconLabs\SimplicityStudio\v4_4\developer\sdks\gecko_sdk_suite\v2.0\app\builder\Z3GatewayHost> and the compilation should complete successfully.
5.Running the Host application
The USB port is either COM1, COM2, COM3, and so on. The following example uses COM19.
a. Launch a Cygwin Shell.
b. Navigate to the directory where the project is located, for example:cd /cygdrive/c/SiliconLabs/SimplicityStudio/v4_4/developer/sdks/gecko_sdk_suite/v2.0/app/builder/Z3GatewayHost/build/exe
c. Type the command: ./Z3GatewayHost.exe -n 0 -p COM19
The Silicon Labs Gecko Bootloader is a common bootloader for all the newer MCUs and wireless MCUs from Silicon Labs. The Gecko Bootloader can be configured to perform a variety of bootload functions, from device initialization to firmware upgrades. In this article, we will compare the difference between Legacy Bootloader and Gecko Bootloader for EFR32MG Devices on ZigBee side.
For EM35x devices and EFR32MG1x parts, usually, you can find the prebuild legacy bootloader for some part numbers in the following stack installation directory. For some EFR32MG1 QFN32 parts, we already had a KBA to discuss how to make customized ZigBee bootloader.
For EFR32MG12x/EFR32MG13x and newer parts, usually, you can only choose Gecko Bootloader for them. We don't provide the prebuild Gecko Bootloader right now, so custom need to build it by themselves, it is easy to build the Gecko Bootloader within Gecko Bootloader SDK, since there are many kinds of Samples in the SDK. Actually, for EFR32MG parts, no matter it is EFR32MG1x or EFR32MG12x(beyond) parts, we recommend custom to use Gecko Bootloader, since the Gecko Bootloader can be upgraded in the field.
Here are some tags for the difference between Legacy Bootloader and Gecko Bootloader:
What EFR32 device is under the hood of the various BGM/MGM module products?
See this table for a mapping of the EFR32 inside the module:
This is important for application development, as Simplicity Studio and Simplicity Commander identify the module by the EFR32 device inside rather than by the module itself. Efforts are in process to allow for module identification within Studio/Commander for a future release.