Migrating Simplicity Studio projects from Bluetooth SDK 2.1.1 to 2.3.1

by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero Employee</font></font> </a> baadamff ‎04-21-2017 03:58 AM - edited ‎04-21-2017 07:11 AM

To migrate a project from Bluetooth SDK 2.1.1 to SDK 2.3.1. follow the steps described below.

 

1. Install SDK 2.3.1 via Simplicity Studio Package Manager.

 

2. Go to File->Properties then select C/C++ build-> Board/Part/SDK tab

SDK

3. Select the BLE SDK 2.3.1 then click on OK.

 

4. Remove the #include “bg_dfu.h” from main.c . Since SDK 2.3.0 the bg_dfu.h is not existing. See UG266: Silicon Labs Gecko Bootloader User Guide for the details.

 

5. OPTIONAL - Since SDK 2.3.0 the external flash drivers changed.

If your project using the external flash on the radio board, replace the

#include "flashpwr.h" from main.c with

#include "em_usart.h"        and with #include "mx25flash_spi.h"

 

Additionally replace these lines from main.c

 

#ifdef FEATURE_SPI_FLASH

  /* Put the SPI flash into Deep Power Down mode for those radio boards where it is available */

  flashpwrInit();

  flashpwrDeepPowerDown();

#endif

 

With these lines:

 

#ifdef FEATURE_SPI_FLASH

  /* Put the SPI flash into Deep Power Down mode for those radio boards where it is available */

  MX25_init();

  MX25_DP();

  /* We must disable SPI communication */

  USART_Reset(USART1);

 

#endif /* FEATURE_SPI_FLASH */

 

6.OPTIONAL – Since SDK 2.3.0 the kit drivers moved to different folders. You may need to re-add these driver files to the project.

 

If the project using the Si7013 sensor on the WSTK add the si7013.c to your project.

It can be found in:

C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v1.0\hardware\kit\common\drivers

 

7. Since SDK 2.3.0 the linker files moved to different folders. They need to be added to the project. So create an IAR folder under the linker folder.

 

8. Copy the <your_target_mcu>.icf file to the <your_project_folder>\linker\IAR\ folder.

 

The .icf files can be found here:

c:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v1.0\protocol\bluetooth_2.3\ble_stack\linker\IAR\

 

9. The .isc files stores information about the used SDK. This information need to be updated.

Open the .isc file with text editor. 

 

 isc.png

 

10. Overwrite the line starts with stackId:

 

stackId: com.silabs.sdk.stack.super

 

11. Overwrite the Plugin configuration lines to:

 

# Plugin configuration

appPlugin: bg_stack=true

appPlugin: bgapi=true

appPlugin: cmsis=true

appPlugin: command_interpreter=false

appPlugin: command_interpreter_handler=false

appPlugin: crc16_ccitt=false

appPlugin: device=true

appPlugin: emdrv=true

appPlugin: emlib=true

appPlugin: gecko_bootloader=false

appPlugin: glib=false

appPlugin: kit=false

appPlugin: kit_board=true

appPlugin: kit_flashpwr=true

appPlugin: kit_ioexpander=false

appPlugin: kit_lcd=false

appPlugin: legacy_ble_ota_bootloader=true

appPlugin: mpsi=false

appPlugin: mpsi-ipc=false

appPlugin: mpsi-storage=false

appPlugin: mpsi_ble_transport_server=false

appPlugin: rail=true

appPlugin: serial_vcom=false

appPlugin: slot-manager=false

appPlugin: stack_bridge=false

appPlugin: thunderboard_sense_drivers=false

 

12. Save the .isc file, close it then reopen it with double click.

 

13. Press Generate on VGATT editor

_VGAT.png

 

 

14. Now the project should build successfully.

 

15. OPTIONAL – Studio will exclude some files from the build. Typically the ones which are moved to different location since SDK 2.3.0.  You may delete the excluded files from the project. These are grayed out by studio.

 

grey.png