Advanced knowledge

This section contains a series of articles which are meant to be advanced: they will talk about a specific topic which often requires a broad knowledge about other subjects. Pick one and read, and if you like it don’t forget to Share the knowledge!

Wide box Tiny box List
Ascent Descent

A detailed explanation of multithreading in ChibiOS/RT

A further reading about ChibiOS multi-threading

In the article “Hello ChibiOS” we have briefly explained how multithreading works but in this article we want to discuss more in detail the mechanisms behind ChibiOS/RT. This article is addressed to those developers already experienced with this RTOS.

A single thread application could be imagined like a straight line (Fig.1). Executing code we are travelling along that line and the beginning of our line is the application entry point. We can jump from a point of the line to an other, but we will always be on the same line.

In a multithreaded application, the code continue reading...

Building OpenOCD under Windows using MSYS2

Building OpenOCD under Windows using MSYS2

In past, building OpenOCD under Windows was really complicated since it has a lot of dependencies and not was easily available under windows. With MSYS2 this task has become very simple and, if you need to use the latest stable version of OpenOCD in MSYS2, it is available as binary and could be installed with a single command.

In some cases, you need to build the development version of OpenOCD or, maybe, to apply some patches from OpenOCD Gerrit repository. Using MSYS2 and some PKGBUILD from the upstream repository, this operation is easy to accomplish.

MSYS2, which continue reading...

ChibiOS/HAL design: an object-oriented approach

ChibiOS/HAL design an object-oriented approach

We already introduced ChibiOS/HAL in early tutorial Hello ChibiOS and we used it in almost every article ChibiOS related. We had often ignored its design or how it works, indeed read its documentation is all you need to use it. Anyway, this article is for those who want to go into detail and see how stuff works. Starting from ChibiOS 3.0, ChibiOS/HAL became essentially a separate product that is not rigidly attached to the OS and can be used on bare metal or in conjunction with any other RTOS.

ChibiOS/HAL aspires to provide a hardware abstraction allowing nevertheless a continue reading...