mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-17 14:02:29 +00:00
Commit "ext: hal: stm32f1x and stm32f4x: disable i2c HAL" and "stm32cube: Fix warning when SPI LL API is compiled" modified stm32cube HAL but this was not documented in series README file, which makes it hazardous to update stm32cube packages. This commit corrects this oversight. Additionally STM32Cube README file to provide this information and how to use it Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
51 lines
1.9 KiB
Plaintext
51 lines
1.9 KiB
Plaintext
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
|
|
|
|
IMPORTANT:
|
|
----------
|
|
STM32Cube, as an external library, is not supposed to be modifid.
|
|
In practice, it might be required to patch it
|
|
When updating a STM32Cube package to a new version, please have a look
|
|
to the patch list in dedicated README file, to make sure you don't overwrite
|
|
some earlier modifications of the package.
|
|
In case of doubt, contact Zephyr code owner for stm32cube.
|
|
|
|
|
|
How to use STM32Cube:
|
|
=====================
|
|
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>
|