zephyr/ext/hal/st/stm32cube
Erwan Gouriou 2d881d6539 ext: stm32cube: update stm32l4xx cube version
Update Cube version for STM32L4XX family
from version: V1.5.2
to version: V1.6.0

Add support for following soc:
stm32l451xx
stm32l452xx
stm32l462xx

Change-Id: I116458ff8163f99aec5cf3965296d79728faf672
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-01-30 11:02:38 -06:00
..
stm32f1xx stm32cube: Add Zephyr build system files for stm32f1 series 2016-11-03 20:29:04 +00:00
stm32f3xx ext/hal: Introduce STM32Cube SDK for STM32F3xx family 2016-11-10 16:23:00 +00:00
stm32f4xx ext: stm32cube: update stm32f4xx cube version 2017-01-30 11:02:37 -06:00
stm32f7xx stm32cube: Introduce STM32Cube for STM32F7xx series 2016-11-11 19:04:34 +00:00
stm32l4xx ext: stm32cube: update stm32l4xx cube version 2017-01-30 11:02:38 -06:00
Kbuild uart/stm32: add STM32F3X support for uart 2017-01-23 15:15:53 -06:00
Kconfig license: use SPDX identifier for files in ext/ 2017-01-20 20:22:57 -05:00
Makefile license: use SPDX identifier for files in ext/ 2017-01-20 20:22:57 -05:00
README stm32cube: Add README as porting guidelines 2016-12-06 09:50:11 -06:00

README

How to introduce a new version of stm32cube:
============================================

Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr.
STM32Cube is divided into drivers and soc section, with:

drivers/
       include/ contains Cube HAL/LL files from:
       STM32Cube_FW_F1_VX.X.X/Drivers/STM32YYxx_HAL_Driver/Inc/*
       src/ contains:
       STM32Cube_FW_F1_VX.X.X/Drivers/STM32YYxx_HAL_Driver/Src/*
soc/ contains STM32 CMSIS files from
       *STM32Cube_FW_F1_VX.X.X/Drivers/CMSIS/Device/ST/STM32F1xx/Include/*
       *STM32Cube_FW_F1_VX.X.X/Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c

One file needs to be renamed:
driver/include/stm32f1xx_hal_conf_template.h
into:
driver/include/stm32f1xx_hal_conf.h


In order to enjoy ST CMSIS definitions:
    *CONFIG_HAS_STM32CUBE should be defined
    *stm32yyxx.h should be included in soc.h
       **E.g.: #include <stm32f1xx.h>

In order to use STM32Cube HAL, these files should be compiled:
In /ext/hal/st/stm32cube/Kbuild :
obj-y += stm32yyxx/drivers/src/stm32yyxx_hal.o
obj-y += stm32yyxx/drivers/src/stm32yyxx_hal_rcc.o
obj-y += stm32yyxx/soc/system_stm32yyxx.o
Plus add HAL driver file (when needed):
obj-$(CONFIG_SERIAL_HAS_DRIVER) += stm32yyxx/drivers/src/stm32yyxx_hal_uart.o


Additionally, in order to use STM32Cube LL (when needed):
    *include stm32yyxx_ll_usart.h in soc.h
       **E.g.: #include <stm32f1xx_ll_usart.h>