zephyr/ext/hal/st/stm32cube
Armando Visconti 9a8932024a ext: stm32cube: stm32f7xx: shift I2SR field in PLLI2SCFGR register
The I2SR field should be shifted by RCC_PLLI2SCFGR_PLLI2SR_Pos when the
PLLI2SCFGR register is read or written. Without this patch the PLLI2S
configuration is not done properly (R and M params are badly set) and
the PLLI2S generates bad clock waveform.

ST Bug tracker ID: 50108

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2018-07-06 09:44:59 -05:00
..
stm32f0xx ext/hal: stm32cube: Update STM32F0 README file 2018-03-08 08:47:15 -06:00
stm32f1xx ext: stm32cube: update stm32f1xx cube version 2018-06-27 12:27:15 -05:00
stm32f2xx hal: stm32f2x: Add HAL for the STM32F2x series 2018-07-05 11:26:07 -05:00
stm32f3xx ext: stm32cube: update stm32f3xx cube version 2018-06-27 12:27:15 -05:00
stm32f4xx ext: stm32cube: stm32f4xx: shift I2SR field in PLLI2SCFGR register 2018-07-06 09:44:59 -05:00
stm32f7xx ext: stm32cube: stm32f7xx: shift I2SR field in PLLI2SCFGR register 2018-07-06 09:44:59 -05:00
stm32l0xx ext: hal: stm32l0xx: spi: remove offending cast 2018-03-15 10:53:26 -05:00
stm32l4xx ext: stm32cube: update stm32l4xx cube version 2018-06-27 12:27:15 -05:00
CMakeLists.txt hal: stm32f2x: Add HAL for the STM32F2x series 2018-07-05 11:26:07 -05:00
Kconfig ext: Kconfig: Remove redundant 'default n' properties 2018-06-18 15:26:38 -04:00
README ext: hal: stm32cube: update README 2018-01-23 08:46:16 -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

If there are changes in the number of *.c files the Kconfig file in the
stm32cube directory and the CMakeLists.txt files in the stm32yyxx/ directories
will have to be updated. If *.c have been removed drivers that used them will
also have to be updated.

IMPORTANT:
----------
STM32Cube, as an external library, is not supposed to be modified.
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>

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

Drivers and applications that need functions from the STM32Cube HAL/LL C-files
will need to add the appropriate select entries in their Kconfig files.
For example when functions from stm32f4xx_hal_uart.c are used, the following
entry;

	select USE_STM32_HAL_UART

should be added to the Kconfig file. 
And if the driver for example needs functions from the LL I2C C-files, the
Kconfig file should include the following entry;

	select USE_STM32_LL_I2C