@@ -7,7 +7,7 @@ author: francois
77---
88
99In 2020, an MCU is much more than a hunk of silicon. Indeed, it comes with a
10- whole ecosystem including a BSP, integrated third party libraries, tooling,
10+ whole ecosystem including a BSP, integrated third- party libraries, tooling,
1111field application support, and more.
1212
1313As firmware engineers, we are often handed down an MCU selection as a fait
@@ -35,21 +35,21 @@ setup (MacOS, vim). Your mileage may vary!
3535
3636## What I’m looking for in a chip SDK
3737
38- My ideal chip SDK provides for a way to build and flash projects using tools of
38+ My ideal chip SDK provides a way to build and flash projects using tools of
3939my choosing. This seems like a low bar, but few meet it. Here are things chip
4040SDKs should ** not** do.
4141
4242### Don’t choose my laptop OS for me!
4343
4444I left Windows behind when I worked at Sun Microsystems, and I have not looked
4545back. Today, my daily driver is a MacBook Air. Unfortunately, some chip vendors
46- require that you use their Windows-based tools to setup and build your projects.
46+ require that you use their Windows-based tools to set up and build your projects.
4747Now that most compilers are cross-platform, there is no excuse for it.
4848
49- ### Don’t chose my IDE for me!
49+ ### Don’t choose my IDE for me!
5050
5151I’ve been using ` vim ` since college, and you can take it from my cold, dead
52- hands. I love ` vim ` ! I have it configured just saw . It’s lightweight, it’s fast,
52+ hands. I love ` vim ` ! I have it configured just so . It’s lightweight, it’s fast,
5353and modal editing is the way to work (prove me wrong!). So you’ll understand my
5454dismay at the spate of Eclipse-based IDEs chip vendors want to foist upon me. I
5555want nothing to do with their boated, Java environments.
@@ -129,7 +129,7 @@ You’ll be left with an `axf` (aka an ELF) and a `bin` file in the `gcc` folde
129129
130130NXP Kinetis traces its lineage to Motorola via Freescale. It is one of two
131131Cortex-M lines from NXP (the other being the LPC). Like many MCU vendors, NXP
132- generates their SDK via a configurator and provide an Eclipse-based IDE, both
132+ generates their SDK via a configurator and provides an Eclipse-based IDE, both
133133under the “MCUXpresso” brand.
134134
135135#### Why the rating
@@ -176,7 +176,7 @@ ST has gone through multiple iterations of the SDK for the STM32 family of ICs.
176176The latest is called STM32 Cube, which replaces the venerable Standard
177177Peripheral Library. While Cube introduces a lot of complexity, it does so for a
178178good reason: the STM32 family has grown to include 14 distinct series of MCUs
179- from the very low power L0 to the very high performance H7.
179+ from the very low power L0 to the very high- performance H7.
180180
181181#### Why the rating
182182
@@ -214,7 +214,7 @@ came as a single archive.
214214![ ] ( img/best-and-worst-mcu-sdks/83E37D9A-5975-4815-8937-437DA8675C0D.png )
215215
216216Recently acquired by Microchip, Atmel has been making SAM-family MCUs for a long
217- time. The SAMD21 is well liked in hobbyist circles and is featured in several
217+ time. The SAMD21 is well- liked in hobbyist circles and is featured in several
218218Arduino and Adafruit designs. Atmel’s peripheral library, AXF, went through a
219219similar transformation to ST’s: it went from a single zip archive to a
220220configurator.
@@ -226,7 +226,7 @@ configurator.
226226* Lots of bundled examples ✅
227227* Single zip, no install needed ❌
228228
229- Atmel’s configurator is web based, and a tad more ergonomic than ST’s. However,
229+ Atmel’s configurator is web- based, and a tad more ergonomic than ST’s. However,
230230the resulting Makefiles are much worse and even feature a bug (I had to fix OS
231231detection).
232232
@@ -255,17 +255,17 @@ detection).
255255 ```
25625611. Run `make`
257257
258- # ## Silabs Simplicy Studio - 5/10
258+ # ## Silabs Simplicity Studio - 5/10
259259
260260! [](img/best-and-worst-mcu-sdks/3F4AD307-656B-4664-B988-4F5A301BD771.png)
261261
262- Silabs Cortex-M MCU come from its acquisition of Energy Micro who was famous for
262+ Silabs Cortex-M MCU comes from its acquisition of Energy Micro who was famous for
263263the very low power consumption of their MCUs. Silabs now makes a range of
264264Cortex-M based MCUs, some with 2.4GHz radios.
265265
266266Like many of the vendors in the lower half of this list, Silabs distributes
267- their SDK alongside an Eclipse-based IDE. In their case they call it “Simplicity
268- Studio”. While Simplicity is the best of those IDEs, it does leaves those of us
267+ its SDK alongside an Eclipse-based IDE. In their case, they call it “Simplicity
268+ Studio”. While Simplicity is the best of those IDEs, it does leave those of us
269269who do not love Eclipse with few solutions. Here, I chose to use Eclipse to
270270generate Makefiles.
271271
@@ -297,10 +297,10 @@ IDEs, it generates poor Makefiles with hardcoded paths everywhere.
297297# ## Infineon XMC4000, Renesas RA4 3/10
298298
299299Infineon and Renesas MCUs are popular for industrial applications and in the
300- automative industry. In both cases, the standard setup is a Windows executable
300+ automotive industry. In both cases, the standard setup is a Windows executable
301301which installs an eclipse-based IDE.
302302
303- All is not lost however, as they also provide a peripheral library which can be downloaded standalone.:
303+ All is not lost, however, as they also provide a peripheral library which can be downloaded standalone.:
304304* Infineon calls theirs XMC Lib: http://dave.infineon.com/Libraries/XMCLib/XMC_Peripheral_Library_v2.1.24.zip
305305* Renesas has the “Example Project Bundle”: [Download Detail Page, Renesas Electronics](https://www.renesas.com/us/en/software/D6004702.html)
306306
@@ -319,16 +319,16 @@ Cypress and Maxim both make interesting chips: the former has a popular family
319319of BLE MCUs under its PSoC brand, the latter makes MCUs with very large flash or
320320RAM which can be put to good use.
321321
322- Unfortunately, I could not get anywhere with either. It seems PSoC creator is
323- required to setup a PSoC6 project, but the app is windows-only. Meanwhile all I
322+ Unfortunately, I could not get anywhere with either. It seems the PSoC creator is
323+ required to set up a PSoC6 project, but the app is windows-only. Meanwhile, all I
324324could find from Maxim is a Windows installer for the “ARM Cortex toolchain.
325325
326326# # Conclusion
327327
328328I hope you came away from this post with a better understanding of the different
329329setup steps required for different MCU SDKs.
330330
331- You will note that I only looked at setup in this post. In the future, I intend
331+ You will note that I only looked at the setup procedures in this post. In the future, I intend
332332to compare APIs, ecosystem, and tools.
333333
334334Do you have a favorite MCU SDK? We'd love to hear about it in the comments!
0 commit comments