Ну да конечно же HAL + Midleware !
Если не планируете портировать проекты на каконибудь LPC / Samsung и.т.д
то даже думать не чего!
Чирикнул пару строчек и готов аудио плеер
дописал еще пару строк будет и видео,
подравил пару символов и опа - все уже на прерываниях
подправил еще пару и поперло через DMA

В CubeMX 1.4 мышкой RTOS настраиваеться
ну да freeRTOS конечно, ну кто мешает пропачить...
Кстати ! под копеечные L0 сделаи HAL !
Случайно наткнулся в Cube под блютус плату для Nucleo
d:\_ST_\NUCLEO-F401RE\x-cube-ble1\X-CUBE-BLE1\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h
и тут же под дешевку
d:\_ST_\NUCLEO-F401RE\x-cube-ble1\X-CUBE-BLE1\Drivers\
STM32L0xx_HAL_Driver\Inc\stm32l0xx_hal.h
Плюс по заявлению инжинеров ST на форуме e2e
- SPL больше поддерживаться не будет, так что или битмасами по голому CMSIS или HAL !
А если не брезгаете пираткой, очень любите потоки и графику то конечно Keil5 + Midleware PRO + Keil_RTX
http://www2.keil.com/mdk5/learn/usb_host/Но к сожалению с CubeMX не идеально совместим Keil5, частично ручкам и копипастом придеться инициализацию ваять.
Хотя настраивать потоки, сложную переферию и графику одно удовольствие даже без MXа. (см. видео)