STM32 programming options the easy way

Every time you start with new microcontroller, you have to deal with new ways of programming them. You may need to purchase and learn new tools and so on. But once you’ve done this process with any microcontroller, learning new is easy. So if you are in to STM32 microcontrollers Shawon have written pretty god guide on programming them. Since ARM Cortex micrcontrollers are flexible devices in terms of developing, debugging and flashing, you have several options of getting your code up and running. Like most manufacturers do, ST devices can be programmed and debugged with special ST-link adapter/debugger which works in JTAG or in SWD mode. Most development boards like discovery already have ST-link debugger integrated so the only thing is needed to run software and load your code. Other covered option is using built in bootloader which can be accessed through serial interface. ST have special software Flash Loader Demonstrator for programming in this mode. When programing with bootloader, special pins have to be pulled up or low in order to access it. This resource is great to… Continue reading


We all know about STMicroelectronics. Recently they have released a surprisingly cheap (only 10 Euros) evaluation kit for their ever popular 8-bit controllers. It has an on-board micron roller, clocked at 16MHz and having a memory of 32KB with 2KB of RAM and 1KB of EEPROM data. As compared to AVR/PIC, it has 4sets of TIMERS along with additional on-board peripherals such as SPI, I2C, UART, and ADC. Surprisingly it also features an on-board integrated ST-LINK for programming and debugging over USB. Therefore you don’t need to buy any type of converters or even a separate programmer. The circuit board has been designed so that you can simply snap off the ST-LINK part if you’d like to use the microcontroller on its own and it also has dedicated jumpers based on the power-supply you want to use. An interesting addition to the board is a touch-sensitive key which is a totally new and advanced concept. In my opinion, if you are just beginning to learn programming and don’t want to begin with ARDUINO, go with this as it’s cheap and… Continue reading

Setting ARM GCC development environment

As we mentioned before, we are going to stick with free software tools. So we are going to use free and open-source GCC compiler to develop programs for ARM Cortex microcontrollers. As we will work from the windows environment, there are a couple of serious choices that are pretty similar. One is using CodeSourcery Lite edition or Yagarto Gnu ARM toolchain. Both tools work the same as they use the same GCC compiler and other tools. Both seem to be supported frequently. CodeSourcery claims that they are updating Lite Edition twice a year, while Yagarto is doing this more regularly depending on updates of separate tools. So your choice won’t affect your final result. When installed you can quickly check if everything works fine by opening command-line tool and writing a simple command that checks the version of ARM GCC compiler: arm-none-eabi-gcc.exe -v Both can be used with Eclipse IDE and require a makefile. The only difference – is a path to tools when compiling. Download any or both of these and install to your machine. Next step is to… Continue reading