Bluetooth Smart SDK Migration Guide From V2.0.1 to V2.1.x

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 ‎12-06-2016 07:05 AM - edited ‎12-07-2016 03:11 AM

This article intended to show the process of migrating a SDK 2.0.1 project to SDK 2.1.0.

 

1. Install SDK 2.1.0 via Simplicity Studio Package Manager.

2. Open your existing SDK 2.0.1 project and switch the SDK in the project properties. 

2016-12-06_13h44_42.png

 

3. Then click on the Manage SDKs.. and disable all other SDKs for the project.

2016-12-06_15h37_26.png 

4. Open the .isc file from your project root. You will be prompted to this dialog:

isc update.png 

 

5. Press OK then save the .isc file.

6. Press the Generate button.

7. Now your project updated to SDK 2.1.0

8. In some projects the generation makes few files excluded from the build process.

If you need those files you can switch off the exclusion by right clicking on the resource -> Resource Configuration->Exclude from Build..

 exclude.png

9. In some projects the generation makes the start up files are duplicated. You need to exclude one of them to build your project properly. Like shown below.

2016-12-06_15h57_24.png

 

Please note:

-When switching the SDK all the build settings restored to defaults

-By generating the project, the IAR project is also updated to the new SDK 

 

 

Comments
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</font></font> </a> spiritonline
on ‎12-12-2016 06:30 AM

What about using BGscript? 
I'm using a fresh install of simplicity studio and OSX and BG tool failes to compile with an error:

commander error:-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
on ‎01-04-2017 04:09 AM

This is fixed for 2.1.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">Super Star</font></font> </a> inndessol
on ‎02-22-2017 10:50 AM

I followed the steps and it converted my project quite well, except for one problem. When I compile my project the service characteristic id could not be resolved. What I found is that the gatt_db_bg.proj did not seem to be compiled (I'm using Simplicity Studio with an iar compiler). I created a new example project to see if I could figure out what was wrong and I see that the gatt_db.bgproj is not longer a part of the project, rather, all of the data that was once in gatt_db.bgproj is now found in the gatt.xml file. Is it fair to say that I can just copy the database from my gatt_db.bgproj file to the newly created gatt.xml file, or is this a bug in the conversion process?

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
on ‎02-23-2017 02:05 AM

The .bgproj is not used since SDK 2.1.0. Your gatt defined in the visual gatt editor. Hovewer you stil can import the .bgproj to it.

The gatt.xml is the output of the visual gatt editor but only used in IAR only projects.

VGATT Editor.png

 

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">Super Star</font></font> </a> inndessol
on ‎02-23-2017 12:39 PM

baadamff,

 

Thank you for describing what I need to do for importing the .bgproj into the visual gatt editor. That resolved the issue and my service id now compiles. However, I've encountered another problem, the defines used for em_i2c.c, em_timer.c, and em_gpio.c are no longer defined. I tried changing the .hwconf file in hopes that that would create the defines, but to no avail. I can add them directly to the project properties but I'm afraid that is only a bandaid. Any thoughts on how I can correct this?


baadamff wrote:

This article intended to show the process of migrating a SDK 2.0.1 project to SDK 2.1.0.

 

1. Install SDK 2.1.0 via Simplicity Studio Package Manager.

2. Open your existing SDK 2.0.1 project and switch the SDK in the project properties. 

2016-12-06_13h44_42.png

 

3. Then click on the Manage SDKs.. and disable all other SDKs for the project.

2016-12-06_15h37_26.png 

4. Open the .isc file from your project root. You will be prompted to this dialog:

isc update.png 

 

5. Press OK then save the .isc file.

6. Press the Generate button.

7. Now your project updated to SDK 2.1.0

8. In some projects the generation makes few files excluded from the build process.

If you need those files you can switch off the exclusion by right clicking on the resource -> Resource Configuration->Exclude from Build..

 exclude.png

9. In some projects the generation makes the start up files are duplicated. You need to exclude one of them to build your project properly. Like shown below.

2016-12-06_15h57_24.png

 

Please note:

-When switching the SDK all the build settings restored to defaults

-By generating the project, the IAR project is also updated to the new SDK 

 

 


 

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">Super Star</font></font> </a> inndessol
on ‎02-24-2017 11:16 AM

It appears that the problem I'm having has to do with the peripheral mapping. When I select that tab in the configurator I get a "No valid mapping selection" rather than the periperal mapping. When I created a thermometer project from the Launcher, I was able to the a valid periperal map, however, when I enabled Timer 0 in the perifpheral map and enabled the defaultmode periperal the message "No valid mapping selection" returned. However, in this case the defines for the timer were defined. Is there any way to figure out what in the .hwconf is wrong? I'm sure this happened in the conversion from sdk 2.0.3 to sdk 2.1.1