In our minds, we have always seen SEGGER debugging solutions like a professional but costly tools: a debugger to perform advanced operations but definitely too much for a student. Some time ago we heard about a new version of SEGGER, the J-Link EDU, which is cheaper and addressed virtually to us. It started to take shape the idea of using it as external debugger for these ARM evaluation kit which comes without a debugger.
Some month ago SEGGER proposed a firmware suitable for STM32 Nucleo on-chip debugger which makes J-Link available also for the STM32 ecosystem and they notified us this solution commenting our STM32 Nucleo-144 review. After an exchange of reciprocal opinion they have definitely caught our attention and we have decided to ask them for a J-Link PRO in order to test it. continue reading…
We have said more than once that ChibiStudio is Eclipse based, therefore, should not surprise that project management is based on Eclipse rules. In Eclipse a C project is a folder containing basically a main.c, a makefile and two additional files used by eclipse to manage projects: .project and .cproject.
A ChibiOS based projects contains also three additional files:
chconf.h, containing configuration related to kernel. As example, here it is possible to configure system timing, enable/disable kernel features and enable/disable debug options;
halconf.h, containing configuration related to HAL. Here it is possible to enable/disable whole HAL modules or configure them;
mcuconf.h, containing specific configuration of used MCU. As example if we enable a certain module in halconf.h here we can choose how many driver assign to/enable for that module.
Even more, we have a folder named debug containing a .launch file: this is a debug configuration.
Do not worry if words are not fully comprehensible now: we will see some practical example about how to edit these files in the subsequent tutorials.
1.2 How to create a new project
The best way to create a ChibiOS based new project is to duplicate a default one from the project explorer. This procedure is shown in the video above. Of course we can assemble a new project for ChibiOS starting from an empty project, but this will be a waste of time.
For that reason it is strongly recommended not to edit default project but operate on a new one. Duplicating a default project we need to perform certain tasks before you can use the new project.
These operation are shown into the video but we want to spent a few more words. continue reading…
Following the video we will install ChibiStudio. Note that in what follows when we will say “ChibiOS” we will refer to ChibiOS/RT, the Real Time kernel.
In the tutorial related to ChibiOS we will use an STM32 Nucleo-64 F401RE and we suggest to use the same. This board belong to STM32 MCUs family and is one of the cheapest and well designed MCUs you can found today.
This board costs more or less 10$ and exhibit almost the highest performances you can found on MCU‘s market today. This board has indeed anSTM32F401RE: an ARM CORTEX-M4MCU with clock frequency up to 84 MHz, FPU, DSP, 96kB of SRAM, 512kB of Flash and a bunch of internal peripheral (GPIO, SPI, ADC, DAC, TIM and so on).
This board can be bought from every distributor, but you can receive it as a gift from every ST official stand you can found in the main embedded exhibitions.
It is highly recommended to download related documentation. We love to call them the “Bible of MCU” since they answer for any question you could make.
Data-sheet provides the description of theSTM32F401xD/xE line of MCUs;
Reference Manual provides complete information on how to use theSTM32F401xB/C and STM32F401xD/E micro-controller memory and peripherals;
User Manual provides additional information about STM32 Nucleo-64 boards.
Basic knowledge of C and electronics are mandatory to understand well the “experiments” submitted during these tutorials. We will use STM32 Nucleo-64 F4. As said, it is advisable but not mandatory to use the STM32 Nucleo-64 F4. About C, you could find a lot of tutorial on web but our personal suggestion is to read a good book like “The C Programming Language” by Kernighan and Ritchie or “C: A Reference Manual” by Harbison and Steele or open source “The C book“ by Mike Banahan, Declan Brady and Mark Doran.