Simplicity Studio – Second Look & Open Source Rescue ? (Maybe)
After my experience with the Busy Bee developer board, I decided to create a project with their Arm based EFM32GG12 part. One word: Disaster.
Their configurator does not work for the EFM32GG part, except for one or two random components. Forget any analog ADC, DAC, or other part. No API presented for those units.
If you want to configure that MCU, you must do it in code without the help of the GUI Configuration tool. There may or may not be any API available to the engineer for that part. If there is, it is hidden, possibly in plain sight, but it *is* hidden. SiLabs Simplicity Studio is very similar to Modus Toolbox, except I hope Modus Toolbox more or less works.
If they wish to continue to ignore the GUI, then SiLabs would do themselves a major favor if they created one or more serious demo project(s) that enabled and used *all* of their peripherals for all their processor offerings. The end user engineers could take those demos and quickly turn them into production ready products. A working firmware demo project is worth a thousand web pages of documentation.
This part is not for the weekend engineer unless he has *weeks* of available time for his first project. Subsequent projects will go faster, of course.
Back To The Busy Bee Part
I went back to the Busy Bee part and created a configuration project, because by now I was suspicious. Hmm, I was right.
The 8051 GUI suffers the same types of problems as the ARM processor GUI: it simply fails to do its job. You CANNOT configure the Analog components. You can look at them and see that they are not configured properly, but they don’t exist in code, even after multiple system builds, nor in the crossbar mapping.
PSOC Creator For the Win
Again, I come back to the PSOC Creator. I am of the strong opinion that Cypress fired the brilliant design team that did that development environment. Probably a cost cutting matter. They fired Michelangelo and DaVinci level talent. It is the only IDE I have used in my 45+ years of firmware development that gives you all the tools necessary to EASILY do your job right in front of you when you using a bare project configuration.
With PSOC Creator, add a multiplexed ADC. Do a build. Pins are mapped for you. You can then try to change them, but they are mapped right there and you can use them immediately. Not so with Simplicity Studio.
Now change the package with PSOC Creator. The IDE still works! For a contrast, change the package with Simplicity Studio. It fails! The configurator fails to do but a fraction of the pitiful work it did before. Maybe that is because you have to edit a file by hand to change the package. I am sure the lone software developer at SiLabs has more important fires to put out. I can’t believe this level of incompleteness was allowed to be released to the world otherwise.
I am not giving Infineon a free pass on this. They fail to support some of their PSOC 6 family processors in PSOC Creator as of this writing in late 2022. You have to use Modus Toolbox.
Possible Help From Open Source
I did a search in Google on EFM32GG12 Open Source, and I came across a document (and source code) by Hans-Jörg Schneebeli from a Brazil blog post. Hmm. Non-Brazilian name in Brazil. Not expected, but the English documentation is impeccable.
Regardless, the PDF document appears to clearly cover how to deal with the EFM32GG family on the EFM32GG-STK3700 board, and covers pretty much every part, including the ADC unit.
The *very* interesting thing about this is the github code repository has notes on using this part with VsCode. I have yet to track that down and test it, but if it works it will be a lifesaver, and get the development more or less on track for this part, away from Simplicity Studio.
The PDF document is in English, under the MIT license at https://blog.ufes.br/sistemasembarcados/files/2020/12/Developing-for-theEFM32GG-STK3700.pdf, and the github source code is at https://github.com/hans-jorg/efm32gg-stk3700-gcc-cmsis.
Drop by and take a look.
Final Thoughts
The Golden Age of Cypress has passed. Unfortunately, I believe the hallmark actions of OCD Jerks such as Steve Jobs is now in the past. As I understand it, no one liked working for him, but they loved the results. He did not settle for “me too.”
In today’s world, everyone is settling for the “me too” world of Eclipse. The Eclipse project nearly died when rogue developers took it over and ruined it for a while before the turn of the century, IIRC. It has yet to fully recover, in my opinion.
Simplicity Studio is on the right path. Unfortunately, it is half baked, but the sheer breadth of the parts it has to cover means it will never be anything except half baked unless they throw tremendous development resources at it. That will not happen. Standard economic theory predicts that.
It does not appear that PSOC Creator will ever be equaled again.
Later!