The ST Nucleo is an Arduino-like board with an STM32 as the microcontroller, and many Arduino shields can be mounted on it. I recently played with an Ethernet shield for the network connection, but since the shield also contains a microSD card slot, I wanted to access the SD card to read/write files. I’d like to […]
May 2, 2016
The news site lwn just posted a guide on GCC inline assembly. The guide is written in plain colloquial language and is a great complement to GCC documentation on the matter, which is more of a reference of the various functionalities. I found that the extended form of inline assembly is a powerful way to use the machine special […]
April 19, 2015
This article is part of a series about developing for STM32 micro-controllers on Linux. A few days ago I talked about libopencm3, an open source library to access Cortex-M functionalities and peripherals of many micro-controllers, especially STM32 variants. I wanted to use this library to develop on a Nucleo board that I have in my hand, […]
April 12, 2015
I was thinking of starting a new open source project that should run on STM32 boards, and I realized that it would need a lot of low level code that accesses many different peripherals. One of the first libraries that comes to mind, and I bet it’s the same for many Cortex-M developers, is ARM CMSIS. ARM […]
February 23, 2014
In this post I show how to use Eclipse to create a simple "blink" program, flash it on a STM32-P152 board and attach to it with a debugger. This has been executed with the help of Eclipse plugins, GCC ARM Embedded toolchain, OpenOCD, C232HM FTDI JTAG cable. This approach can be adapted to many Cortex-M targets and many JTAG adapters.
February 13, 2014
This new blog called Ångstroms And Algorithms has a complete tutorial on developing and debugging for ARM microcontrollers on Windows. In particular he’s using a STM32-E407 board, an ARM-USB-TINY-H JTAG adapter, ARM GCC toolchain and Eclipse. The tutorial is divided in 4 parts: Free Eclipse ARM GCC OpenOCD Toolchain for Windows Introduction ARM GCC Eclipse IDE GDB / OpenOCD Debugger Personally I am not […]
November 24, 2013
This post shows an approach to draw graphs representing the dependency of C source files and modules throughout a complete program. The implementation of this method uses the functionalities of GNU ld to create a cross reference table, then NetworkX to create a graph and Graphviz to visualize it. The approach is applied to a simple example and a real embedded application (U-Boot).
September 15, 2013
This post shows how to debug a program running on the Olimex STM32-P152. The setup consists of free software such as GCC, GDB and OpenOCD, and FTDI USB cables.
August 14, 2013
This post shows how to write the embedded flash of the Olimex STM32-P152 board with a custom program, using free software and FTDI USB cables.
April 15, 2012
In this post I prepared what I think is the simplest example on how to manage interrupts for the widespread ARM926 core. From this example one can expand the complexity of the interrupt management at will. I’m going to test the functionality with QEMU, emulating the Versatile Platform Baseboard. I based this example on my […]

July 3, 2016
1