TM STM32Fxxx HAL Libraries  v1.0.0
Libraries for STM32Fxxx (F0, F4 and F7 series) devices based on HAL drivers from ST from Tilen Majerle

Main description and usage of TM HAL based libraries. More...


 In stm32fxxx_hal.h file you have to specify STM32 family used for HAL drivers.

Detailed Description

Main description and usage of TM HAL based libraries.

About libraries

These libraries are provided by Tilen Majerle and are developed under GNU GPL v3 licence. For more information about that, please check website of license.

To use it, I suppose you know C language and at least basics of STM32 devices (especially STM32F0, STM32F4 or STM32F7 series).

Download libraries

Download for all libraries is on this link:


Each library has Keil uVision based example on my Github account,

If you are beginner, then I suggest you to download entire repository from Github, install basic demo version of Keil uVision and open examples directly from download. Almost all examples works with demo version of Keil uVision.

Libraries structure

Each library is structured in the same way where you have these parts:

Each library includes at least these 2 files:

//tm_stm32_exti.h file:
//Content in this file is similar to this below:
//Include defines.h file for user configuration
#include "defines.h"
//Set default NVIC preemption priority if not defined by user to 0x03
//defines.h file: (set by user)
//User wants to change that, use defines.h file like this:
//Let's set EXTI NVIC preemption priority to highest, so we will do:

Code above shows how you can use defines.h file to change default library settings.

HAL Source from ST

TM HAL libraries works on STM32Cube provided from ST and are not included in package of libraries.

You have to go to ST website and download STM32Cube package for your family and use that STM32Fxxx_HAL_Drivers libraries in your project together with my libraries. On my Github, you have example how they are used together.
About defines.h file

Please check above about this.