With the recent Simplicity Studio release (September 12, 2018) modules (BGM111, BGM11S, etc) are now understood as having their own part numbers and so they do not need to be referred to by a SoC part number. This makes it easier to develop projects using modules and the module part number can be used throughout the entire development process and there is no need to even know what IC is used in building the module.
The main take away from this is when developing for a module to always specify a module in Simplicity Studio in either the “My Products” view or for the part connected to a debug adapter. When a custom board is being used the Target part has to be specified in the debug adapter hardware configuration as explained in this KBA: https://www.silabs.com/community/software/simplicity-studio/knowledge-base.entry.html/2016/10/07/simplicity_studiov4-FMQd
For modules as parts support to happen things had to change on all levels from the purchased part itself, the tools used by Simplicity Studio, Simplicity Studio itself and the supporting SDKs.
Simplicity Studio identifies connected boards by reading an EEPROM on Silicon Labs radio boards that are used with the Silicon Labs Wireless Starter Kit (WSTK) main board. The EEPROM will indicate if the part included on the radio board uses the module part number or a pseudo part number used for the modules that do not have the necessary module identification information. Simplicity Studio will use the detected information throughout the development process (project creation, generation, building and debug) unless the information is manually overwritten using the device configuration dialog boxes from the Debug Adapters view. The observed change in behavior will depend on the information stored in the Silicon Labs radio board and the SDK revision being used. Radio boards with updated EEPROMS are being phased into production and this started happening in the second quarter of 2018.
When a customer's board is connected to Simplicity Studio through the STK / WSTK debug port or with an external Segger J-Link device, the target part must be manually specified using the device configuration dialog boxes and then the module part number should be specified.
Simplicity Commander can be used to check if the module identification information is present or not in the connected part. This check is just mentioned for reference information as the presence or absence of module information does not affect development flow in Simplicity Studio. Commander will probe the actual device and read the information from it instead of relying on the information in the radio board EEPROM. Simplicity Commander can be started from the Launcher perspective either by clicking the tools icon (green wrench) or by clicking the Compatible Tools tab in the main window. In Simplicity Commander, select the correct debug adapter from the J-Link Device drop down menu and then select the [Connect] button next to [Adapter] and then click the [Connect] button next to [Target]. If the Chip type in the MCU Information box in the lower right is a module part number then the device has the necessary identification information. If the Chip type is a SoC part number then the device does not have the necessary identification information. The first image below shows a module without the necessary identification and the second image shows one with the necessary identification information
Figure 1: Commander connected to part without Module identification information
Figure 2: Commander connected to part with Module identification information
SDK support for modules as parts started with Gecko SDK Suite version 2.4.0 and the Bluetooth SDK 188.8.131.52. If a radio board that has the pseudo part number is used with Gecko SDK Suite 2.4.0 or later then a popup will appear notifying the user that the stack being used requires a module part number and it will show the part number change that was made:
Figure 3: SDK Upgrade Notice to Module Part Number
If Gecko SDK Suite versions before 2.4.0 are used with radio boards that use the module part number, the opposite situation is present and a popup will appear notifying you that the stack being used needs to treat the module as a SoC and that the part number has been changed accordingly:
Figure 4: SDK Upgrade Notice to SoC Part Number
Both of these dialog boxes are just informational to alert the user to changes that were made to make the project compatible with the selected part and SDK.
If the part was changed when creating the project then additional warning popups can be displayed when launching the debugger warning of the difference between the target part and the project configuration. Popups like these images are to be expected and it is fine to accept the warning and proceed with the debug session:
Figure 5: Select Compatible Device Warning Popup
Figure 6: Connected Device Compatiblity Warning Popup
If the “Remember my decision” checkbox - highlighted in green - in the first image above is checked, then the two warning popup dialogs will only be seen the first time that project is launched, after that the selected debug adapter will automatically be used and neither popup will be seen with that project again.
So this is an interim situation and going forward, the newer module parts and Gecko SDK Suite 2.4.0 or later should be used to create projects using modules. Then there will be no changes made to the parts during project creation and there will be no upgrade notice popups or debugger warnings for modules as parts.
If different behavior is seen than what is described in this KBA, please submit a support ticket at the bottom of this web page: https://www.silabs.com/community.
To help other users when searching for this error, including the auto upgrade text below:
You opened an appbuilder file that was created with an older stack than the one you have. File was automatically upgraded to work with the new stack. 1.) Status: Automatic upgrade Description: Bluetooth SDK 184.108.40.206 requires the use of a module part with your selected board. The selected part has been changed to BGM111A256V2.
Likewise for the warning messages:
The part is different from the desired part but in the same family. Select it with care at your own risk.
The connected device part (EFR32BG1B232F256GM48) is not compatible with this operation; expected BGM111A256V2. Are you sure you want to continue?