Step by step debugging firmware on the Aliexpress / EBay STM32 boards

May 9, 2016 in ARM, C, C++, Hardware, Linux, Microcontroller, Programming, STM32, Tips & Tricks, Tutorial by admin

arm_cortex_logoIn some previous topics (here and here) I wrote about some cheap development boards which can be acquired from EBay or Aliexpress. Since System Workbench for STM32 is freely available for a while now, let’s see how can we use it to generate a project, compile it, upload it to a board and debugging it step by step. We’ll use for this the board I got from EBay, but it works the same with the any STM32 other board I have and also with some self-made ones.

For being able to install firmware on the board and debug it, first we need to have a hardware part which will sit between the computer and the board. There are various models and versions of these jtag debugers and they can be ordered online or found pretty cheap on ebay (clones). Another way to get hold of one of these is to have a development board which comes equiped with JTAG adapters, like the STM32 discovery series of boards. Some of these JTAG debuggers allow even breaking apart the JTAG debugger from the development board itself (LPCXpresso series, the nucleo boards).
Regardless of which JTAG interface is used, it should be one which is known to work with OpenOCD, as we’ll use OpenOCD for debugging. In our case we’ll use the stm32f4 discovery board’s stlink2 side. However, Before using it as a JTAG debugger, we need to disconnect the STLink part from the discovery board, by removing two jumpers. Once that is done, the STLink itself won’t be connected to the discovery board and it’s SWD header can be connected to any other board. Read the rest of this entry →