Walking the 32bit path to a blinky LED


Sjaak writes:

The battle isn’t AVR Atmega vs Microchip PIC anymore.. More and more people are moving to ARM chips. As easy as it sounds but it isn’t. ARM is an company that invented the ARM chips, but doesn’t has a silicon fab, instead they license the design to several silicon manufacturer like ST, NXP, xx and all those manufacturer put their own sauce and peripherals to the basic design. Nice to have such a large diversity, but when unfamiliar with ARM in general it is a bit overwhelming and hard to choose from. An other ‘problem’ is the vendors don’t offer a complete development kit to instantly start with their chips.
After browsing ebay for arm starterkits, STM32 seems to be a reasonable starting point as it appears to me most development boards are using this chip. ST doesn’t offer a development kit as I expected. so i try to find a more ‘generic’ development kit. After googling for a couple of hours I almost give up on this and wanted to stick with Microchip forever. I asked a bit round in my networks of ‘geeks’ and found everyone was struggling with this. Charles of paxinstruments.com pointed me into the direction of Eclipse. Eclipse is a general IDE with support throught plugins for various compilers and platforms. I tried to follow their installation guide found here.

More details at smdprutser.nl blog.

Join the Conversation


  1. I probably couldn’t understand what you meant by ‘ ST doesn’t offer a development kit as I expected’
    There are numerous eval boards of STM32 parts and almost all of them work easily WITH the IAR embedded workbench.
    They have released a good amount of libraries for their hardware and it just works.
    What issue did u face specifically?

    1. With development kit I ment software development kit. I couldn’t (easily) find one back some time. Then I asked around and finally came up with this.

  2. Silicon Labs offer a powerful, unrestricted and completely free software development kit packaged with their Simplicity Studio IDE. It’s built on Eclipse, and includes hundreds of software examples, application notes and all documents (datasheets, manuals, user guides) associated with their products. There is hardly any easier way to enter the world of ARM microcontrollers, and their eval boards are only $29:-)

    1. For $29 I can get 10 STM32F1 mini boards plus external debugger, free shipping. $0.99 would get me bare microcontroller if I need own board. With free Keil version (AFAIR 32kB code limit, in my opinion more convenient than gcc + some IDE) they are more than enough to start.
      As far as EFM32 goes I don’t even know where to buy it from – my local supplier does not have them (while it has variety of STMs, LPCs, Kinetis, some Atmels), shipping from mouser would be expensive.

  3. Despite the popularity of STM32s, it may not be the best place to start.
    As mentioned already, the Silicon Labs gecko family is cheap to get started and comes with a free IDE, same can be said about Cypress PSoC devices (IDE is Windows only), NXP (another eclipse based IDE) or even Texas Instruments (yet another eclipse based IDE).
    Nordic Semiconductor has a good tutorial on their site on how to get Eclipse to work for their devices, so that might also be interesting of you want to try some BLE projects.

    For dev kits I would suggest to look at Mouser/Digikey/Farnell/… as they stock the manufacturer ones, which you can be sure have support of some kind. If you’re not sure what you want, just sort by price from the lowest, there are some really cheap things out there :D It’s no longer that the original dev kit must cost more than $300, actually I’m fairly certain some, like the Silicon Labs ones, are sold at a hefty loss.

    Best of luck on your ARM development adventures :)

    1. The world of ARM is a bit spread out and all the bits are scattered around. I tried to hop on the wagon many years ago and i gave up because no info was ready available. Several months ago I retried but it was still as hard to find a arm start 101 guide. I asked a friend for help and made this tutorial.

      If you are fully embedded in the womb of ARM off course it is dead simple, but if you are blank it is a bit harder, isn’t it?

      1. Sorry, I shouldn’t have said it was the worst. I should have said there are many free development environments that work out of the box. The key is to pick the right development board. Get one with a built in programmer / debugger from a vendor who offers a development kit to go with it.

        If you decide stm32 is the way to go, buy a Nucleo board. This will allow you to use the free development tools from mbed.com. or openstm32.org. There are many flavors of Nucleo boards so make sure you grab one that is supported on mbed. System workbench (the eclipse based tool from openstm32.org) supports all ST boards and chips. Both of these tools provide wizards and code samples to get you started. As you pointed out, the gnu arm plugin is great too and only requires you to install it in eclipse. It also works best with ST Nucleo and Discovery boards.

        Other people might like TI. They have some great ARM boards. You might consider the EK-TM4C123XL launchpad. It is a low cost (~$12.99) board with an onboard jtag that sports a cortex-m4 board. TI offers a free eclipse based tool called Code Composer Studio. They also have an amazing amount of documentation and sample code at dev.ti.com. In addition, to the offline development they also offer an online development tool at that site. This allows you to do development online with just a web browser. It appears to sport a cloud9 editing environment and stands out from other online dev tools in that it allows you to actually debug from a web browser. The other thing about the TI board above, there is a series of video tutorials from TI and from edX.org class

        Once you have mastered using a supported development board, it will be easier to roll your own or use a bare board. If you start with one of the boards above, you will be able to use the swd debugger half of the dev board to target off board chips.

  4. A simple google search for “free arm ide” lists CooCox on the first page:

    Supports a ton of different ARM M0/3/4 micros and all the common debugging hardware.
    Was that so hard?

    Also, there’s the Arduino Due for an even easier start.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.