KBA_BT_1205: Programming an external BGM111 using the WSTK
12/335/2015 | 07:44 AM
Question
How to program an external BGM111, which not mounted to the radio board, using the WSTK?
Answer
First thing to make sure is that the target board, on which the BGM111 is placed, has the programming pins exposed. For programming a BGM111 you need to have the serial wire pins SWCLK and SWDIO, RESET, VCC and ground exposed from the design to connect those the WSTK debug header. The WSTK will not power the module from the debug connector, but the VCC is used to adjust the voltage levels on the programmer's level-shifters.
The WSTK debug connector is a ARM 20-pin debug connector, the pin mapping of the connector can be found below:
The EACommander software can be used program devices connected to the WSTK. It can be also used to change the programming interface between options exposed by the WSTK. The software is located in the \bin\-folder of the BGM111 SDK.
Once the program is running first connect to a WSTK kit, the Debug source should be changed to 'Out' to be able to program an external module.
Once the debug mode has been changed to 'Out', a LED next to the debug connector will be lit.
The firmware binary can be then flashed to the module from the "Flash" tab. Before applying the 'Flash EFM32' command, a binary file of the project has to be build using the BGBuild.exe in the SDK. How to create and build a project is explained in the software getting started guide.
2] Command line tool
The Bgbuild.exe itself can also be used to program the binary to the module. With the command line parameter '-f' the project gets build and flashed. However, if an external device is to be programmed, the debug connector needs to be activated by using eACommander and take the steps above.
KBA_BT_1205: Programming an external BGM111 using the WSTK
Question
How to program an external BGM111, which not mounted to the radio board, using the WSTK?
Answer
First thing to make sure is that the target board, on which the BGM111 is placed, has the programming pins exposed. For programming a BGM111 you need to have the serial wire pins SWCLK and SWDIO, RESET, VCC and ground exposed from the design to connect those the WSTK debug header. The WSTK will not power the module from the debug connector, but the VCC is used to adjust the voltage levels on the programmer's level-shifters.
The WSTK debug connector is a ARM 20-pin debug connector, the pin mapping of the connector can be found below:
Please refer to UG122: SLWSTK6101A User's Guide ( https://www.silabs.com/Support%20Documents/RegisteredDocs/UG122.pdf pp.7) for more information on the pin mappings.
Or ARM's infocenter: http://infocenter.arm.com/help/topic/com.arm.doc.faqs/attached/13634/cortex_debug_connectors.pdf
The schematics for the programming header connections and the minimal BGM111 reference design can be found from this Knowledgebase article:
http://community.silabs.com/t5/Wireless-Knowledge-Base/Minimal-reference-design-for-BGM111/ta-p/156099
1] EACommander:
The EACommander software can be used program devices connected to the WSTK. It can be also used to change the programming interface between options exposed by the WSTK. The software is located in the \bin\-folder of the BGM111 SDK.
Once the program is running first connect to a WSTK kit, the Debug source should be changed to 'Out' to be able to program an external module.
Once the debug mode has been changed to 'Out', a LED next to the debug connector will be lit.
The firmware binary can be then flashed to the module from the "Flash" tab. Before applying the 'Flash EFM32' command, a binary file of the project has to be build using the BGBuild.exe in the SDK. How to create and build a project is explained in the software getting started guide.
2] Command line tool
The Bgbuild.exe itself can also be used to program the binary to the module. With the command line parameter '-f' the project gets build and flashed. However, if an external device is to be programmed, the debug connector needs to be activated by using eACommander and take the steps above.
For more information on the programming header on the WSTK, please refer to the app note AN958: Debugging and Programming Interfaces for Custom Designs (http://www.silabs.com/support%20documents/technicaldocs/an958-mcu-stk-wstk-guide.pdf)