ChibiOS

ChibiOS/RT is a compact and fast real-time operating system supporting multiple architectures and released under the GPL3 license. ChibiOS/RT is designed for embedded applications on 8, 16 and 32 bit microcontrollers; size and execution efficiency are the main project goals. As reference, the kernel size can range from a minimum of 1.2Kib up to a maximum of 5.5KiB with all the subsystems activated on a STM32 Cortex-M3 processor. [Read more…]

Wide box Tiny box List
Ascent Descent

Dealing with push-buttons using an STM32

This article contains some simple examples to understand how to deal with push-buttons when you are approaching STM32 and ChibiOS. The button can be considered the simplest input peripheral that can be connected to a microcontroller. Because of that, usually, every embedded development board is equipped with a button marked as “User Button” and this means it is actually connected to a GPIO pin you can read via software.

To understand this article with proficiency, you should match few requirements:

You should have an STM32 development kit and be able to do basic stuff continue reading...

Dealing with LEDs using an STM32

This article includes some simple examples to understand how to deal with LEDs when you are approaching STM32 and ChibiOS. The LED can be considered the simplest peripheral output you can connect to a microcontroller. Because of that, usually, every embedded development board is equipped with a LED marked as “User LED” and this means that it is actually connected to a GPIO pin you can drive via software.

To understand this article with proficiency you should match few requirements:

You should have an STM32 development kit and be able to do basic stuff with ChibiStudio continue reading...

ChibiOS/HAL design: an object-oriented approach

The C programming language is clearly an imperative programming language not designed to be object-oriented. Anyway, the object-oriented approach remains something much more related to the design and mindset more than to syntax. The ChibiOS/HAL is an Hardware Abstraction Layer which design could be considered very object-oriented. We encountered it in almost every article related to ChibiOS but we often ignored its design as it comes with a series of demos which allow to use it easily without a deep knowledge of its internal mechanisms.

This article is dedicated to people continue reading...

Using STM32 GPIO with ChibiOS PAL Driver

The STM32 is equipped with an extremely flexible General Purpose Input Output (or GPIO) peripheral allowing to configure each Input/Output independently. The IO is the simplest interface between the STM32 and the outside world.

As we said in the article “From 0 to STM32“, there are many versions of the same peripherals across the various STM32’s sub-families and this is way each sub-family usually has its own Reference Manual. In this document it is possible to find all the functional information about GPIO and reading many RM we can notice that GPIO peripheral has three continue reading...

A close look to ChibiOS demos for STM32

A close look to ChibiOS demos for STM32

In this article, we are going to take a deep look to ChibiOS default demos explaining how they work. We will also see how to create a new project and how to modify it in in order to create our own applications.

A ChibiOS’ default demo is usually composed of some different folders and files. For example, in figure, we can see the resources of the default demo for STM32 Nucleo F401RE. In general, all the ChibiOS’ projects are characterized by similar anatomy.

All demos have some folders, some configuration headers, a source file named main.c and a makefile. Additional continue reading...