The projects are a set of applicative tasks that aim to explain and provide use cases of the different products features based on the products hardware (Boards, STM32 Core(s) features, interconnections and peripherals) and built around the different firmware components. They can be directly used or adapted by the STM32CubeF3 Firmware Package users. They provide basic functionalities, show main features or demonstrate performance. They are provided with preconfigured projects for the main supported toolchains.
@@ -60,26 +60,19 @@
Update History
-
+
Maintenance release
Main Changes
Patch release to fix known defects and enhancements implementation.
-
All source files: update disclaimer to add reference to the new license agreement.
-
Applications
+
STM32303C_EVAL,STM32303E_EVAL, STM32373C_EVAL
-
EEPROM
-
-
Replace hard-coded page end address by a variable in EE_VerifyPageFullyErased() to consider both PAGE 0 and PAGE 1 instead of only PAGE 0.
+
Update “I2C_EEPROM” example to be aligned with HAL_I2C_IsDeviceReady() API returned value: HAL_I2C_IsDeviceReady() API is no more returning HAL_TIMEOUT.
-
-
Examples
+
STM32303E_EVAL
-
Examples_CRC
-
-
Update CRC LL examples to fix incorrect bytes stream handling.
-
+
Use a 2nd handler for TIM8 in the “TIM_Asymetric” example to avoid initialization error if only one handler is used for both timers, due to the BUSY state in 1st handler after it has been already used for TIM1 initialization.
Known Limitations
@@ -88,8 +81,8 @@
Development Toolchains and Compilers
-
IAR Embedded Workbench for ARM (EWARM) toolchain V8.40.2 + ST-Link
-
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + ST-LINK, pack available here:
+
IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-Link
+
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.38 + ST-LINK, pack available here:
www.keil.com/dd2/Pack/ (Section : STMicroelectronics STM32F3 Series Device Support)
Only template projects are migrated to Arm Compiler 6 with MDK-ARM 5.31 (“AC-like Warnings” mode).
@@ -116,13 +109,13 @@
-
+
Maintenance release
Main Changes
-
General updates to fix compilation warnings with gcc v9.
-
Updated examples and applications to avoid clearing DMA using global flag GIFx
+
Patch release to fix known defects and enhancements implementation.
+
All source files: update disclaimer to add reference to the new license agreement.
Known Limitations
@@ -130,9 +123,13 @@
Development Toolchains and Compilers
-
IAR Embedded Workbench for ARM (EWARM) toolchain V8.22.2 + ST-LINK
-
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.26 + ST-LINK
-
System Workbench for STM32 (SW4STM32) toolchain V2.9 + ST-LINK
+
IAR Embedded Workbench for ARM (EWARM) toolchain V8.40.2 + ST-Link
+
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + ST-LINK, pack available here:
+
+
www.keil.com/dd2/Pack/ (Section : STMicroelectronics STM32F3 Series Device Support)
+
Only template projects are migrated to Arm Compiler 6 with MDK-ARM 5.31 (“AC-like Warnings” mode).
+
+
System Workbench for STM32 (SW4STM32) (7-2018-q2-update) toolchain V2.9.0 + ST-Link
Supported Devices and EVAL boards
@@ -154,27 +151,17 @@
-
+
Maintenance release
Main Changes
-
Update All MDK-ARM Templates projects to support new ARM compiler V6.
-
-
STM32F3-Discovery:
-
-
Update Demo and BSP example to support new MEMS I3G4250D and LSM303AGR .
+
General updates to fix compilation warnings with gcc v9.
+
Updated examples and applications to avoid clearing DMA using global flag GIFx
Known Limitations
-
STM32F3-Discovery:
-
Demonstrations
-
-
The demo execution may freeze. In case this happens, simply restart it by pressing the Reset Button B2.
-
-
Action is being taken to fix this known limitation in a future release.
-
-
+
None
Development Toolchains and Compilers
@@ -202,22 +189,33 @@
-
+
Maintenance release
Main Changes
-
No changes compared to previous version (V1.11.0).
+
Update All MDK-ARM Templates projects to support new ARM compiler V6.
+
+
STM32F3-Discovery:
+
+
Update Demo and BSP example to support new MEMS I3G4250D and LSM303AGR .
Known Limitations
+
STM32F3-Discovery:
-
None
+
Demonstrations
+
+
The demo execution may freeze. In case this happens, simply restart it by pressing the Reset Button B2.
+
+
Action is being taken to fix this known limitation in a future release.
+
+
Development Toolchains and Compilers
-
IAR Embedded Workbench for ARM (EWARM) toolchain V8.22.2 + ST-LINK
-
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.26 + ST-LINK
-
System Workbench for STM32 (SW4STM32) toolchain V2.9 + ST-LINK
+
IAR Embedded Workbench for ARM (EWARM) toolchain V8.22.2 + ST-LINK
+
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.26 + ST-LINK
+
System Workbench for STM32 (SW4STM32) toolchain V2.9 + ST-LINK
Supported Devices and EVAL boards
@@ -239,11 +237,48 @@
-
+
Maintenance release
Main Changes
+
No changes compared to previous version (V1.11.0).
+
+
Known Limitations
+
+
None
+
+
Development Toolchains and Compilers
+
+
IAR Embedded Workbench for ARM (EWARM) toolchain V8.22.2 + ST-LINK
+
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.26 + ST-LINK
+
System Workbench for STM32 (SW4STM32) toolchain V2.9 + ST-LINK
+
+
Supported Devices and EVAL boards
+
+
All STM32F3x1, STM32F3x2, STM32F3x3, STM32F3x4 and STM32F3x8 product lines devices are supported.
diff --git a/Projects/STM32303C_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt b/Projects/STM32303C_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
index 608c433f..6e60e94b 100644
--- a/Projects/STM32303C_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
+++ b/Projects/STM32303C_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
@@ -93,7 +93,7 @@ User can select USB line Interrupt through macro defined in main.h.
It is possible to fine tune needed USB Device features by modifying defines values in USBD configuration
file usbd_conf.h available under the project includes directory, in a way to fit the application
requirements, such as:
- - USBD_DFU_APP_DEFAULT_ADD, specifing the address from where user's application will be downloaded.
+ - USBD_DFU_APP_DEFAULT_ADD, specifying the address from where user's application will be downloaded.
Device's end address is the end address of the flash memory and it is dependent on the device in use.
diff --git a/Projects/STM32303C_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c b/Projects/STM32303C_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
index b7d6791a..49f0702c 100644
--- a/Projects/STM32303C_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
+++ b/Projects/STM32303C_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
@@ -167,7 +167,7 @@ int main(void)
}
/* Check if the EEPROM is ready for a new operation */
- while (HAL_I2C_IsDeviceReady(&I2cHandle, EEPROM_ADDRESS, 10, 300) == HAL_TIMEOUT);
+ while (HAL_I2C_IsDeviceReady(&I2cHandle, EEPROM_ADDRESS, 10, 300) != HAL_OK);
/* Wait for the end of the transfer */
while (HAL_I2C_GetState(&I2cHandle) != HAL_I2C_STATE_READY)
diff --git a/Projects/STM32303C_EVAL/Examples/TIM/TIM_Asymetric/Src/main.c b/Projects/STM32303C_EVAL/Examples/TIM/TIM_Asymetric/Src/main.c
index 9b7aa560..398f84e0 100644
--- a/Projects/STM32303C_EVAL/Examples/TIM/TIM_Asymetric/Src/main.c
+++ b/Projects/STM32303C_EVAL/Examples/TIM/TIM_Asymetric/Src/main.c
@@ -79,10 +79,10 @@ int main(void)
/*##-1- Configure the TIM peripheral #######################################*/
/* ---------------------------------------------------------------------------
- TIM8 is configured to generate an Asymetric signal with a programmable
+ TIM8 is configured to generate an Asymmetric signal with a programmable
Phase-Shifted signal on TIM8_CH2:
- TIM8 Channel 1 is configured in PWM2 mode
- - TIM8 Channel 2 is configured in Asymetric PWM2 mode
+ - TIM8 Channel 2 is configured in Asymmetric PWM2 mode
- The counter mode is center aligned mode
- The pulse length and the phase shift are programmed consecutively in TIM8_CCR2 and TIM8_CCR1.
diff --git a/Projects/STM32303C_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt b/Projects/STM32303C_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
index e3b7c6b6..c655fc29 100644
--- a/Projects/STM32303C_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
+++ b/Projects/STM32303C_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
@@ -68,7 +68,7 @@ software obtained with BOARD_IN_STOP_MODE disabled.
At the very beginning, board 1 LED1 is ON then is turned off.
This means that board 1 has entered STOP mode.
-Parallely, board 2 LED1 is quickly blinking (100 ms period). The user has
+Parallelly, board 2 LED1 is quickly blinking (100 ms period). The user has
just to wait for board 1 LED1 to be turned off then to press board 2 Key push-button
to send the first wake-up stimulus to board 1.
This starts the test sequence and no more action is required from the user
diff --git a/Projects/STM32303E_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt b/Projects/STM32303E_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
index 24b1728a..4e9d73a7 100644
--- a/Projects/STM32303E_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
+++ b/Projects/STM32303E_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
@@ -93,7 +93,7 @@ User can select USB line Interrupt through macro defined in main.h.
It is possible to fine tune needed USB Device features by modifying defines values in USBD configuration
file usbd_conf.h available under the project includes directory, in a way to fit the application
requirements, such as:
- - USBD_DFU_APP_DEFAULT_ADD, specifing the address from where user's application will be downloaded.
+ - USBD_DFU_APP_DEFAULT_ADD, specifying the address from where user's application will be downloaded.
Device's end address is the end address of the flash memory and it is dependent on the device in use.
diff --git a/Projects/STM32303E_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c b/Projects/STM32303E_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
index e0e596bd..d406b5a2 100644
--- a/Projects/STM32303E_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
+++ b/Projects/STM32303E_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
@@ -167,7 +167,7 @@ int main(void)
}
/* Check if the EEPROM is ready for a new operation */
- while (HAL_I2C_IsDeviceReady(&I2cHandle, EEPROM_ADDRESS, 10, 300) == HAL_TIMEOUT);
+ while (HAL_I2C_IsDeviceReady(&I2cHandle, EEPROM_ADDRESS, 10, 300) != HAL_OK);
/* Wait for the end of the transfer */
while (HAL_I2C_GetState(&I2cHandle) != HAL_I2C_STATE_READY)
diff --git a/Projects/STM32303E_EVAL/Examples/TIM/TIM_Asymetric/Src/main.c b/Projects/STM32303E_EVAL/Examples/TIM/TIM_Asymetric/Src/main.c
index e0120d58..fe883fce 100644
--- a/Projects/STM32303E_EVAL/Examples/TIM/TIM_Asymetric/Src/main.c
+++ b/Projects/STM32303E_EVAL/Examples/TIM/TIM_Asymetric/Src/main.c
@@ -36,7 +36,8 @@
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Timer handler declaration */
-TIM_HandleTypeDef TimHandle;
+TIM_HandleTypeDef TimHandle8;
+TIM_HandleTypeDef TimHandle1;
/* Timer Output Compare Configuration Structure declaration */
TIM_OC_InitTypeDef sConfig;
@@ -78,10 +79,10 @@ int main(void)
/*##-1- Configure the TIM peripheral #######################################*/
/* ---------------------------------------------------------------------------
- TIM8 is configured to generate an Asymetric signal with a programmable
+ TIM8 is configured to generate an Asymmetric signal with a programmable
Phase-Shifted signal on TIM8_CH2:
- TIM8 Channel 1 is configured in PWM2 mode
- - TIM8 Channel 2 is configured in Asymetric PWM2 mode
+ - TIM8 Channel 2 is configured in Asymmetric PWM2 mode
- The counter mode is center aligned mode
- The pulse length and the phase shift are programmed consecutively in TIM8_CCR2 and TIM8_CCR1.
@@ -109,26 +110,26 @@ int main(void)
3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
--------------------------------------------------------------------------- */
/* Initialize Timers: TIM1 & TIM8 */
- TimHandle.Instance = TIM1;
- TimHandle.Init.Prescaler = 0;
- TimHandle.Init.Period = 2 * PWM_FREQUENCY;
- TimHandle.Init.ClockDivision = 0;
- TimHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
- TimHandle.Init.RepetitionCounter = 0;
- TimHandle.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- if(HAL_TIM_PWM_Init(&TimHandle) != HAL_OK)
+ TimHandle1.Instance = TIM1;
+ TimHandle1.Init.Prescaler = 0;
+ TimHandle1.Init.Period = 2 * PWM_FREQUENCY;
+ TimHandle1.Init.ClockDivision = 0;
+ TimHandle1.Init.CounterMode = TIM_COUNTERMODE_UP;
+ TimHandle1.Init.RepetitionCounter = 0;
+ TimHandle1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ if(HAL_TIM_PWM_Init(&TimHandle1) != HAL_OK)
{
/* Initialization Error */
Error_Handler();
}
- TimHandle.Instance = TIM8;
- TimHandle.Init.Prescaler = 0;
- TimHandle.Init.Period = PWM_FREQUENCY;
- TimHandle.Init.ClockDivision = 0;
- TimHandle.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1;
- TimHandle.Init.RepetitionCounter = 0;
- TimHandle.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- if(HAL_TIM_PWM_Init(&TimHandle) != HAL_OK)
+ TimHandle8.Instance = TIM8;
+ TimHandle8.Init.Prescaler = 0;
+ TimHandle8.Init.Period = PWM_FREQUENCY;
+ TimHandle8.Init.ClockDivision = 0;
+ TimHandle8.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1;
+ TimHandle8.Init.RepetitionCounter = 0;
+ TimHandle8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ if(HAL_TIM_PWM_Init(&TimHandle8) != HAL_OK)
{
/* Initialization Error */
Error_Handler();
@@ -136,7 +137,7 @@ int main(void)
/*##-2- Configure the PWM channels #########################################*/
/* Channels 1&2 configuration on TIM8 */
- TimHandle.Instance = TIM8;
+ TimHandle8.Instance = TIM8;
sConfig.OCMode = TIM_OCMODE_PWM2;
sConfig.Pulse = INITIAL_PHASE;
sConfig.OCPolarity = TIM_OCPOLARITY_HIGH;
@@ -144,24 +145,24 @@ int main(void)
sConfig.OCFastMode = TIM_OCFAST_DISABLE;
sConfig.OCIdleState = TIM_OCIDLESTATE_RESET;
sConfig.OCNIdleState = TIM_OCNIDLESTATE_RESET;
- if(HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_1) != HAL_OK)
+ if(HAL_TIM_PWM_ConfigChannel(&TimHandle8, &sConfig, TIM_CHANNEL_1) != HAL_OK)
{
/* Configuration Error */
Error_Handler();
}
sConfig.OCMode = TIM_OCMODE_ASSYMETRIC_PWM2;
sConfig.Pulse = INITIAL_LENGTH;
- if(HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_2) != HAL_OK)
+ if(HAL_TIM_PWM_ConfigChannel(&TimHandle8, &sConfig, TIM_CHANNEL_2) != HAL_OK)
{
/* Configuration Error */
Error_Handler();
}
/* Channel1 configuration on TIM1 */
- TimHandle.Instance = TIM1;
+ TimHandle1.Instance = TIM1;
sConfig.OCMode = TIM_OCMODE_PWM1;
sConfig.Pulse = PWM_FREQUENCY;
- if(HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_1) != HAL_OK)
+ if(HAL_TIM_PWM_ConfigChannel(&TimHandle1, &sConfig, TIM_CHANNEL_1) != HAL_OK)
{
/* Configuration Error */
Error_Handler();
@@ -174,23 +175,23 @@ int main(void)
signal */
/* Configure TIM8 in slave mode: an active edge on trigger input generates a
reset on TIM8 */
- TimHandle.Instance = TIM8;
+ TimHandle8.Instance = TIM8;
sSlaveConfig.SlaveMode = TIM_SLAVEMODE_RESET;
sSlaveConfig.InputTrigger = TIM_TS_ITR0;
sSlaveConfig.TriggerPolarity = TIM_TRIGGERPOLARITY_NONINVERTED;
sSlaveConfig.TriggerPrescaler = TIM_TRIGGERPRESCALER_DIV1;
sSlaveConfig.TriggerFilter = 0;
- if(HAL_TIM_SlaveConfigSynchro(&TimHandle, &sSlaveConfig) != HAL_OK)
+ if(HAL_TIM_SlaveConfigSynchro(&TimHandle8, &sSlaveConfig) != HAL_OK)
{
/* Configuration Error */
Error_Handler();
}
/* Configure TIM1 in master mode */
- TimHandle.Instance = TIM1;
+ TimHandle1.Instance = TIM1;
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- if(HAL_TIMEx_MasterConfigSynchronization(&TimHandle, &sMasterConfig) != HAL_OK)
+ if(HAL_TIMEx_MasterConfigSynchronization(&TimHandle1, &sMasterConfig) != HAL_OK)
{
/* Configuration Error */
Error_Handler();
@@ -198,22 +199,19 @@ int main(void)
/*##-4- Start PWM signals generation #######################################*/
/* Start TIM1 channel 1 */
- TimHandle.Instance = TIM1;
- if(HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_1) != HAL_OK)
+ if(HAL_TIM_PWM_Start(&TimHandle1, TIM_CHANNEL_1) != HAL_OK)
{
/* PWM Generation Error */
Error_Handler();
}
/* Start TIM8 channel 1 */
- TimHandle.Instance = TIM8;
- if(HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_1) != HAL_OK)
+ if(HAL_TIM_PWM_Start(&TimHandle8, TIM_CHANNEL_1) != HAL_OK)
{
/* PWM Generation Error */
Error_Handler();
}
/* Start TIM8 channel 2 */
- TimHandle.Instance = TIM8;
- if(HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_2) != HAL_OK)
+ if(HAL_TIM_PWM_Start(&TimHandle8, TIM_CHANNEL_2) != HAL_OK)
{
/* PWM Generation Error */
Error_Handler();
diff --git a/Projects/STM32303E_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt b/Projects/STM32303E_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
index c5ea9631..680693ea 100644
--- a/Projects/STM32303E_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
+++ b/Projects/STM32303E_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
@@ -68,7 +68,7 @@ software obtained with BOARD_IN_STOP_MODE disabled.
At the very beginning, board 1 LED1 is ON then is turned off.
This means that board 1 has entered STOP mode.
-Parallely, board 2 LED1 is quickly blinking (100 ms period). The user has
+Parallelly, board 2 LED1 is quickly blinking (100 ms period). The user has
just to wait for board 1 LED1 to be turned off then to press board 2 Key push-button
to send the first wake-up stimulus to board 1.
This starts the test sequence and no more action is required from the user
diff --git a/Projects/STM32373C_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt b/Projects/STM32373C_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
index eb96ac65..340750e4 100644
--- a/Projects/STM32373C_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
+++ b/Projects/STM32373C_EVAL/Applications/USB_Device/DFU_Standalone/readme.txt
@@ -93,7 +93,7 @@ User can select USB line Interrupt through macro defined in main.h.
It is possible to fine tune needed USB Device features by modifying defines values in USBD configuration
file usbd_conf.h available under the project includes directory, in a way to fit the application
requirements, such as:
- - USBD_DFU_APP_DEFAULT_ADD, specifing the address from where user's application will be downloaded.
+ - USBD_DFU_APP_DEFAULT_ADD, specifying the address from where user's application will be downloaded.
Device's end address is the end address of the flash memory and it is dependent on the device in use.
diff --git a/Projects/STM32373C_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c b/Projects/STM32373C_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
index 2abb71b5..d34f45b0 100644
--- a/Projects/STM32373C_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
+++ b/Projects/STM32373C_EVAL/Examples/I2C/I2C_EEPROM/Src/main.c
@@ -168,7 +168,7 @@ int main(void)
}
/* Check if the EEPROM is ready for a new operation */
- while (HAL_I2C_IsDeviceReady(&I2cHandle, EEPROM_ADDRESS, 10, 300) == HAL_TIMEOUT);
+ while (HAL_I2C_IsDeviceReady(&I2cHandle, EEPROM_ADDRESS, 10, 300) != HAL_OK);
/* Wait for the end of the transfer */
while (HAL_I2C_GetState(&I2cHandle) != HAL_I2C_STATE_READY)
diff --git a/Projects/STM32373C_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt b/Projects/STM32373C_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
index 1d394d9c..7e17d428 100644
--- a/Projects/STM32373C_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
+++ b/Projects/STM32373C_EVAL/Examples/UART/UART_WakeUpFromStop/readme.txt
@@ -68,7 +68,7 @@ software obtained with BOARD_IN_STOP_MODE disabled.
At the very beginning, board 1 LED1 is ON then is turned off.
This means that board 1 has entered STOP mode.
-Parallely, board 2 LED1 is quickly blinking (100 ms period). The user has
+Parallelly, board 2 LED1 is quickly blinking (100 ms period). The user has
just to wait for board 1 LED1 to be turned off then to press board 2 Key push-button
to send the first wake-up stimulus to board 1.
This starts the test sequence and no more action is required from the user
diff --git a/Projects/STM32CubeProjectsList.html b/Projects/STM32CubeProjectsList.html
index 4fa4acaf..0320aabf 100644
--- a/Projects/STM32CubeProjectsList.html
+++ b/Projects/STM32CubeProjectsList.html
@@ -27,7 +27,7 @@
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.
-
+
The examples are classified depending on the STM32Cube level they apply to, and are named as follows:
diff --git a/Projects/STM32F3-Discovery/Applications/USB_Device/DFU_Standalone/readme.txt b/Projects/STM32F3-Discovery/Applications/USB_Device/DFU_Standalone/readme.txt
index 6ee58ab8..13379a63 100644
--- a/Projects/STM32F3-Discovery/Applications/USB_Device/DFU_Standalone/readme.txt
+++ b/Projects/STM32F3-Discovery/Applications/USB_Device/DFU_Standalone/readme.txt
@@ -96,7 +96,7 @@ User can select USB line Interrupt through macro defined in main.h.
It is possible to fine tune needed USB Device features by modifying defines values in USBD configuration
file usbd_conf.h available under the project includes directory, in a way to fit the application
requirements, such as:
- - USBD_DFU_APP_DEFAULT_ADD, specifing the address from where user's application will be downloaded.
+ - USBD_DFU_APP_DEFAULT_ADD, specifying the address from where user's application will be downloaded.
Device's end address is the end address of the flash memory and it is dependent on the device in use.
diff --git a/Projects/STM32F3-Discovery/Examples/TIM/TIM_Asymetric/Src/main.c b/Projects/STM32F3-Discovery/Examples/TIM/TIM_Asymetric/Src/main.c
index 3c2d6f7a..00c13421 100644
--- a/Projects/STM32F3-Discovery/Examples/TIM/TIM_Asymetric/Src/main.c
+++ b/Projects/STM32F3-Discovery/Examples/TIM/TIM_Asymetric/Src/main.c
@@ -78,10 +78,10 @@ int main(void)
/*##-1- Configure the TIM peripheral #######################################*/
/* ---------------------------------------------------------------------------
- TIM8 is configured to generate an Asymetric signal with a programmable
+ TIM8 is configured to generate an Asymmetric signal with a programmable
Phase-Shifted signal on TIM8_CH2:
- TIM8 Channel 1 is configured in PWM2 mode
- - TIM8 Channel 2 is configured in Asymetric PWM2 mode
+ - TIM8 Channel 2 is configured in Asymmetric PWM2 mode
- The counter mode is center aligned mode
- The pulse length and the phase shift are programmed consecutively in TIM8_CCR2 and TIM8_CCR1.
diff --git a/Projects/STM32F3-Discovery/Examples/UART/UART_WakeUpFromStop/readme.txt b/Projects/STM32F3-Discovery/Examples/UART/UART_WakeUpFromStop/readme.txt
index cb49d0ee..15227890 100644
--- a/Projects/STM32F3-Discovery/Examples/UART/UART_WakeUpFromStop/readme.txt
+++ b/Projects/STM32F3-Discovery/Examples/UART/UART_WakeUpFromStop/readme.txt
@@ -68,7 +68,7 @@ software obtained with BOARD_IN_STOP_MODE disabled.
At the very beginning, board 1 LED3 is ON then is turned off.
This means that board 1 has entered STOP mode.
-Parallely, board 2 LED3 is quickly blinking (100 ms period). The user has
+Parallelly, board 2 LED3 is quickly blinking (100 ms period). The user has
just to wait for board 1 LED3 to be turned off then to press board 2 User push-button
to send the first wake-up stimulus to board 1.
This starts the test sequence and no more action is required from the user
diff --git a/Projects/STM32F302R8-Nucleo/Applications/USB_Device/DFU_Standalone/readme.txt b/Projects/STM32F302R8-Nucleo/Applications/USB_Device/DFU_Standalone/readme.txt
index d2bf9007..3dce26a0 100644
--- a/Projects/STM32F302R8-Nucleo/Applications/USB_Device/DFU_Standalone/readme.txt
+++ b/Projects/STM32F302R8-Nucleo/Applications/USB_Device/DFU_Standalone/readme.txt
@@ -96,7 +96,7 @@ User can select USB line Interrupt through macro defined in main.h.
It is possible to fine tune needed USB Device features by modifying defines values in USBD configuration
file usbd_conf.h available under the project includes directory, in a way to fit the application
requirements, such as:
- - USBD_DFU_APP_DEFAULT_ADD, specifing the address from where user's application will be downloaded.
+ - USBD_DFU_APP_DEFAULT_ADD, specifying the address from where user's application will be downloaded.
Device's end address is the end address of the flash memory and it is dependent on the device in use.
diff --git a/Projects/STM32F302R8-Nucleo/Examples/UART/UART_WakeUpFromStop/readme.txt b/Projects/STM32F302R8-Nucleo/Examples/UART/UART_WakeUpFromStop/readme.txt
index e12fdbb5..62dae453 100644
--- a/Projects/STM32F302R8-Nucleo/Examples/UART/UART_WakeUpFromStop/readme.txt
+++ b/Projects/STM32F302R8-Nucleo/Examples/UART/UART_WakeUpFromStop/readme.txt
@@ -68,7 +68,7 @@ software obtained with BOARD_IN_STOP_MODE disabled.
At the very beginning, board 1 LED2 is ON then is turned off.
This means that board 1 has entered STOP mode.
-Parallely, board 2 LED2 is quickly blinking (100 ms period). The user has
+Parallelly, board 2 LED2 is quickly blinking (100 ms period). The user has
just to wait for board 1 LED2 to be turned off then to press board 2 User push-button
to send the first wake-up stimulus to board 1.
This starts the test sequence and no more action is required from the user
diff --git a/Projects/STM32F303K8-Nucleo/Examples/UART/UART_WakeUpFromStop/readme.txt b/Projects/STM32F303K8-Nucleo/Examples/UART/UART_WakeUpFromStop/readme.txt
index f75a48f4..4f7272ae 100644
--- a/Projects/STM32F303K8-Nucleo/Examples/UART/UART_WakeUpFromStop/readme.txt
+++ b/Projects/STM32F303K8-Nucleo/Examples/UART/UART_WakeUpFromStop/readme.txt
@@ -68,7 +68,7 @@ software obtained with BOARD_IN_STOP_MODE disabled.
At the very beginning, board 1 LED3 is ON then is turned off.
This means that board 1 has entered STOP mode.
-Parallely, board 2 LED3 is quickly blinking (100 ms period). The user has
+Parallelly, board 2 LED3 is quickly blinking (100 ms period). The user has
just to wait for board 1 LED3 to be turned off and then to put a jumper between PA.12 (Arduino D2) button
and GND to send the first wake-up stimulus to board 1.
This starts the test sequence and no more action is required from the user.
diff --git a/Projects/STM32F303RE-Nucleo/Applications/USB_Device/DFU_Standalone/readme.txt b/Projects/STM32F303RE-Nucleo/Applications/USB_Device/DFU_Standalone/readme.txt
index daa2fb47..ee6e27c9 100644
--- a/Projects/STM32F303RE-Nucleo/Applications/USB_Device/DFU_Standalone/readme.txt
+++ b/Projects/STM32F303RE-Nucleo/Applications/USB_Device/DFU_Standalone/readme.txt
@@ -96,7 +96,7 @@ User can select USB line Interrupt through macro defined in main.h.
It is possible to fine tune needed USB Device features by modifying defines values in USBD configuration
file usbd_conf.h available under the project includes directory, in a way to fit the application
requirements, such as:
- - USBD_DFU_APP_DEFAULT_ADD, specifing the address from where user's application will be downloaded.
+ - USBD_DFU_APP_DEFAULT_ADD, specifying the address from where user's application will be downloaded.
Device's end address is the end address of the flash memory and it is dependent on the device in use.
diff --git a/Projects/STM32F3348-Discovery/Demonstrations/Src/main.c b/Projects/STM32F3348-Discovery/Demonstrations/Src/main.c
index e1f9da26..659c87e3 100644
--- a/Projects/STM32F3348-Discovery/Demonstrations/Src/main.c
+++ b/Projects/STM32F3348-Discovery/Demonstrations/Src/main.c
@@ -986,7 +986,7 @@ static void TestProgram(void)
/* Initialize User_Button on STM32F3348-DISCO */
BSP_PB_Init(BUTTON_USER, BUTTON_MODE_EXTI);
- /* HRTIM intialisation startup */
+ /* HRTIM initialisation startup */
HrtimHandle.Instance = HRTIM1;
if(HAL_HRTIM_DLLCalibrationStart(&HrtimHandle, HRTIM_CALIBRATIONRATE_14) != HAL_OK)
{
diff --git a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BasicPWM/Src/main.c b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BasicPWM/Src/main.c
index 0d84db54..7dc04dcb 100644
--- a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BasicPWM/Src/main.c
+++ b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BasicPWM/Src/main.c
@@ -617,7 +617,7 @@ static void HRTIM_Config_MasterPWM(void)
/* MASTER TIMER initialization: set PWM frequency and continuous mode */
/* The frequency difference is very low to show that the 2 signals are */
/* not synchronous */
- /* Note: Timer D init struture is re-used */
+ /* Note: Timer D init structure is re-used */
/* ------------------------------------------------------------------- */
timebase_config.Period = _100KHz_Plus_PERIOD;
HAL_HRTIM_TimeBaseConfig(&hhrtim, HRTIM_TIMERINDEX_MASTER, &timebase_config);
diff --git a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckBoost/Src/main.c b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckBoost/Src/main.c
index 0939f4b6..74b86451 100644
--- a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckBoost/Src/main.c
+++ b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckBoost/Src/main.c
@@ -180,7 +180,7 @@ int main(void)
break;
case FAULT:
- /* If fault is triggered, operation acn be re-started with the push-button */
+ /* If fault is triggered, operation can be re-started with the push-button */
if((BSP_PB_GetState(BUTTON_USER) == SET))
{
__HAL_HRTIM_CLEAR_IT(&hhrtim, HRTIM_IT_FLT1);
@@ -400,7 +400,7 @@ static void HRTIM_Config(void)
HAL_HRTIM_DeadTimeConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_B, &HRTIM_TIM_DeadTimeConfig);
/* ------------------------------------------- */
- /* ADC trigger intialization (with CMP2 event) */
+ /* ADC trigger initialization (with CMP2 event) */
/* ------------------------------------------- */
compare_config.AutoDelayedMode = HRTIM_AUTODELAYEDMODE_REGULAR;
compare_config.CompareValue = BUCK_PWM_PERIOD/2; /* Samples at 50% of period */
diff --git a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckBoost_AN4449/Src/main.c b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckBoost_AN4449/Src/main.c
index dea92988..deebc875 100644
--- a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckBoost_AN4449/Src/main.c
+++ b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckBoost_AN4449/Src/main.c
@@ -342,7 +342,7 @@ static void HRTIM_Config(void)
HAL_HRTIM_DeadTimeConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_B, &HRTIM_TIM_DeadTimeConfig);
/* ------------------------------------------- */
- /* ADC trigger intialization (with CMP2 event) */
+ /* ADC trigger initialization (with CMP2 event) */
/* ------------------------------------------- */
compare_config.CompareValue = BUCK_PWM_PERIOD / 8 ; /* Set default ADC trigger event */
HAL_HRTIM_WaveformCompareConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_A, HRTIM_COMPAREUNIT_4, &compare_config);
@@ -698,7 +698,7 @@ static void Vout_Check(void)
VoutT = (VoutT * 0x1000) / REAL_3V3; /* converted to 12-bit ADC full range with practical 3.3V of application */
/* Check where is located VOUT_TARGET (VoutRange will be used as protection table index) */
VoutRange = VOUT_TARGET / 1000;
- /* Check for non interger value set for VOUT_TARGET */
+ /* Check for non integer value set for VOUT_TARGET */
VoutDelta = VOUT_TARGET - (VoutRange * 1000);
/* Compute factors for linear interpolation based on VOUT_TARGET settings */
if (VoutDelta != 0 && VoutRange < 15)
diff --git a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckSyncRect/Src/main.c b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckSyncRect/Src/main.c
index aa046d5e..94fcd683 100644
--- a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckSyncRect/Src/main.c
+++ b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_BuckSyncRect/Src/main.c
@@ -312,7 +312,7 @@ static void HRTIM_Config(void)
HAL_HRTIM_DeadTimeConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_A, &HRTIM_TIM_DeadTimeConfig);
/* ------------------------------------------- */
- /* ADC trigger intialization (with CMP2 event) */
+ /* ADC trigger initialization (with CMP2 event) */
/* ------------------------------------------- */
compare_config.AutoDelayedMode = HRTIM_AUTODELAYEDMODE_REGULAR;
compare_config.AutoDelayedTimeout = 0;
@@ -431,7 +431,7 @@ static void HRTIM_Config_NoHAL(void)
HRTIM1->sTimerxRegs[HRTIM_TIMERINDEX_TIMER_A].DTxR = HRTIM_DTR_DTFSLK + (DT_FALLING<<16) + HRTIM_DTR_DTRSLK + DT_RISING;
/* ------------------------------------------- */
- /* ADC trigger intialization (with CMP2 event) */
+ /* ADC trigger initialization (with CMP2 event) */
/* ------------------------------------------- */
HRTIM1->sTimerxRegs[HRTIM_TIMERINDEX_TIMER_A].CMP2xR = BUCK_PWM_PERIOD/10; /* Samples in middle of ON time */
HRTIM1->sCommonRegs.CR1 = HRTIM_CR1_ADC2USRC_0; /* ADC trigger update: TimerA */
diff --git a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_DualBuck/Src/main.c b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_DualBuck/Src/main.c
index 57e03901..e153db82 100644
--- a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_DualBuck/Src/main.c
+++ b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_DualBuck/Src/main.c
@@ -270,7 +270,7 @@ static void HRTIM_Config(void)
/* --------------------------------------------------- */
- /* ADC trigger intialization (CMP3 and CMP4 registers) */
+ /* ADC trigger initialization (CMP3 and CMP4 registers) */
/* --------------------------------------------------- */
/* Set compare 3 registers for 1st ADC trigger */
compare_config.CompareValue = BUCK_PWM_PERIOD/10; // samples in middle of duty cycle (NB: from CMP2 to period)
diff --git a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_LLC_HalfBridge/Src/main.c b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_LLC_HalfBridge/Src/main.c
index 895284e3..0292b8e9 100644
--- a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_LLC_HalfBridge/Src/main.c
+++ b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_LLC_HalfBridge/Src/main.c
@@ -519,7 +519,7 @@ static void HRTIM_Config(void)
&compare_config);
/* ------------------------------------------- */
- /* ADC1 trigger intialization (with 4 event) */
+ /* ADC1 trigger initialization (with 4 event) */
/* 4 injected events for SR1 monitoring */
/* ------------------------------------------- */
adc_trigger_config.Trigger = HRTIM_ADCTRIGGEREVENT24_TIMERB_CMP3
@@ -533,7 +533,7 @@ static void HRTIM_Config(void)
&adc_trigger_config);
/* ------------------------------------------- */
- /* ADC2 trigger intialization (with 4 event) */
+ /* ADC2 trigger initialization (with 4 event) */
/* 4 injected events for SR2 monitoring */
/* ------------------------------------------- */
adc_trigger_config.Trigger = HRTIM_ADCTRIGGEREVENT24_TIMERC_CMP2
diff --git a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_Multiphase/Src/main.c b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_Multiphase/Src/main.c
index ae292f8c..7f3ca2b3 100644
--- a/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_Multiphase/Src/main.c
+++ b/Projects/STM32F3348-Discovery/Examples/HRTIM/HRTIM_Multiphase/Src/main.c
@@ -501,7 +501,7 @@ static void HRTIM_Config_NoHAL(void)
/* -------------------------------------------------- */
/* Burst mode configuration for light load management */
/* Trigger is master reset/roll-over event */
- /* Preload enabled, continous mode */
+ /* Preload enabled, continuous mode */
/* -------------------------------------------------- */
HRTIM1->sCommonRegs.BMCR = HRIM_BURSTMODEPRELOAD_ENABLED + HRTIM_BURSTMODE_CONTINOUS;
HRTIM1->sCommonRegs.BMTRGR = HRTIM_BURSTMODETRIGGER_MASTER_RESET;
@@ -509,7 +509,7 @@ static void HRTIM_Config_NoHAL(void)
HRTIM1->sCommonRegs.BMCMPR = BURST_IDLE; /* burst mode compare value */
/* ------------------------------------------- */
- /* ADC trigger intialization (with CMP2 event) */
+ /* ADC trigger initialization (with CMP2 event) */
/* ------------------------------------------- */
/* Default sampling points for 5-phase configuration */
HRTIM1->sTimerxRegs[HRTIM_TIMERINDEX_TIMER_A].CMP2xR = DUTY_CYCLE_INIT/2; /* Samples at 50% of Ton time */
@@ -802,7 +802,7 @@ static void HRTIM_Config(void)
HAL_HRTIM_BurstModeConfig(&hhrtim, &burst_config);
/* -------------------------------------------------------------- */
- /* ADC trigger intialization (inc. for phase shedding management) */
+ /* ADC trigger initialization (inc. for phase shedding management) */
/* -------------------------------------------------------------- */
compare_config.AutoDelayedMode = HRTIM_AUTODELAYEDMODE_REGULAR;
compare_config.CompareValue = DUTY_CYCLE_INIT/2; /* Samples at 50% of Ton time */
diff --git a/Projects/STM32F3348-Discovery/Examples/Release_Notes.html b/Projects/STM32F3348-Discovery/Examples/Release_Notes.html
index 8cb12dae..85919484 100644
--- a/Projects/STM32F3348-Discovery/Examples/Release_Notes.html
+++ b/Projects/STM32F3348-Discovery/Examples/Release_Notes.html
@@ -742,7 +742,7 @@ toolchain.
Main
Changes
-
Official release.
HRTIM
In all examples
Cleaner initialization of the hrtim structure before calling HAL_HRTIM_Init
DMARequests explicitly disabled. All DMA parameters set with default values
HRTIM_ClearHandle function removed (handle initialization done in HAL_HRTIM_Init function)
Autodelayed parameters removed before setting compare1 and compare 3 values (useless)
Outputs configuration structures renamed to be more explicit (eg. TD1 to TDx if it applies to 2 outputs)
stm32f3xx_hal_msp.c file: HRTIM Clock initialisation updated (now using HAL library)
HRTIM BasicPWM
HAL_ADC_MspInit function removed (ADC not used in this example)
HRTIM_BuckSyncRect
Vin/Vout calculation formula corrected
ADC Voltage reference voltage handled with #define ADC_VREF
Bug fixed in ADC injection channel initialisation (conversion not starting)
Snippet version added (can be enabled with #define SNIPPET)
HRTIM_BuckBoost
Vin/Vout calculation formula corrected
ADC Voltage reference voltage handled with #define ADC_VREF (replacing former #define VDDA)
HRTIM_TM_PFC
Bug fixed for Fault monitoring: LED4 now flashing properly
Bug fixed for autodelayed mode: capture now triggered on Over-current for correct Toff time management
Snippet version added (can be enabled with #define SNIPPET)
HRTIM_BuckBoost_AN4449
New example related to AN4449 Buck-boost converter
V1.1.0RC2
+
Official release.
HRTIM
In all examples
Cleaner initialization of the hrtim structure before calling HAL_HRTIM_Init
DMARequests explicitly disabled. All DMA parameters set with default values
HRTIM_ClearHandle function removed (handle initialization done in HAL_HRTIM_Init function)
Autodelayed parameters removed before setting compare1 and compare 3 values (useless)
Outputs configuration structures renamed to be more explicit (eg. TD1 to TDx if it appies to 2 outputs)
stm32f3xx_hal_msp.c file: HRTIM Clock initialisation updated (now using HAL library)
HRTIM BasicPWM
HAL_ADC_MspInit function removed (ADC not used in this example)
HRTIM_BuckSyncRect
Vin/Vout calculation formula corrected
ADC Voltage reference voltage handled with #define ADC_VREF
Bug fixed in ADC injection channel initialisation (conversion not starting)
Snippet version added (can be enabled with #define SNIPPET)
HRTIM_BuckBoost
Vin/Vout calculation formula corrected
ADC Voltage reference voltage handled with #define ADC_VREF (replacing former #define VDDA)
HRTIM_TM_PFC
Bug fixed for Fault monitoring: LED4 now flashing properly
Bug fixed for autodelayed mode: capture now triggered on Over-current for correct Toff time management
Snippet version added (can be enabled with #define SNIPPET)
HRTIM_BuckBoost_AN4449
New example related to AN4449 Buck-boost converter
V1.1.0RC2
/ 25-August-2014
Main
Changes
diff --git a/Projects/STM32F3348-Discovery/Examples/UART/UART_WakeUpFromStop/readme.txt b/Projects/STM32F3348-Discovery/Examples/UART/UART_WakeUpFromStop/readme.txt
index f1410985..76da1798 100644
--- a/Projects/STM32F3348-Discovery/Examples/UART/UART_WakeUpFromStop/readme.txt
+++ b/Projects/STM32F3348-Discovery/Examples/UART/UART_WakeUpFromStop/readme.txt
@@ -68,7 +68,7 @@ software obtained with BOARD_IN_STOP_MODE disabled.
At the very beginning, board 1 LED5 is ON then is turned off.
This means that board 1 has entered STOP mode.
-Parallely, board 2 LED5 is quickly blinking (100 ms period). The user has
+Parallelly, board 2 LED5 is quickly blinking (100 ms period). The user has
just to wait for board 1 LED5 to be turned off then to press board 2 User push-button
to send the first wake-up stimulus to board 1.
This starts the test sequence and no more action is required from the user
diff --git a/Release_Notes.html b/Release_Notes.html
index 633a1d67..587ca2d3 100644
--- a/Release_Notes.html
+++ b/Release_Notes.html
@@ -21,9 +21,9 @@
STMCube is an STMicroelectronics original initiative to ease developers life by reducing development efforts, time and cost. STM32Cube covers STM32 portfolio.
@@ -34,7 +34,7 @@
The STM32Cube HAL, an STM32 abstraction layer embedded software, ensuring maximized portability across STM32 portfolio
A consistent set of middleware components such as RTOS, USB, TCP/IP, Graphics, FatFS
All embedded software utilities come with a full set of examples.
-
The STM32Cube firmware solution offers a straightforward API with a modular architecture, making it simple to fine tune custom applications and scalable to fit most requirements
+
The STM32Cube firmware solution offers a straightforward API with a modular architecture, making it simple to fine tune custom applications and scalable to fit most requirements
The HAL (Hardware Abstraction Layer) drivers provided within this package supports the following STM32F301x6/x8, STM32F302x6/x8, STM32F302xB/xC, STM32F303x6/x8, STM32F303xB/xC, STM32F373xB/xC, STM32F334x4/x6/x8, STM32F318xx, STM32F328xx, STM32F358xx and STM32F378xx devices.
@@ -54,15 +54,241 @@
Update History
-
+
Maintenance release
-
-
Patch release to fix known defects and enhancements implementation.
-
All source files: update disclaimer to add reference to the new license agreement.
-
Main Changes
+
Patch release to fix known defects and enhancements implementation.
+
CMSIS updates
+
+
Remove duplicated definition of ADC12_CSR_ADRDY_OVR_SLV bit and add definition of ADC34_CSR_ADRDY_OVR_SLV bit
+
Align the CEC_RXDR register bit definition with reference manual
+
+
HAL updates
+
+
HAL Generic update
+
+
Add missing call to UNUSED() macro to avoid compilation warnings related to the unused arguments for the following HAL drivers: ADC, PWR, RCC
+
HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers.
+
+
HAL FLASH
+
+
Correct the setting of option byte OB->WRPx in FLASH_OB_DisableWRP() API and apply MCUAstyle fixes
+
+
HAL CORTEX
+
+
Updated HAL_MPU_ConfigRegion() to allow the configuration of the MPU registers independently of the value of Enable/Disable field.
+
Add new APIs HAL_MPU_EnableRegion() / HAL_MPU_DisableRegion().
+
+
HAL GPIO
+
+
Replace GPIO_Pin_x with GPIO_PIN_x to be compliant with macros definition
+
+
LL/HAL RTC_BKP
+
+
Remove macro __HAL_RTC_TAMPER_GET_IT() as it is redundant with macro __HAL_RTC_TAMPER_GET_FLAG() and create an alias into the hal_legacy.h file
+
Correct misleading note about shadow registers
+
+
LL/HAL ADC
+
+
Update description of LL_ADC_DELAY_DISABLE_CALIB_ADC_CYCLES to be aligned with STM32F3 reference manual
+
+
HAL COMP
+
+
Update APIs HAL_COMP_Init() and HAL_COMP_Start() to add a delay for startup time as mentioned in the datasheet
+
+
LL/HAL I2C
+
+
Update HAL I2C driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte
+
Update HAL I2C driver to disable all interrupts after end of transaction.
+
Update HAL_I2C_Init API to clear ADD10 bit in 7 bit addressing mode.
+
Update HAL_I2C_Mem_Write_IT API to initialize XferSize at 0.
+
Update I2C_Slave_ISR_IT, I2C_Slave_ISR_DMA and I2C_ITSlaveCplt to prevent the call of HAL_I2C_ListenCpltCallback twice.
+
Update I2C_WaitOnRXNEFlagUntilTimeout to check I2C_FLAG_AF independently from I2C_FLAG_RXNE.
+
In function HAL_I2C_IsDeviceReady, remove the unusable code.
+
Update I2C_WaitOnFlagUntilTimeout to handle error case.
+
Update the HAL I2C driver to implement the errata workaround "Last-received byte loss in reload mode"
+
Update HAL_I2C_Slave_Transmit to check if the received NACK is the good one.
+
Update LL_I2C_HandleTranfer() function to prevent undefined behavior of volatile before updating the CR2 register.
+
+
HAL SMBUS
+
+
Update HAL SMBUS driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte
+
Update SMBUS_ITErrorHandler to flash TXDR just in case of error
+
+
HAL UART
+
+
Update initialisation sequence for TXINV, RXINV and TXRXSWAP settings
+
Fix incorrect gState check in HAL_UART_RegisterRxEventCallback/HAL_UART_UnRegisterRxEventCallback to allow user Rx Event Callback registration when a transmit is ongoing
+
Avoid RTOF flag to be cleared by a transmit process in polling mode
+
+
HAL SPI
+
+
Update HAL_SPI_TransmitReceive API to set the bit CRCNEXT in case of one byte transaction.
+
Update IT API to enable interrupts after process unlock.
+
+
HAL I2S
+
+
Update HAL I2S driver to fix misplaced __HAL_LOCK and remove ‘go to’ instruction
+
+
LL/HAL TIM
+
+
Remove multiple volatile reads from interrupt handler for better performance.
+
Assert check for the right channels.
+
Update interrupt flag is cleared when the update event is generated by software.
+
Improved period configuration parameter check
+
HAL TIM driver’s operational behavior improvement
+
Minor typo correction in hal_tim header file
+
Fix typo in PWM symmetric mode related constants names
+
Remove unnecessary change of MOE bitfield in LL_TIM_BDTR_Init()
+
Remove useless check on IS_TIM_ADVANCED_INSTANCE() within LL_TIM_BDTR_Init() to fix Break Filter configuration problem with specific TIM instances
+
LL_TIM UM generation fix
+
User manual quality improvement
+
MISRA warning fix
+
Add LL_TIM_CC_IsEnabledPreload() function
+
Add system break interrupt handling in IRQ handler
+
Make APIs HAL_TIMEx_OCN_Stop_IT() and HAL_TIMEx_PWMN_Stop_IT() more generic
+
Assert check for the right channels
+
Improve CH4N support handling
+
Improve API LL_TIM_BDTR_Init() implementation consistency
+
+
HAL CAN
+
+
Clarify pin configuration in driver header by removing open-drain info
+
Put __CAN_HandleTypeDef definition under a compilation condition to avoid MISRAC2012-Rule-2.4 violation
+
+
HAL USB_OTG
+
+
Add new HAL_PCD_EP_Abort() API to abort current USB endpoint transfer.
+
+
LL UTILS
+
+
Fix a note about Ticks parameter
+
+
+
Project update
+
+
Update “I2C_EEPROM” example to be aligned with HAL_I2C_IsDeviceReady() API returned value: HAL_I2C_IsDeviceReady() API is no more returning HAL_TIMEOUT.
+
Use a 2nd handler for TIM8 in the “TIM_Asymetric” example to avoid initialization error if only one handler is used for both timers, due to the BUSY state in 1st handler after it has been already used for TIM1 initialization.
+
+
BSP update
+
+
Update EEPROM_SPI_IO_WriteData() API to fix warning detected with EWARM 8.50.9: Send zero as high nibble address to keep compliancy with SPI EEPROM memory (M95M01) component specification.
+
Update EEPROM_WritePage() and EEPROM_I2C_WritePage() APIs to add waiting EEPROM internal write cycle duration: Add 5ms max delay required by the M24M01 specification to ensure that the previous EEPROM access is finished.
+
Update LSM303AGR_AccInit() API to correctly initialize the LSM303AGR BSP component: Fix wrong shift direction of init value for CTRL_REG4_A register.
+
I3G4250D Component: Update disclaimer to add reference to the new license agreement.
Patch release to fix known defects and enhancements implementation.
+
All source files: update disclaimer to add reference to the new license agreement.
CMSIS updates
GCC start-up files updates
@@ -76,8 +302,6 @@
HAL updates
-
General updates to fix known defects and implementation enhancements.
-
HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers
HAL Generic update
Allow redefinition of macro UNUSED(x).
@@ -106,9 +330,12 @@
Better performance by removing multiple volatile reads or writes in interrupt handler.
-
LL/HAL TIM update
+
HAL TIM update
Fix HAL_TIMEx_RemapConfig() lock issue: __HAL_LOCK is called before calls to assert_param().
+
+
LL TIM update
+
__LL_TIM_CALC_PSC() macro update to round up the evaluate value when the fractional part of the division is greater than 0.5.
Remove useless check on IS_TIM_ADVANCED_INSTANCE() within LL_TIM_BDTR_Init() to fix Break Filter configuration problem with specific TIM instances
@@ -117,6 +344,7 @@
Removal of never reached code
Improve protection against bad inputs
+
HAL TSC update
HAL RTC_BKP update
Use bits definitions from CMSIS Device header file instead of hard-coded values.
@@ -160,11 +388,14 @@
Add const qualifier for read only pointers.
Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig().
-
LL/HAL USART update
+
HAL USART update
Improve header description of USART_WaitOnFlagUntilTimeout() function
Add a check on the USART parity before enabling the parity error interrupt.
Add const qualifier for read only pointers.
+
+
LL USART update
+
Fix compilation warnings generated with ARMV6 compiler.
HAL SPI update
@@ -198,45 +429,105 @@
Project update
-
Applications
-
-
EEPROM
-
-
Replace hard-coded page end address by a variable in EE_VerifyPageFullyErased() to consider both PAGE 0 and PAGE 1 instead of only PAGE 0.
+
…
-
-
Examples
+
BSP update
-
Examples_CRC
+
General updates to fix known defects and implementation enhancements
+
All source files: update disclaimer to add reference to the new license agreement.
+
+
+
Contents
-
Update CRC LL examples to fix incorrect bytes stream handling.
+
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Patch release to fix known defects and enhancements implementation.
CMSIS updates
@@ -487,7 +779,7 @@
Add Release Note resource: htmresc folder.
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -667,8 +959,8 @@
-
Maintenance release
-
Main Changes
+
Maintenance release
+
Main Changes
Patch release to fix known defects and enhancements implementation.
Remove “register” keyword to be compliant with new C++ rules:
@@ -908,7 +1200,7 @@
Update All MDK-ARM Templates projects to support new ARM compiler V6.
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -1041,17 +1333,17 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V8.22.2 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.26 + ST-LINK
System Workbench for STM32 (SW4STM32) toolchain V2.9 + ST-LINK
-
Supported Devices and EVAL boards
+
Supported Devices and EVAL boards
All STM32F3x1, STM32F3x2, STM32F3x3, STM32F3x4 and STM32F3x8 product lines devices are supported.
General updates to fix known defects and enhancements implementation.
HAL
@@ -1111,7 +1403,7 @@
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -1450,17 +1742,17 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V8.22.2 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.26 + ST-LINK
System Workbench for STM32 (SW4STM32) toolchain V2.9 + ST-LINK
-
Supported Devices and EVAL boards
+
Supported Devices and EVAL boards
All STM32F3x1, STM32F3x2, STM32F3x3, STM32F3x4 and STM32F3x8 product lines devices are supported.
General updates to fix known defects and enhancements implementation
Add support of HAL callback registration feature
@@ -1565,7 +1857,7 @@
For the complete list of changes, please refer to the release notes of each firmware component
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -1904,17 +2196,17 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V8.22.2 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.26 + ST-LINK
System Workbench for STM32 (SW4STM32) toolchain V2.9 + ST-LINK
-
Supported Devices and EVAL boards
+
Supported Devices and EVAL boards
All STM32F3x1, STM32F3x2, STM32F3x3, STM32F3x4 and STM32F3x8 product lines devices are supported.
The following changes done on the HAL drivers require an update on the application code based on older HAL versions
@@ -1964,7 +2256,7 @@
For the complete list of changes, please refer to the release notes of each firmware component
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -2297,17 +2589,17 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
System Workbench for STM32 (SW4STM32) toolchain V2.0 + ST-LINK
-
Supported Devices and EVAL boards
+
Supported Devices and EVAL boards
All STM32F3x1, STM32F3x2, STM32F3x3, STM32F3x4 and STM32F3x8 product lines devices are supported.
Change assert_failed() prototype to be compliant with MISRA C rule 11.4
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -2723,17 +3015,17 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
System Workbench for STM32 (SW4STM32) toolchain V2.0 + ST-LINK
-
Supported Devices and EVAL boards
+
Supported Devices and EVAL boards
All STM32F3x1, STM32F3x2, STM32F3x3, STM32F3x4 and STM32F3x8 product lines devices are supported.
Update CMSIS-RTOS drivers to support both CMSIS Core V4.x and V5.x.
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -3097,18 +3389,18 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
Upgrade to use FreeRTOS V9.0.0 (ST Modified 20160930)
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -3509,18 +3801,18 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.60.4 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.21 + ST-LINK
First official release introducing the STM32Cube LL (Low Layer) APIs for the STM32F3xx series :
@@ -3564,7 +3856,7 @@
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -3887,18 +4179,18 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.60.1 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.17 + ST-LINK
Provided fixes for minor issues in cmsis_os.c and FreeRTOS.h files.
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -4281,18 +4573,18 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.50.1 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.17 + ST-LINK
All projects updated following changes in latest version of HAL and Middlewares.
Fix known defects and several enhancements implementation.
@@ -4382,7 +4674,7 @@
CMSIS-CORE 4.10.0. Maintenance release adding SAI CMSIS-Driver and fixing defects.
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects release notes
@@ -4699,18 +4991,18 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.40.1 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.16 + ST-LINK
Add support of Nucleo32 Board (STM32F303K8-NUCLEO).
BSP
@@ -4747,7 +5039,7 @@
A demonstration using the Gravitech 7segments 4digits shield is added to provide sample code on how to display a counter on this shield.
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
@@ -4976,18 +5268,18 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.30.1 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.11 + ST-LINK
Add support of System Workbench for STM32 (SW4STM32) toolchain.
HAL
@@ -5031,7 +5323,7 @@
Add projects for SW4STM32 toolchain.
-
Contents
+
Contents
The STM32CubeF3 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
@@ -5254,18 +5546,18 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.30 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.11 + ST-LINK
Patch release to fix BSP drivers compilation issue under Linux, this is done by changing “" by”/" in the include path
This package contains a fixed version of the impacted BSP drivers, user needs simply to overwrite the old folders with the new ones:
@@ -5312,7 +5604,7 @@
BSP STM32F3-Discovery
-
Contents
+
Contents
Drivers
@@ -5428,18 +5720,18 @@
-
Known Limitations
+
Known Limitations
None
-
Development Toolchains and Compilers
+
Development Toolchains and Compilers
IAR Embedded Workbench for ARM (EWARM) toolchain V7.30 + ST-LINK
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.11 + ST-LINK
IAR Embedded Workbench for ARM (EWARM) toolchain V7.10 + ST-LINK
-
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.10 + ST-LINK
-
-
Software patches are needed to use STM32F302x8 and STM32F334x8 devices. If you do not have this patch installed, you can install it from the following folders _Software-ARM_STM32F302x8_Patch and _Software-ARM_STM32F334x8_Patch
IAR Embedded Workbench for ARM (EWARM) toolchain V7.10 + ST-LINK
+
RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.10 + ST-LINK
+
+
Software patches are needed to use STM32F302x8 and STM32F334x8 devices. If you do not have this patch installed, you can install it from the following folders _Software-ARM_STM32F302x8_Patch and _Software-ARM_STM32F334x8_Patch