Re: Gecko SDK on GitHub

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

Re: Gecko SDK on GitHub

@Alf I believe putting it on GitHub is a step in the right direction, so kudos for doing that. 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.

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).

Re: Gecko SDK on GitHub

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?

Re: Gecko SDK on GitHub

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.

Re: Gecko SDK on GitHub

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

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.

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.

Re: Gecko SDK on GitHub

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.

Re: Gecko SDK on GitHub

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.

Re: Gecko SDK on GitHub

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

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 doessometimes debugging hangs right after start(NOTE: restarting Simplicity Studio, and/or 'siagentarm' along with deleting all breakpoints sometimes can fix these issues)

Re: Gecko SDK on GitHub

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.

Re: Gecko SDK on GitHub

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.