Reply
Posts: 544
Registered: ‎10-12-2004

Gecko SDK on GitHub

[ Edited ]

Hi all,

 

I’d like to announce that versions of the Gecko SDK are now available on our GitHub account here:

 

https://github.com/SiliconLabs/Gecko_SDK

 

The main landing page of this repository includes information about how the files are organized and a quick guide on how to install a specific version of the SDK in Simplicity Studio.

 

We will maintain this going forward so you can always find a particular version of the SDK if you need it.

 

The documentation for the Gecko SDK is also available here:

 

https://siliconlabs.github.io/Gecko_SDK_Doc/

 

~Tabi

 

Note: If you cloned this repo prior to August 5th, 2016, you will need to reclone it in order to resynchronize with the repo and pull the latest files.

 

Edit: Updated the link to point directly to the Software Documentation.

Tabitha Parker
Senior Manager of MCU and Micrium Applications
Silicon Laboratories
Posts: 8
Registered: ‎07-14-2014

Re: Gecko SDK on GitHub

Great to finally have it available outside of Simplicity Studio!
For those of us that cannot or choose not to use your IDE, are we likely to see RAIL and other components appearing on github as well?

Cheers,

Ryan

<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> Alf
Posts: 280
Registered: ‎09-06-2012

Re: Gecko SDK on GitHub

Hi,

 

We are constantly evaluating how we distribute software to make sure that we can support all customers as efficiently as possible. Whether we can and should expand distribution of RAIL to GitHub is not yet determined, but we'll probably use the learnings from putting the Gecko SDK on GitHub to evaluate that.

 

Marketing speech done, I think you can download the RAIL library and use it with either GCC or IAR, independent of which IDE you are using (as long as the compiler is either GCC or IAR)?

 

That being said, comments like this is of great value to us in forming our software delivery strategy, so keep them coming!

My views are my own and do not necessarily represent the views of Silicon Labs
Posts: 8
Registered: ‎07-14-2014

Re: Gecko SDK on GitHub

Hey Alf,

 

Thanks for the response (and for making great MCUs!).

You are correct that you can download RAIL, it is however a .exe file which is not immensely useful for non-windows users.

My vote will always be for smaller components, released in a nice version controlled / trackable way, that we can use from non-graphical, non-windows machines.

Cheers,

Ryan

Posts: 435
Registered: ‎07-13-2015

Re: Gecko SDK on GitHub

@Alf I believe putting it on GitHub is a step in the right direction, so kudos for doing that. Robot Happy The next steps would be: 1) accepting community contributions and 2) developing it more openly instead of simply throwing it over the wall. I'd be also interested to see the other SDKs (RAIL, BLE, etc.) become more open.

 

@ryankurte I agree. (Also a non-windows user here.) However it's not so bad: you can still run the downloaded exe with wine (worked last time I tried), or if you use an OS which you can run Simplicity Studio on, its v4 version can now automatically download all the SDKs for you even if you don't run windows. This is I believe still better than how it was half a year ago. Robot Happy

Posts: 8
Registered: ‎07-14-2014

Re: Gecko SDK on GitHub

@Timur It definitely is an improvement! Simplicity Studio can do a bunch of things, but you still have to install it / keep it up to date. Which we do, but, running an IDE to download BSPs / Data sheets is not ideal. Especially when you don't use it for building or anything else.

The CMSIS/BSPs provided are fantastic, I am a /huge/ fan of silabs hardware & software. But the apparent move from distributing things via the web (and in useful formats) is rather a regression.

I would love to see the same! Especially with things like the custom version of mbedtls.
Change tracking & version management is pretty important for more modern development, especially when you are providing/altering a security library.

 

As it stands, we manually mirror and update these files through git so that we can see differences against the ARMmbed master as well as differences between versions. It would be so valuable to have a public fork against the master with useful commits and version tags so we don't have to establish the provenance of every release ourselves (and then there's the discussion about signing tags/commits, but that is another step up).

Posts: 435
Registered: ‎07-13-2015

Re: Gecko SDK on GitHub

Hey @Tabitha and @Alf,

Do you guys plan on upgrading the SDK version on GitHub to v5.0?

Posts: 544
Registered: ‎10-12-2004

Re: Gecko SDK on GitHub

Hey all,

 

Yep!  It's on my list to do, and I hope to have it complete by the end of next week.

 

~Tabi

Tabitha Parker
Senior Manager of MCU and Micrium Applications
Silicon Laboratories
Posts: 435
Registered: ‎07-13-2015

Re: Gecko SDK on GitHub

Thank you @Tabitha I'm just asking because I'd like to rebase my UARTDRV fixes to the new version. Robot Happy

Posts: 544
Registered: ‎10-12-2004

Re: Gecko SDK on GitHub

Hi all,

 

v5.0.0 is now available on GitHub (both Gecko_SDK and Gecko_SDK_Doc are updated)!

 

~Tabi 

Tabitha Parker
Senior Manager of MCU and Micrium Applications
Silicon Laboratories
Highlighted
Posts: 78
Registered: ‎02-05-2014

Re: Gecko SDK on GitHub

Hello @Tabitha,

 

is it intentional that the Gecko SDK code on Github (v5.1.2) is no longer in sync with the version that is distributed with Simplicity Studio (v5.2.1)?

 

I appreciate it very much that you release the code on Github, this makes the changelog clearly available to anybody interested and makes it trivial to see if it is worth to update for existing projects.

 

Would it be possible to update the released code on Github please? I think that 5.1.3 also did not make it to Github?

 

Thanks!

 Lieven.

Posts: 544
Registered: ‎10-12-2004

Re: Gecko SDK on GitHub

[ Edited ]

Hi @hollie,

 

We decided to no longer update github with the Gecko SDK since it's now integrated into a larger package that includes software that can only be distributed to certain users.  The other reason is we've had issues keeping these synchronized in the past, and it's generally better to have one place serve the content.

 

The Gecko SDK will now be distributed within Simplicity Studio as part of the Gecko SDK Suite, but we will keep the existing versions of the Gecko SDK on github rather than removing them. I will make a note to update the release notes page to state that the latest versions are available in Simplicity Studio so there's no confusion.

 

Putting the Gecko SDK on github was a bit of a stop-gap solution since at the time, Simplicity Studio did not let users download various versions of a software package.  This became an issue anytime someone needed an older version of the Gecko SDK.

 

With the latest version of Simplicity Studio v4, you can now view multiple versions of the same software package, their differences, and release notes for the various versions of the Gecko SDK Suite within Simplicity Studio.  It's all available in the [Update Software] area of the Launcher view.

 

If you have any particular feature requests for this system to make it more useful or more user friendly, please let me know, and I can pass this along to our Simplicity Studio team.

 

~Tabi

Tabitha Parker
Senior Manager of MCU and Micrium Applications
Silicon Laboratories
Posts: 435
Registered: ‎07-13-2015

Re: Gecko SDK on GitHub

@TabithaHi Tabi,

 

Please allow us to download the Gecko SDK (and its documentation) from a source other than Simplicity Studio. It used to be also available in the Technical Resources Search, but that site is stuck at version 5.0 Robot Sad

Posts: 544
Registered: ‎10-12-2004

Re: Gecko SDK on GitHub

Hi @Timur,

 

Can you provide more information on why you need it in another source?  This will help in our discussion for adding this support.

 

Thanks,

~Tabi

Tabitha Parker
Senior Manager of MCU and Micrium Applications
Silicon Laboratories
Posts: 435
Registered: ‎07-13-2015

Re: Gecko SDK on GitHub

[ Edited ]

@TabithaSure, I've got two main reasons:

 

  1. How I use the SDK:
    I copy the source code of the SDK parts I need (and omit the pieces I don't need), put them into the source control of my projects and compile them together with my projects.
    This approach allows me to:
    a) update the SDK version for each of my projects independently,
    b) patch parts of the SDK as needed by each project individually,
    c) ensure that the SDK parts are ABI-compatible with my projects,
    d) debug the SDK sources along with my projects' sources.
  2. Simplicity Studio issues:
    While I did like Simplicity Studio v4 initially, over time I decided that it is more trouble than it's worth. For various performance and stability reasons (I can elaborate if you are interested), these days I prefer to just use Qt Creator (with its "bare-metal" plugin) and the J-Link GDB Server to debug my EFM32 projects.

 

With this workflow, it more is convenient to be able to download the SDK (and its documentation) separately, instead of poking around looking for its source files under Simplicity Studio's folder.

Posts: 78
Registered: ‎02-05-2014

Re: Gecko SDK on GitHub

Hello @Tabitha,

 

thank you for the update. If you decide to stop supporting Github then it indeed makes sense to add a note to the releases that are on that page. Now it looks like the version that is on the site is the latest, which is not the case.

 

The reason I asked about the Github update is because I do follow the same approach as @Timur does when including the Gecko SDK in projects: I copy the files into the project and put in under source control.  Reasons: I need to be able to decide myself when/if to update the SDK in my projects, I want a project to be independent of a specific SDK version that is released with a specific version of Simplicity Studio and I want to be able to easily replicate the codebase on other machines/developers.

 

 

I do understand that release processes change over time and if SiLabs decided to couple the SDK to other code pieces that require authentication then there are little other options than to only release via Simplicity Studio.

 

Most of interest to users according to me is a clear Changelog. On Github, when the description in the Changelog of a new release was not completely clear, two clicks in the web interface would show the changes in the sourcecode. This advantage is lost when the only option to get the SDK is via Simplicity Studio. This means that we need to checkout the two version and to diff in a separate tool. Not the end of the world, but to me it was an advantage of using the SiLabs toolflow that the SDK source files were easily available.

 

Best regards,

 Lieven.

 

Posts: 544
Registered: ‎10-12-2004

Re: Gecko SDK on GitHub

Hi @hollie@Timur,

 

Feedback is always appreciated, so if you have specific comments for Simplicity Studio, we'd love to hear it.  I will ensure @jpitt is looped into the conversation and can feed it back into the development team.

 

Thanks for the input regarding the SDK.  I will reach out to the firmware development team to discuss this in more detail and will let you know if I have any updates.

 

I've also updated github readme pages with a notice that they're not currently being updated.

 

~Tabi

Tabitha Parker
Senior Manager of MCU and Micrium Applications
Silicon Laboratories
Posts: 78
Registered: ‎02-05-2014

Re: Gecko SDK on GitHub

Hello @Tabitha,

 

OK, thank you.

 

Best regards,

 Lieven.

Posts: 435
Registered: ‎07-13-2015

Re: Gecko SDK on GitHub

Hi @Tabitha & @jpitt

 

It's nice to know that you are interested in this sort of customer input. Robot Happy

So, my trouble with Simplicity Studio is:

  • Startup time is very slow
  • Searching for updates and downloading updates is slow
  • Downloading assets (datasheets, appnotes, etc.) is very slow
  • Debugging is unreliable (although this has been improved since v3) in DEBUG OUT mode:
    sometimes it just doesn't recognize the connected EFM32, when JLinkExe does
    sometimes debugging hangs right after start
    (NOTE: restarting Simplicity Studio, and/or 'siagentarm' along with deleting all breakpoints sometimes can fix these issues)
  • Minor issues (these I could live with):
    the dark theme can hand or crash studio entirely
    studio's code model gives unreasonable warnings sometimes

With the approach to use JLinkGDBServer with Qt Creator, I all of the "very slow" issues are eliminated, and this setup feels a lot more reliable too.

 

Hope this helps,

Timur

Posts: 512
Registered: ‎12-05-2016

Re: Gecko SDK on GitHub

Hi @Timur,

 

Thanks for the feedback, it is always appreciated.  We do try to make improvements to Simplicity Studio as we go.  We have been working on the start up speed of Simplicity Studio in the most recent releases as that is one of the most common complaints, though we still have a way to go.  Changing how often Simplicity Studio checks for updates is a simple way to have some effect on the start up speed.

 

I know it takes time, but for the debug reliability issues, it would be good if either a forum topic or support case is raised when an issue is found, especially if there are repeatable steps.  We will create a bug report and then work on getting that quickly fixed.

 

We have also been working on improving the dark theme across the various perspectives and OS platforms, but I don't know if we've heard of it crashing or hanging Simplicity Studio.  The changes aren't complete yet, but will hopefully be rolled out within a few releases.

 

As far as the code model warnings, these are for the most part configurable in the C/C++ Code Analysis preferences.

 

Any way it does sound like you have figured out a development approach you are happy with using JLinkGDBServer with Qt Creator, so that is the main thing.  If you give Simplicity Studio a try again, please continue to point out any issues you find that hinder your development.

 

Thanks again,

jpitt

<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> j-n
Posts: 1
Registered: ‎03-16-2017

Re: Gecko SDK on GitHub

Hi @Tabitha,

 

It really is a shame that you have abandoned the Gecko SDK on GitHub. I was really hoping that it being there indicated that more software was to follow, and that you were heading in a more open direction instead of the other way around. I assume that your software distribution model is driven mainly by a desire to show click-through license agreements.

 

It makes a lot of sense to distribute your libraries and sample code as a git repository, because that is how software developers are used to handling code. It makes it very easy to include the libraries in our products (as a git submodule), and it's straight forward to see when there are updates (git pull) and what was updated (git log). At the very least, you should let us download versioned packages from an open server with stable URLs.

 

The process right now to find updates to software is to start Simplicity Studio, go for a coffee while it downloads updates, then dig around in its installation directory to see what might have changed. This might seem friendly to new users, but it quickly gets very tedious. Having an absolute requirement on Simplicity Studio also makes it difficult in situations when it's not installed, such as working remotely, helping out on colleagues' projects, or in three years when you have inevitably moved on to something else.

Posts: 544
Registered: ‎10-12-2004

Re: Gecko SDK on GitHub

Hi @j-n,

 

Thanks for the feedback!  I've passed this along to the internal teams for discussion, and I will let you know as soon as I have more information.

 

~Tabi

Tabitha Parker
Senior Manager of MCU and Micrium Applications
Silicon Laboratories