ChibiOS STM32 with HAL

Datasheet

STM32F072RB, 128 Kbytes Flash, 48 MHz CPU, USB, CAN and CEC functions
STM32F072CB, 128 Kbytes Flash, 48 MHz CPU, USB, CAN and CEC functions
NUCLEO-F072RB

Tutorials

ChibiOS and STM32
From 0 to STM32
Dealing with push-buttons using an STM32
Dealing with LEDs using an STM32
Using STM32 GPIO with ChibiOS PAL Driver
ChibiOS/HAL design: an object-oriented approach
Using STM32 USART with ChibiOS Serial Driver
PWM in hardware with STM32 Timer and ChibiOS
Using STM32 SPI with ChibiOS

nRF24L01 on ChibiOS/RT 3.0 using STM32

Product

ChibiOS/HAL
The OSAL
HAL Features
The OSAL

  • SDC, abstraction of an SDIO interface to SD/MMC cards. Implements a block interface
  • MMC/SD over SPI, MMC and SD cards handling on top of the SPI driver. Implements a block interface.

Articles

Articles Start
ChibiOS/HAL Integration Guide

Documentation

Documentation

HAL 6.1.0

ChibiOS/HAL Introduction
PAL Driver, I/O Ports Abstraction Layer
GPT Driver, Generic GPT (General Purpose Timer) Driver
SDC DriverGeneric SD Card (Secure Digital Card) Driver, sdcStart()
ST Driver, Generic System Tick Driver
Serial Driver, Generic Serial Driver., sdStart()
Abstract I/O Block Device

RT 5.1.0

ChibiOS/RT Introduction

Forum

SD-Card Insert/Remove Handlers
TM-Subsystem / SD-Card / STM32F0 / unknown type name ‘halrtc
eMMC not working with STM32F4
micro SD slots with no card detect signal
The FatFS topic
difference between UART and Serial driver

github

github.com/jed-frey/ARMCM4-STM32F407-STF4BB-FATFS, ChibiOS FatFS example for DM-STF4BB with STM32F4Discovery
github.com/ChibiOS/ChibiOS/tree/master/demos/STM32/RT-STM32F103-OLIMEX_STM32_P103-FATFS
github.com/ChibiOS/ChibiOS/blob/master/os/rt/include/ch.h
github.com/ChibiOS/ChibiOS/tree/master/os/various/fatfs_bindings

Compilation

arm-atollic-eabi-gcc
-c ..\src\chibi\platform\gpt_lld.c
-mthumb
-mcpu=cortex-m0
-std=gnu11
-DCRT1_AREAS_NUMBER=1
-DARM_MATH_CM0
-DSTM32F072B_DISCO
-DSTM32F072RBTx
-DSTM32F0
-DSTM32
-DDEBUG
-DHAL_USE_USB=TRUE
-DHAL_USE_SPI=TRUE
-DHAL_USE_SERIAL=TRUE
-DHAL_USE_ADC=TRUE
-DHAL_USE_UART=FALSE
-DHAL_USE_GPT=TRUE
-DSTM32_GPT_USE_TIM14=TRUE
-IC:/msys64/home/bachman0/Fluoedema/Firmware/inc
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\board
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\hal
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\osal
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\platform
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\startup\CMSIS
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\startup\ST
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\startup
-IC:\msys64\home\bachman0\Fluoedema\Firmware\src
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\various
-IC:\msys64\home\bachman0\Fluoedema\Firmware\inc\chibi\lib
-Og
-ffunction-sections
-g3
-fstack-usage
-Wall
-fmessage-length=0
-specs=nano.specs
-o src\chibi\platform\gpt_lld.o 
arm-atollic-eabi-gcc
-o chibi_hal_debug.elf
src\cdc.o
src\cfg.o
src\chibi\board\board.o
src\chibi\hal\adc.o
src\chibi\hal\can.o
src\chibi\hal\dac.o
src\chibi\hal\ext.o
src\chibi\hal\gpt.o
src\chibi\hal\hal.o
src\chibi\hal\hal_buffers.o
src\chibi\hal\hal_mmcsd.o
src\chibi\hal\hal_queues.o
src\chibi\hal\i2c.o
src\chibi\hal\i2s.o
src\chibi\hal\icu.o
src\chibi\hal\mac.o
src\chibi\hal\mmc_spi.o
src\chibi\hal\pal.o
src\chibi\hal\pwm.o
src\chibi\hal\rtc.o
src\chibi\hal\sdc.o
src\chibi\hal\serial.o
src\chibi\hal\serial_usb.o
src\chibi\hal\spi.o
src\chibi\hal\st.o
src\chibi\hal\uart.o
src\chibi\hal\usb.o
src\chibi\hal\wdg.o
src\chibi\lib\chprintf.o
src\chibi\lib\memstreams.o
src\chibi\lib\nullstreams.o
src\chibi\osal\osal.o
src\chibi\platform\adc_lld.o
src\chibi\platform\can_lld.o
src\chibi\platform\dac_lld.o
src\chibi\platform\ext_lld.o
src\chibi\platform\ext_lld_isr.o
src\chibi\platform\gpt_lld.o
src\chibi\platform\hal_lld.o
src\chibi\platform\i2c_lld.o
src\chibi\platform\i2s_lld.o
src\chibi\platform\icu_lld.o
src\chibi\platform\nvic.o
src\chibi\platform\pal_lld.o
src\chibi\platform\pwm_lld.o
src\chibi\platform\rtc_lld.o
src\chibi\platform\serial_lld.o
src\chibi\platform\spi_lld.o
src\chibi\platform\st_lld.o
src\chibi\platform\stm32_dma.o
src\chibi\platform\uart_lld.o
src\chibi\platform\usb_lld.o
src\chibi\platform\wdg_lld.o
src\chibi\startup\crt1.o
src\chibi\startup\vectors.o
src\cmd.o
src\debug.o
src\eeprom\eeprom.o
src\eeprom\stm32f0xx_flash.o
src\iad.o
src\ifc.o
src\lym.o
src\main.o
src\que.o
src\ssd\cmds.o
src\ssd\com.o
src\ssd\ssd.o
src\ssd\util.o
src\ugui\ugui.o
src\usbcfg.o
src\vis.o
startup\crt0_v6m.o
startup\sysmem.o
-larm_cortexM0l_math
-lm
-mthumb
-mcpu=cortex-m0
-TC:\msys64\home\bachman0\Fluoedema\Firmware\LinkerScript.ld
-specs=nosys.specs
-static
-LC:\msys64\home\bachman0\Fluoedema\Firmware\bin
-Wl,--defsym=__process_stack_size__=0x000,--defsym=__main_stack_size__=0x800
-u _printf_float
-Wl,-Map=chibi_hal_debug.map
-Wl,--gc-sections
-Wl,--defsym=malloc_getpagesize_P=0x80
-Wl,--start-group -lc -lm -Wl,--end-group
-specs=nano.specs 

Leave a Reply

Your email address will not be published. Required fields are marked *