Release v2.3.6
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..71b0c5a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,37 @@
+---
+name: 'Issue report'
+about: 'Create a report to help us improve the quality of our software'
+title: ''
+labels: ''
+assignees: ''
+---
+
+**Caution**
+
+The Issues are strictly limited for the reporting of problem encountered with the software provided in this project.
+For any other problem related to the STM32 product, the performance, the hardware characteristics and boards, the tools the environment in general, please post your report to the **ST Community** in the STM32 MCUs dedicated [page](https://community.st.com/s/topic/0TO0X000000BSqSWAW/stm32-mcus).
+
+**Describe the set-up**
+
+ * The board (either ST RPN reference or your custom board)
+ * IDE or at least the compiler and its version
+
+**Describe the bug (skip if none)**
+
+A clear and concise description of what the bug is.
+
+**How to reproduce the bug (skip if none)**
+
+1. Indicate the global behavior of your application project
+2. List the modules that you suspect to be the cause of the problem (Drivers, BSP, MW...)
+3. Describe the use case that generates the problem
+4. How we can reproduce the problem
+
+
+**Additional context**
+
+If you have a first analysis, an enhancement, a fix or a patch, thank you to share your proposal.
+
+**Screenshots**
+
+If applicable, add screenshots to help explain your problem.
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index 7de3bed..0000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: ''
-assignees: ''
-
----
-
-**Caution**
-The Issues are strictly limited for the reporting of problem encountered with the software provided in this project.
-For any other problem related to the STM32 product, the performance, the hardware characteristics and boards, the tools the environment in general, please post a topic in the [ST Community/STM32 MCUs forum](https://community.st.com/s/group/0F90X000000AXsASAW/stm32-mcus).
-
-**Describe the set-up**
- * The board (either ST RPN reference or your custom board)
- * IDE or at least the compiler and its version
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**How To Reproduce**
-1. Indicate the global behavior of your application project
-
-2. The modules that you suspect to be the cause of the problem (Driver, BSP, MW ...)
-
-3. The use case that generates the problem
-
-4. How we can reproduce the problem
-
-
-**Additional context**
-If you have a first analysis or patch correction, thank you to share your proposal.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
diff --git a/.github/ISSUE_TEMPLATE/other-issue.md b/.github/ISSUE_TEMPLATE/other-issue.md
deleted file mode 100644
index a424001..0000000
--- a/.github/ISSUE_TEMPLATE/other-issue.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-name: 'Other Issue '
-about: Generic issue description
-title: ''
-labels: ''
-assignees: ''
-
----
-
-**Caution**
-The Issues are strictly limited for the reporting of problem encountered with the software provided in this project.
-For any other problem related to the STM32 product, the performance, the hardware characteristics and boards, the tools the environment in general, please post a topic in the [ST Community/STM32 MCUs forum](https://community.st.com/s/group/0F90X000000AXsASAW/stm32-mcus).
-
-**Describe the set-up**
- * The board (either ST RPN reference or your custom board)
- * IDE or at least the compiler and its version
-
-**Additional context**
-If you have a first analysis or a patch proposal, thank you to share your proposal.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 1bb773e..7bc8e9b 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,7 +1,5 @@
-## IMPORTANT INFORMATION
+## IMPORTANT INFORMATION
### Contributor License Agreement (CLA)
-* The Pull Request feature will be considered by STMicroelectronics after the signature of a **Contributor License Agreement (CLA)** by the submiter.
-* If you have not signed such agreement, please follow the rules mentioned in the CONTRIBUTING.md file.
-
-
+* The Pull Request feature will be considered by STMicroelectronics after the signature of a **Contributor License Agreement (CLA)** by the submitter.
+* If you did not sign such agreement, please follow the steps mentioned in the [CONTRIBUTING.md](https://github.com/STMicroelectronics/cmsis_device_f3/blob/master/CONTRIBUTING.md) file.
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 0952b04..4452e08 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -68,9 +68,8 @@
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+available [here](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html).
[homepage]: https://www.contributor-covenant.org
-For answers to common questions about this code of conduct, see
-https://www.contributor-covenant.org/faq
+For answers to common questions about this code of conduct, refer to the FAQ section [here](https://www.contributor-covenant.org/faq).
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7192b11..ee37310 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -5,31 +5,27 @@
This guide mainly focuses on the proper use of Git.
### 1. Before opening an issue
-To report a bug/request please file an issue in the right repository
-(example for [cmsis_device_f3](https://github.com/STMicroelectronics/cmsis_device_f3/issues/new/choose)).
-But check the following boxes before posting an issue:
-
+Please check the following boxes before posting an issue:
- [ ] `Make sure you are using the latest commit (major releases are Tagged, but corrections are available as new commits).`
-- [ ] `Make sure your issue is a question/feedback/suggestions RELATED TO the software provided in this repo.` Otherwise, it should be discussed on the [ST Community/STM32 MCUs forum](https://community.st.com/s/group/0F90X000000AXsASAW/stm32-mcus).
-- [ ] `Make sure your issue is not already reported/fixed on GitHub or discussed on a previous Issue.` Please refer to this [dashboard](https://github.com/orgs/STMicroelectronics/projects/2) for the list of issues and pull-requests. Do not forget to browse into the **closed** issues.
-
+- [ ] `Make sure your issue is a question/feedback/suggestions RELATED TO the software provided in this repository.` Otherwise, it should be discussed on the [ST Community/STM32 MCUs forum](https://community.st.com/s/topic/0TO0X000000BSqSWAW/stm32-mcus).
+- [ ] `Make sure your issue is not already reported/fixed on GitHub or discussed on a previous issue.` Please refer to this [dashboard](https://github.com/orgs/STMicroelectronics/projects/2) for the list of issues and pull-requests. Do not forget to browse into the **closed** issues.
### 2. Posting the issue
-When you have checked the previous boxes. You will find two templates Issues (Bug Report or Other Issue) available in the **Issues** tab of the repo
+When you have checked the previous boxes. You will find two templates (Bug Report or Other Issue) available in the **Issues** tab of this repository.
### 3. Pull Requests
STMicrolectronics is happy to receive contributions from the community, based on an initial Contributor License Agreement (CLA) procedure.
-**From April 7th 2020**
+* If you are an individual writing original source code and you are sure **you own the intellectual property**, then you need to sign an Individual [CLA](https://cla.st.com).
+* If you work for a company that wants also to allow you to contribute with your work, your company needs to provide a Corporate [CLA](https://cla.st.com) mentioning your GitHub account name.
+* If you are not sure that a CLA (Individual or Corporate) has been signed for your GitHub account you can check [here](https://cla.st.com).
-* If you are an individual writing original source code and you are sure you own the intellectual property, then you need to sign an Individual CLA (https://cla.st.com)
-* If you work for a company that wants also to allow you to contribute your work, your company needs to provide a Corporate CLA (https://cla.st.com) mentioning your GitHub account name
-* If you’re not sure that a CLA (Individual or Corporate) has been signed for your GitHub account you can check here (https://cla.st.com). Please note that Corporate CLA will always take precedence over Individual CLA
-
-One CLA submition is sufficient, for any project proposed by STMicroelectronics
+Please note that:
+* The Corporate CLA will always take precedence over the Individual CLA.
+* One CLA submission is sufficient, for any project proposed by STMicroelectronics.
#### How to proceed
-* We recommend to engage first a communication thru an **Issue**, in order to present your proposal. Just to confirm that it correspond to STMicroelectronics domain or scope.
-* Then fork the project in your GitHub account to further develop your contribution. Please use the latest commit version.
-* Please, submit one Pull Request for one new feature or proposal. This will ease the analysis and final merge if accepted
+* We recommend to engage first a communication thru an issue, in order to present your proposal. Just to confirm that it corresponds to STMicroelectronics domain or scope.
+* Then fork the project to your GitHub account to further develop your contribution. Please use the latest commit version.
+* Please, submit one Pull Request for one new feature or proposal. This will ease the analysis and the final merge if accepted.
diff --git a/Include/stm32f301x8.h b/Include/stm32f301x8.h
index 52a0aad..2b5a6c2 100644
--- a/Include/stm32f301x8.h
+++ b/Include/stm32f301x8.h
@@ -720,6 +720,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -8566,8 +8575,8 @@
/* Aliases for __IRQn */
#define ADC1_2_IRQn ADC1_IRQn
#define COMP1_2_IRQn COMP2_IRQn
-#define COMP1_2_3_IRQn COMP2_IRQn
#define COMP_IRQn COMP2_IRQn
+#define COMP1_2_3_IRQn COMP2_IRQn
#define COMP4_5_6_IRQn COMP4_6_IRQn
#define HRTIM1_FLT_IRQn I2C3_ER_IRQn
#define HRTIM1_TIME_IRQn I2C3_EV_IRQn
@@ -8581,8 +8590,8 @@
/* Aliases for __IRQHandler */
#define ADC1_2_IRQHandler ADC1_IRQHandler
#define COMP1_2_IRQHandler COMP2_IRQHandler
-#define COMP1_2_3_IRQHandler COMP2_IRQHandler
#define COMP_IRQHandler COMP2_IRQHandler
+#define COMP1_2_3_IRQHandler COMP2_IRQHandler
#define COMP4_5_6_IRQHandler COMP4_6_IRQHandler
#define HRTIM1_FLT_IRQHandler I2C3_ER_IRQHandler
#define HRTIM1_TIME_IRQHandler I2C3_EV_IRQHandler
diff --git a/Include/stm32f302x8.h b/Include/stm32f302x8.h
index 0a155f8..ecd2947 100644
--- a/Include/stm32f302x8.h
+++ b/Include/stm32f302x8.h
@@ -829,6 +829,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -12331,8 +12340,8 @@
/* Aliases for __IRQn */
#define ADC1_2_IRQn ADC1_IRQn
#define COMP1_2_3_IRQn COMP2_IRQn
-#define COMP1_2_IRQn COMP2_IRQn
#define COMP_IRQn COMP2_IRQn
+#define COMP1_2_IRQn COMP2_IRQn
#define COMP4_5_6_IRQn COMP4_6_IRQn
#define HRTIM1_FLT_IRQn I2C3_ER_IRQn
#define HRTIM1_TIME_IRQn I2C3_EV_IRQn
@@ -12350,8 +12359,8 @@
/* Aliases for __IRQHandler */
#define ADC1_2_IRQHandler ADC1_IRQHandler
#define COMP1_2_3_IRQHandler COMP2_IRQHandler
-#define COMP1_2_IRQHandler COMP2_IRQHandler
#define COMP_IRQHandler COMP2_IRQHandler
+#define COMP1_2_IRQHandler COMP2_IRQHandler
#define COMP4_5_6_IRQHandler COMP4_6_IRQHandler
#define HRTIM1_FLT_IRQHandler I2C3_ER_IRQHandler
#define HRTIM1_TIME_IRQHandler I2C3_EV_IRQHandler
diff --git a/Include/stm32f302xc.h b/Include/stm32f302xc.h
index 658b362..c58c15c 100644
--- a/Include/stm32f302xc.h
+++ b/Include/stm32f302xc.h
@@ -864,6 +864,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -12677,9 +12686,9 @@
/* Aliases for __IRQn */
#define ADC1_IRQn ADC1_2_IRQn
-#define COMP2_IRQn COMP1_2_IRQn
#define COMP_IRQn COMP1_2_IRQn
#define COMP1_2_3_IRQn COMP1_2_IRQn
+#define COMP2_IRQn COMP1_2_IRQn
#define COMP4_5_6_IRQn COMP4_6_IRQn
#define TIM15_IRQn TIM1_BRK_TIM15_IRQn
#define TIM18_DAC2_IRQn TIM1_CC_IRQn
@@ -12694,9 +12703,9 @@
/* Aliases for __IRQHandler */
#define ADC1_IRQHandler ADC1_2_IRQHandler
-#define COMP2_IRQHandler COMP1_2_IRQHandler
#define COMP_IRQHandler COMP1_2_IRQHandler
#define COMP1_2_3_IRQHandler COMP1_2_IRQHandler
+#define COMP2_IRQHandler COMP1_2_IRQHandler
#define COMP4_5_6_IRQHandler COMP4_6_IRQHandler
#define TIM15_IRQHandler TIM1_BRK_TIM15_IRQHandler
#define TIM18_DAC2_IRQHandler TIM1_CC_IRQHandler
diff --git a/Include/stm32f302xe.h b/Include/stm32f302xe.h
index 9be4d11..f9e255b 100644
--- a/Include/stm32f302xe.h
+++ b/Include/stm32f302xe.h
@@ -955,6 +955,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -14417,8 +14426,8 @@
/* Aliases for __IRQn */
#define ADC1_IRQn ADC1_2_IRQn
-#define COMP1_2_3_IRQn COMP1_2_IRQn
#define COMP_IRQn COMP1_2_IRQn
+#define COMP1_2_3_IRQn COMP1_2_IRQn
#define COMP2_IRQn COMP1_2_IRQn
#define COMP4_5_6_IRQn COMP4_6_IRQn
#define HRTIM1_FLT_IRQn I2C3_ER_IRQn
@@ -14436,8 +14445,8 @@
/* Aliases for __IRQHandler */
#define ADC1_IRQHandler ADC1_2_IRQHandler
-#define COMP1_2_3_IRQHandler COMP1_2_IRQHandler
#define COMP_IRQHandler COMP1_2_IRQHandler
+#define COMP1_2_3_IRQHandler COMP1_2_IRQHandler
#define COMP2_IRQHandler COMP1_2_IRQHandler
#define COMP4_5_6_IRQHandler COMP4_6_IRQHandler
#define HRTIM1_FLT_IRQHandler I2C3_ER_IRQHandler
diff --git a/Include/stm32f303x8.h b/Include/stm32f303x8.h
index c905f77..668c1b4 100644
--- a/Include/stm32f303x8.h
+++ b/Include/stm32f303x8.h
@@ -781,6 +781,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -12092,8 +12101,8 @@
#define ADC1_IRQn ADC1_2_IRQn
#define USB_LP_CAN_RX0_IRQn CAN_RX0_IRQn
#define USB_HP_CAN_TX_IRQn CAN_TX_IRQn
-#define COMP_IRQn COMP2_IRQn
#define COMP1_2_IRQn COMP2_IRQn
+#define COMP_IRQn COMP2_IRQn
#define COMP1_2_3_IRQn COMP2_IRQn
#define COMP4_5_6_IRQn COMP4_6_IRQn
#define TIM15_IRQn TIM1_BRK_TIM15_IRQn
@@ -12108,8 +12117,8 @@
#define ADC1_IRQHandler ADC1_2_IRQHandler
#define USB_LP_CAN_RX0_IRQHandler CAN_RX0_IRQHandler
#define USB_HP_CAN_TX_IRQHandler CAN_TX_IRQHandler
-#define COMP_IRQHandler COMP2_IRQHandler
#define COMP1_2_IRQHandler COMP2_IRQHandler
+#define COMP_IRQHandler COMP2_IRQHandler
#define COMP1_2_3_IRQHandler COMP2_IRQHandler
#define COMP4_5_6_IRQHandler COMP4_6_IRQHandler
#define TIM15_IRQHandler TIM1_BRK_TIM15_IRQHandler
diff --git a/Include/stm32f303xc.h b/Include/stm32f303xc.h
index 3376597..bc07c06 100644
--- a/Include/stm32f303xc.h
+++ b/Include/stm32f303xc.h
@@ -896,6 +896,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
diff --git a/Include/stm32f303xe.h b/Include/stm32f303xe.h
index 50acebc..cfb8aa8 100644
--- a/Include/stm32f303xe.h
+++ b/Include/stm32f303xe.h
@@ -1007,6 +1007,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
diff --git a/Include/stm32f318xx.h b/Include/stm32f318xx.h
index 120871e..c441955 100644
--- a/Include/stm32f318xx.h
+++ b/Include/stm32f318xx.h
@@ -721,6 +721,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -8553,8 +8562,8 @@
/* Aliases for __IRQn */
#define ADC1_2_IRQn ADC1_IRQn
#define COMP_IRQn COMP2_IRQn
-#define COMP1_2_IRQn COMP2_IRQn
#define COMP1_2_3_IRQn COMP2_IRQn
+#define COMP1_2_IRQn COMP2_IRQn
#define COMP4_5_6_IRQn COMP4_6_IRQn
#define HRTIM1_FLT_IRQn I2C3_ER_IRQn
#define HRTIM1_TIME_IRQn I2C3_EV_IRQn
@@ -8568,8 +8577,8 @@
/* Aliases for __IRQHandler */
#define ADC1_2_IRQHandler ADC1_IRQHandler
#define COMP_IRQHandler COMP2_IRQHandler
-#define COMP1_2_IRQHandler COMP2_IRQHandler
#define COMP1_2_3_IRQHandler COMP2_IRQHandler
+#define COMP1_2_IRQHandler COMP2_IRQHandler
#define COMP4_5_6_IRQHandler COMP4_6_IRQHandler
#define HRTIM1_FLT_IRQHandler I2C3_ER_IRQHandler
#define HRTIM1_TIME_IRQHandler I2C3_EV_IRQHandler
diff --git a/Include/stm32f328xx.h b/Include/stm32f328xx.h
index fb6b3f4..a78d828 100644
--- a/Include/stm32f328xx.h
+++ b/Include/stm32f328xx.h
@@ -780,6 +780,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -12062,9 +12071,9 @@
#define ADC1_IRQn ADC1_2_IRQn
#define USB_LP_CAN_RX0_IRQn CAN_RX0_IRQn
#define USB_HP_CAN_TX_IRQn CAN_TX_IRQn
+#define COMP1_2_IRQn COMP2_IRQn
#define COMP_IRQn COMP2_IRQn
#define COMP1_2_3_IRQn COMP2_IRQn
-#define COMP1_2_IRQn COMP2_IRQn
#define COMP4_5_6_IRQn COMP4_6_IRQn
#define TIM15_IRQn TIM1_BRK_TIM15_IRQn
#define TIM18_DAC2_IRQn TIM1_CC_IRQn
@@ -12078,9 +12087,9 @@
#define ADC1_IRQHandler ADC1_2_IRQHandler
#define USB_LP_CAN_RX0_IRQHandler CAN_RX0_IRQHandler
#define USB_HP_CAN_TX_IRQHandler CAN_TX_IRQHandler
+#define COMP1_2_IRQHandler COMP2_IRQHandler
#define COMP_IRQHandler COMP2_IRQHandler
#define COMP1_2_3_IRQHandler COMP2_IRQHandler
-#define COMP1_2_IRQHandler COMP2_IRQHandler
#define COMP4_5_6_IRQHandler COMP4_6_IRQHandler
#define TIM15_IRQHandler TIM1_BRK_TIM15_IRQHandler
#define TIM18_DAC2_IRQHandler TIM1_CC_IRQHandler
diff --git a/Include/stm32f334x8.h b/Include/stm32f334x8.h
index 7831638..7ca2a90 100644
--- a/Include/stm32f334x8.h
+++ b/Include/stm32f334x8.h
@@ -898,6 +898,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -9260,6 +9269,7 @@
#define HRTIM_RSTR_EXTEVNT10_Msk (0x1UL << HRTIM_RSTR_EXTEVNT10_Pos) /*!< 0x00040000 */
#define HRTIM_RSTR_EXTEVNT10 HRTIM_RSTR_EXTEVNT10_Msk /*!< External event 10 */
+/* Slave Timer A reset enable bits upon other slave timers events */
#define HRTIM_RSTR_TIMBCMP1_Pos (19U)
#define HRTIM_RSTR_TIMBCMP1_Msk (0x1UL << HRTIM_RSTR_TIMBCMP1_Pos) /*!< 0x00080000 */
#define HRTIM_RSTR_TIMBCMP1 HRTIM_RSTR_TIMBCMP1_Msk /*!< Timer B compare 1 */
@@ -9300,6 +9310,169 @@
#define HRTIM_RSTR_TIMECMP4_Msk (0x1UL << HRTIM_RSTR_TIMECMP4_Pos) /*!< 0x40000000 */
#define HRTIM_RSTR_TIMECMP4 HRTIM_RSTR_TIMECMP4_Msk /*!< Timer E compare 4 */
+/* Slave Timer B reset enable bits upon other slave timers events */
+#define HRTIM_RSTBR_TIMACMP1_Pos (19U)
+#define HRTIM_RSTBR_TIMACMP1_Msk (0x1UL << HRTIM_RSTBR_TIMACMP1_Pos) /*!< 0x00080000 */
+#define HRTIM_RSTBR_TIMACMP1 HRTIM_RSTBR_TIMACMP1_Msk /*!< Timer A compare 1 */
+#define HRTIM_RSTBR_TIMACMP2_Pos (20U)
+#define HRTIM_RSTBR_TIMACMP2_Msk (0x1UL << HRTIM_RSTBR_TIMACMP2_Pos) /*!< 0x00100000 */
+#define HRTIM_RSTBR_TIMACMP2 HRTIM_RSTBR_TIMACMP2_Msk /*!< Timer A compare 2 */
+#define HRTIM_RSTBR_TIMACMP4_Pos (21U)
+#define HRTIM_RSTBR_TIMACMP4_Msk (0x1UL << HRTIM_RSTBR_TIMACMP4_Pos) /*!< 0x00200000 */
+#define HRTIM_RSTBR_TIMACMP4 HRTIM_RSTBR_TIMACMP4_Msk /*!< Timer A compare 4 */
+
+#define HRTIM_RSTBR_TIMCCMP1_Pos (22U)
+#define HRTIM_RSTBR_TIMCCMP1_Msk (0x1UL << HRTIM_RSTBR_TIMCCMP1_Pos) /*!< 0x00400000 */
+#define HRTIM_RSTBR_TIMCCMP1 HRTIM_RSTBR_TIMCCMP1_Msk /*!< Timer C compare 1 */
+#define HRTIM_RSTBR_TIMCCMP2_Pos (23U)
+#define HRTIM_RSTBR_TIMCCMP2_Msk (0x1UL << HRTIM_RSTBR_TIMCCMP2_Pos) /*!< 0x00800000 */
+#define HRTIM_RSTBR_TIMCCMP2 HRTIM_RSTBR_TIMCCMP2_Msk /*!< Timer C compare 2 */
+#define HRTIM_RSTBR_TIMCCMP4_Pos (24U)
+#define HRTIM_RSTBR_TIMCCMP4_Msk (0x1UL << HRTIM_RSTBR_TIMCCMP4_Pos) /*!< 0x01000000 */
+#define HRTIM_RSTBR_TIMCCMP4 HRTIM_RSTBR_TIMCCMP4_Msk /*!< Timer C compare 4 */
+
+#define HRTIM_RSTBR_TIMDCMP1_Pos (25U)
+#define HRTIM_RSTBR_TIMDCMP1_Msk (0x1UL << HRTIM_RSTBR_TIMDCMP1_Pos) /*!< 0x02000000 */
+#define HRTIM_RSTBR_TIMDCMP1 HRTIM_RSTBR_TIMDCMP1_Msk /*!< Timer D compare 1 */
+#define HRTIM_RSTBR_TIMDCMP2_Pos (26U)
+#define HRTIM_RSTBR_TIMDCMP2_Msk (0x1UL << HRTIM_RSTBR_TIMDCMP2_Pos) /*!< 0x04000000 */
+#define HRTIM_RSTBR_TIMDCMP2 HRTIM_RSTBR_TIMDCMP2_Msk /*!< Timer D compare 2 */
+#define HRTIM_RSTBR_TIMDCMP4_Pos (27U)
+#define HRTIM_RSTBR_TIMDCMP4_Msk (0x1UL << HRTIM_RSTBR_TIMDCMP4_Pos) /*!< 0x08000000 */
+#define HRTIM_RSTBR_TIMDCMP4 HRTIM_RSTBR_TIMDCMP4_Msk /*!< Timer D compare 4 */
+
+#define HRTIM_RSTBR_TIMECMP1_Pos (28U)
+#define HRTIM_RSTBR_TIMECMP1_Msk (0x1UL << HRTIM_RSTBR_TIMECMP1_Pos) /*!< 0x10000000 */
+#define HRTIM_RSTBR_TIMECMP1 HRTIM_RSTBR_TIMECMP1_Msk /*!< Timer E compare 1 */
+#define HRTIM_RSTBR_TIMECMP2_Pos (29U)
+#define HRTIM_RSTBR_TIMECMP2_Msk (0x1UL << HRTIM_RSTBR_TIMECMP2_Pos) /*!< 0x20000000 */
+#define HRTIM_RSTBR_TIMECMP2 HRTIM_RSTBR_TIMECMP2_Msk /*!< Timer E compare 2 */
+#define HRTIM_RSTBR_TIMECMP4_Pos (30U)
+#define HRTIM_RSTBR_TIMECMP4_Msk (0x1UL << HRTIM_RSTBR_TIMECMP4_Pos) /*!< 0x40000000 */
+#define HRTIM_RSTBR_TIMECMP4 HRTIM_RSTBR_TIMECMP4_Msk /*!< Timer E compare 4 */
+
+/* Slave Timer C reset enable bits upon other slave timers events */
+#define HRTIM_RSTCR_TIMACMP1_Pos (19U)
+#define HRTIM_RSTCR_TIMACMP1_Msk (0x1UL << HRTIM_RSTCR_TIMACMP1_Pos) /*!< 0x00080000 */
+#define HRTIM_RSTCR_TIMACMP1 HRTIM_RSTCR_TIMACMP1_Msk /*!< Timer A compare 1 */
+#define HRTIM_RSTCR_TIMACMP2_Pos (20U)
+#define HRTIM_RSTCR_TIMACMP2_Msk (0x1UL << HRTIM_RSTCR_TIMACMP2_Pos) /*!< 0x00100000 */
+#define HRTIM_RSTCR_TIMACMP2 HRTIM_RSTCR_TIMACMP2_Msk /*!< Timer A compare 2 */
+#define HRTIM_RSTCR_TIMACMP4_Pos (21U)
+#define HRTIM_RSTCR_TIMACMP4_Msk (0x1UL << HRTIM_RSTCR_TIMACMP4_Pos) /*!< 0x00200000 */
+#define HRTIM_RSTCR_TIMACMP4 HRTIM_RSTCR_TIMACMP4_Msk /*!< Timer A compare 4 */
+
+#define HRTIM_RSTCR_TIMBCMP1_Pos (22U)
+#define HRTIM_RSTCR_TIMBCMP1_Msk (0x1UL << HRTIM_RSTCR_TIMBCMP1_Pos) /*!< 0x00400000 */
+#define HRTIM_RSTCR_TIMBCMP1 HRTIM_RSTCR_TIMBCMP1_Msk /*!< Timer B compare 1 */
+#define HRTIM_RSTCR_TIMBCMP2_Pos (23U)
+#define HRTIM_RSTCR_TIMBCMP2_Msk (0x1UL << HRTIM_RSTCR_TIMBCMP2_Pos) /*!< 0x00800000 */
+#define HRTIM_RSTCR_TIMBCMP2 HRTIM_RSTCR_TIMBCMP2_Msk /*!< Timer B compare 2 */
+#define HRTIM_RSTCR_TIMBCMP4_Pos (24U)
+#define HRTIM_RSTCR_TIMBCMP4_Msk (0x1UL << HRTIM_RSTCR_TIMBCMP4_Pos) /*!< 0x01000000 */
+#define HRTIM_RSTCR_TIMBCMP4 HRTIM_RSTCR_TIMBCMP4_Msk /*!< Timer B compare 4 */
+
+#define HRTIM_RSTCR_TIMDCMP1_Pos (25U)
+#define HRTIM_RSTCR_TIMDCMP1_Msk (0x1UL << HRTIM_RSTCR_TIMDCMP1_Pos) /*!< 0x02000000 */
+#define HRTIM_RSTCR_TIMDCMP1 HRTIM_RSTCR_TIMDCMP1_Msk /*!< Timer D compare 1 */
+#define HRTIM_RSTCR_TIMDCMP2_Pos (26U)
+#define HRTIM_RSTCR_TIMDCMP2_Msk (0x1UL << HRTIM_RSTCR_TIMDCMP2_Pos) /*!< 0x04000000 */
+#define HRTIM_RSTCR_TIMDCMP2 HRTIM_RSTCR_TIMDCMP2_Msk /*!< Timer D compare 2 */
+#define HRTIM_RSTCR_TIMDCMP4_Pos (27U)
+#define HRTIM_RSTCR_TIMDCMP4_Msk (0x1UL << HRTIM_RSTCR_TIMDCMP4_Pos) /*!< 0x08000000 */
+#define HRTIM_RSTCR_TIMDCMP4 HRTIM_RSTCR_TIMDCMP4_Msk /*!< Timer D compare 4 */
+
+#define HRTIM_RSTCR_TIMECMP1_Pos (28U)
+#define HRTIM_RSTCR_TIMECMP1_Msk (0x1UL << HRTIM_RSTCR_TIMECMP1_Pos) /*!< 0x10000000 */
+#define HRTIM_RSTCR_TIMECMP1 HRTIM_RSTCR_TIMECMP1_Msk /*!< Timer E compare 1 */
+#define HRTIM_RSTCR_TIMECMP2_Pos (29U)
+#define HRTIM_RSTCR_TIMECMP2_Msk (0x1UL << HRTIM_RSTCR_TIMECMP2_Pos) /*!< 0x20000000 */
+#define HRTIM_RSTCR_TIMECMP2 HRTIM_RSTCR_TIMECMP2_Msk /*!< Timer E compare 2 */
+#define HRTIM_RSTCR_TIMECMP4_Pos (30U)
+#define HRTIM_RSTCR_TIMECMP4_Msk (0x1UL << HRTIM_RSTCR_TIMECMP4_Pos) /*!< 0x40000000 */
+#define HRTIM_RSTCR_TIMECMP4 HRTIM_RSTCR_TIMECMP4_Msk /*!< Timer E compare 4 */
+
+/* Slave Timer D reset enable bits upon other slave timers events */
+#define HRTIM_RSTDR_TIMACMP1_Pos (19U)
+#define HRTIM_RSTDR_TIMACMP1_Msk (0x1UL << HRTIM_RSTDR_TIMACMP1_Pos) /*!< 0x00080000 */
+#define HRTIM_RSTDR_TIMACMP1 HRTIM_RSTDR_TIMACMP1_Msk /*!< Timer A compare 1 */
+#define HRTIM_RSTDR_TIMACMP2_Pos (20U)
+#define HRTIM_RSTDR_TIMACMP2_Msk (0x1UL << HRTIM_RSTDR_TIMACMP2_Pos) /*!< 0x00100000 */
+#define HRTIM_RSTDR_TIMACMP2 HRTIM_RSTDR_TIMACMP2_Msk /*!< Timer A compare 2 */
+#define HRTIM_RSTDR_TIMACMP4_Pos (21U)
+#define HRTIM_RSTDR_TIMACMP4_Msk (0x1UL << HRTIM_RSTDR_TIMACMP4_Pos) /*!< 0x00200000 */
+#define HRTIM_RSTDR_TIMACMP4 HRTIM_RSTDR_TIMACMP4_Msk /*!< Timer A compare 4 */
+
+#define HRTIM_RSTDR_TIMBCMP1_Pos (22U)
+#define HRTIM_RSTDR_TIMBCMP1_Msk (0x1UL << HRTIM_RSTDR_TIMBCMP1_Pos) /*!< 0x00400000 */
+#define HRTIM_RSTDR_TIMBCMP1 HRTIM_RSTDR_TIMBCMP1_Msk /*!< Timer B compare 1 */
+#define HRTIM_RSTDR_TIMBCMP2_Pos (23U)
+#define HRTIM_RSTDR_TIMBCMP2_Msk (0x1UL << HRTIM_RSTDR_TIMBCMP2_Pos) /*!< 0x00800000 */
+#define HRTIM_RSTDR_TIMBCMP2 HRTIM_RSTDR_TIMBCMP2_Msk /*!< Timer B compare 2 */
+#define HRTIM_RSTDR_TIMBCMP4_Pos (24U)
+#define HRTIM_RSTDR_TIMBCMP4_Msk (0x1UL << HRTIM_RSTDR_TIMBCMP4_Pos) /*!< 0x01000000 */
+#define HRTIM_RSTDR_TIMBCMP4 HRTIM_RSTDR_TIMBCMP4_Msk /*!< Timer B compare 4 */
+
+#define HRTIM_RSTDR_TIMCCMP1_Pos (25U)
+#define HRTIM_RSTDR_TIMCCMP1_Msk (0x1UL << HRTIM_RSTDR_TIMCCMP1_Pos) /*!< 0x02000000 */
+#define HRTIM_RSTDR_TIMCCMP1 HRTIM_RSTDR_TIMCCMP1_Msk /*!< Timer C compare 1 */
+#define HRTIM_RSTDR_TIMCCMP2_Pos (26U)
+#define HRTIM_RSTDR_TIMCCMP2_Msk (0x1UL << HRTIM_RSTDR_TIMCCMP2_Pos) /*!< 0x04000000 */
+#define HRTIM_RSTDR_TIMCCMP2 HRTIM_RSTDR_TIMCCMP2_Msk /*!< Timer C compare 2 */
+#define HRTIM_RSTDR_TIMCCMP4_Pos (27U)
+#define HRTIM_RSTDR_TIMCCMP4_Msk (0x1UL << HRTIM_RSTDR_TIMCCMP4_Pos) /*!< 0x08000000 */
+#define HRTIM_RSTDR_TIMCCMP4 HRTIM_RSTDR_TIMCCMP4_Msk /*!< Timer C compare 4 */
+
+#define HRTIM_RSTDR_TIMECMP1_Pos (28U)
+#define HRTIM_RSTDR_TIMECMP1_Msk (0x1UL << HRTIM_RSTDR_TIMECMP1_Pos) /*!< 0x10000000 */
+#define HRTIM_RSTDR_TIMECMP1 HRTIM_RSTDR_TIMECMP1_Msk /*!< Timer E compare 1 */
+#define HRTIM_RSTDR_TIMECMP2_Pos (29U)
+#define HRTIM_RSTDR_TIMECMP2_Msk (0x1UL << HRTIM_RSTDR_TIMECMP2_Pos) /*!< 0x20000000 */
+#define HRTIM_RSTDR_TIMECMP2 HRTIM_RSTDR_TIMECMP2_Msk /*!< Timer E compare 2 */
+#define HRTIM_RSTDR_TIMECMP4_Pos (30U)
+#define HRTIM_RSTDR_TIMECMP4_Msk (0x1UL << HRTIM_RSTDR_TIMECMP4_Pos) /*!< 0x40000000 */
+#define HRTIM_RSTDR_TIMECMP4 HRTIM_RSTDR_TIMECMP4_Msk /*!< Timer E compare 4 */
+
+#define HRTIM_RSTER_TIMACMP1_Pos (19U)
+#define HRTIM_RSTER_TIMACMP1_Msk (0x1UL << HRTIM_RSTER_TIMACMP1_Pos) /*!< 0x00080000 */
+#define HRTIM_RSTER_TIMACMP1 HRTIM_RSTER_TIMACMP1_Msk /*!< Timer A compare 1 */
+#define HRTIM_RSTER_TIMACMP2_Pos (20U)
+#define HRTIM_RSTER_TIMACMP2_Msk (0x1UL << HRTIM_RSTER_TIMACMP2_Pos) /*!< 0x00100000 */
+#define HRTIM_RSTER_TIMACMP2 HRTIM_RSTER_TIMACMP2_Msk /*!< Timer A compare 2 */
+#define HRTIM_RSTER_TIMACMP4_Pos (21U)
+#define HRTIM_RSTER_TIMACMP4_Msk (0x1UL << HRTIM_RSTER_TIMACMP4_Pos) /*!< 0x00200000 */
+#define HRTIM_RSTER_TIMACMP4 HRTIM_RSTER_TIMACMP4_Msk /*!< Timer A compare 4 */
+
+#define HRTIM_RSTER_TIMBCMP1_Pos (22U)
+#define HRTIM_RSTER_TIMBCMP1_Msk (0x1UL << HRTIM_RSTER_TIMBCMP1_Pos) /*!< 0x00400000 */
+#define HRTIM_RSTER_TIMBCMP1 HRTIM_RSTER_TIMBCMP1_Msk /*!< Timer B compare 1 */
+#define HRTIM_RSTER_TIMBCMP2_Pos (23U)
+#define HRTIM_RSTER_TIMBCMP2_Msk (0x1UL << HRTIM_RSTER_TIMBCMP2_Pos) /*!< 0x00800000 */
+#define HRTIM_RSTER_TIMBCMP2 HRTIM_RSTER_TIMBCMP2_Msk /*!< Timer B compare 2 */
+#define HRTIM_RSTER_TIMBCMP4_Pos (24U)
+#define HRTIM_RSTER_TIMBCMP4_Msk (0x1UL << HRTIM_RSTER_TIMBCMP4_Pos) /*!< 0x01000000 */
+#define HRTIM_RSTER_TIMBCMP4 HRTIM_RSTER_TIMBCMP4_Msk /*!< Timer B compare 4 */
+
+#define HRTIM_RSTER_TIMCCMP1_Pos (25U)
+#define HRTIM_RSTER_TIMCCMP1_Msk (0x1UL << HRTIM_RSTER_TIMCCMP1_Pos) /*!< 0x02000000 */
+#define HRTIM_RSTER_TIMCCMP1 HRTIM_RSTER_TIMCCMP1_Msk /*!< Timer C compare 1 */
+#define HRTIM_RSTER_TIMCCMP2_Pos (26U)
+#define HRTIM_RSTER_TIMCCMP2_Msk (0x1UL << HRTIM_RSTER_TIMCCMP2_Pos) /*!< 0x04000000 */
+#define HRTIM_RSTER_TIMCCMP2 HRTIM_RSTER_TIMCCMP2_Msk /*!< Timer C compare 2 */
+#define HRTIM_RSTER_TIMCCMP4_Pos (27U)
+#define HRTIM_RSTER_TIMCCMP4_Msk (0x1UL << HRTIM_RSTER_TIMCCMP4_Pos) /*!< 0x08000000 */
+#define HRTIM_RSTER_TIMCCMP4 HRTIM_RSTER_TIMCCMP4_Msk /*!< Timer C compare 4 */
+
+#define HRTIM_RSTER_TIMDCMP1_Pos (28U)
+#define HRTIM_RSTER_TIMDCMP1_Msk (0x1UL << HRTIM_RSTER_TIMDCMP1_Pos) /*!< 0x10000000 */
+#define HRTIM_RSTER_TIMDCMP1 HRTIM_RSTER_TIMDCMP1_Msk /*!< Timer D compare 1 */
+#define HRTIM_RSTER_TIMDCMP2_Pos (29U)
+#define HRTIM_RSTER_TIMDCMP2_Msk (0x1UL << HRTIM_RSTER_TIMDCMP2_Pos) /*!< 0x20000000 */
+#define HRTIM_RSTER_TIMDCMP2 HRTIM_RSTER_TIMDCMP2_Msk /*!< Timer D compare 2 */
+#define HRTIM_RSTER_TIMDCMP4_Pos (30U)
+#define HRTIM_RSTER_TIMDCMP4_Msk (0x1UL << HRTIM_RSTER_TIMDCMP4_Pos) /*!< 0x40000000 */
+#define HRTIM_RSTER_TIMDCMP4 HRTIM_RSTER_TIMDCMP4_Msk /*!< Timer D compare 4 */
+
/**** Bit definition for Slave Timer Chopper register *************************/
#define HRTIM_CHPR_CARFRQ_Pos (0U)
#define HRTIM_CHPR_CARFRQ_Msk (0xFUL << HRTIM_CHPR_CARFRQ_Pos) /*!< 0x0000000F */
@@ -15056,8 +15229,8 @@
#define USB_LP_CAN_RX0_IRQn CAN_RX0_IRQn
#define USB_HP_CAN_TX_IRQn CAN_TX_IRQn
#define COMP_IRQn COMP2_IRQn
-#define COMP1_2_IRQn COMP2_IRQn
#define COMP1_2_3_IRQn COMP2_IRQn
+#define COMP1_2_IRQn COMP2_IRQn
#define COMP4_5_6_IRQn COMP4_6_IRQn
#define I2C3_ER_IRQn HRTIM1_FLT_IRQn
#define I2C3_EV_IRQn HRTIM1_TIME_IRQn
@@ -15074,8 +15247,8 @@
#define USB_LP_CAN_RX0_IRQHandler CAN_RX0_IRQHandler
#define USB_HP_CAN_TX_IRQHandler CAN_TX_IRQHandler
#define COMP_IRQHandler COMP2_IRQHandler
-#define COMP1_2_IRQHandler COMP2_IRQHandler
#define COMP1_2_3_IRQHandler COMP2_IRQHandler
+#define COMP1_2_IRQHandler COMP2_IRQHandler
#define COMP4_5_6_IRQHandler COMP4_6_IRQHandler
#define I2C3_ER_IRQHandler HRTIM1_FLT_IRQHandler
#define I2C3_EV_IRQHandler HRTIM1_TIME_IRQHandler
diff --git a/Include/stm32f358xx.h b/Include/stm32f358xx.h
index 999f888..13f503e 100644
--- a/Include/stm32f358xx.h
+++ b/Include/stm32f358xx.h
@@ -854,6 +854,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -13191,8 +13200,8 @@
#define USB_LP_CAN_RX0_IRQn CAN_RX0_IRQn
#define USB_HP_CAN_TX_IRQn CAN_TX_IRQn
#define COMP1_2_IRQn COMP1_2_3_IRQn
-#define COMP_IRQn COMP1_2_3_IRQn
#define COMP2_IRQn COMP1_2_3_IRQn
+#define COMP_IRQn COMP1_2_3_IRQn
#define COMP4_6_IRQn COMP4_5_6_IRQn
#define TIM15_IRQn TIM1_BRK_TIM15_IRQn
#define TIM18_DAC2_IRQn TIM1_CC_IRQn
@@ -13211,8 +13220,8 @@
#define USB_LP_CAN_RX0_IRQHandler CAN_RX0_IRQHandler
#define USB_HP_CAN_TX_IRQHandler CAN_TX_IRQHandler
#define COMP1_2_IRQHandler COMP1_2_3_IRQHandler
-#define COMP_IRQHandler COMP1_2_3_IRQHandler
#define COMP2_IRQHandler COMP1_2_3_IRQHandler
+#define COMP_IRQHandler COMP1_2_3_IRQHandler
#define COMP4_6_IRQHandler COMP4_5_6_IRQHandler
#define TIM15_IRQHandler TIM1_BRK_TIM15_IRQHandler
#define TIM18_DAC2_IRQHandler TIM1_CC_IRQHandler
diff --git a/Include/stm32f373xc.h b/Include/stm32f373xc.h
index 22e8f69..4a95fb5 100644
--- a/Include/stm32f373xc.h
+++ b/Include/stm32f373xc.h
@@ -892,6 +892,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
diff --git a/Include/stm32f378xx.h b/Include/stm32f378xx.h
index 2f50681..0dbb462 100644
--- a/Include/stm32f378xx.h
+++ b/Include/stm32f378xx.h
@@ -851,6 +851,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -11743,9 +11752,9 @@
#define USB_LP_CAN_RX0_IRQn CAN_RX0_IRQn
#define USB_HP_CAN_TX_IRQn CAN_TX_IRQn
#define USBWakeUp_IRQn CEC_IRQn
+#define COMP2_IRQn COMP_IRQn
#define COMP1_2_3_IRQn COMP_IRQn
#define COMP1_2_IRQn COMP_IRQn
-#define COMP2_IRQn COMP_IRQn
#define ADC4_IRQn SDADC1_IRQn
#define TIM8_BRK_IRQn TIM12_IRQn
#define TIM8_UP_IRQn TIM13_IRQn
@@ -11764,9 +11773,9 @@
#define USB_LP_CAN_RX0_IRQHandler CAN_RX0_IRQHandler
#define USB_HP_CAN_TX_IRQHandler CAN_TX_IRQHandler
#define USBWakeUp_IRQHandler CEC_IRQHandler
+#define COMP2_IRQHandler COMP_IRQHandler
#define COMP1_2_3_IRQHandler COMP_IRQHandler
#define COMP1_2_IRQHandler COMP_IRQHandler
-#define COMP2_IRQHandler COMP_IRQHandler
#define ADC4_IRQHandler SDADC1_IRQHandler
#define TIM8_BRK_IRQHandler TIM12_IRQHandler
#define TIM8_UP_IRQHandler TIM13_IRQHandler
diff --git a/Include/stm32f398xx.h b/Include/stm32f398xx.h
index 060a7e4..dc90a89 100644
--- a/Include/stm32f398xx.h
+++ b/Include/stm32f398xx.h
@@ -963,6 +963,15 @@
* @{
*/
+ /** @addtogroup Hardware_Constant_Definition
+ * @{
+ */
+#define LSI_STARTUP_TIME 85U /*!< LSI Maximum startup time in us */
+
+ /**
+ * @}
+ */
+
/** @addtogroup Peripheral_Registers_Bits_Definition
* @{
*/
@@ -15027,9 +15036,9 @@
#define SDADC1_IRQn ADC4_IRQn
#define USB_LP_CAN_RX0_IRQn CAN_RX0_IRQn
#define USB_HP_CAN_TX_IRQn CAN_TX_IRQn
-#define COMP1_2_IRQn COMP1_2_3_IRQn
#define COMP_IRQn COMP1_2_3_IRQn
#define COMP2_IRQn COMP1_2_3_IRQn
+#define COMP1_2_IRQn COMP1_2_3_IRQn
#define COMP4_6_IRQn COMP4_5_6_IRQn
#define HRTIM1_FLT_IRQn I2C3_ER_IRQn
#define HRTIM1_TIME_IRQn I2C3_EV_IRQn
@@ -15050,9 +15059,9 @@
#define SDADC1_IRQHandler ADC4_IRQHandler
#define USB_LP_CAN_RX0_IRQHandler CAN_RX0_IRQHandler
#define USB_HP_CAN_TX_IRQHandler CAN_TX_IRQHandler
-#define COMP1_2_IRQHandler COMP1_2_3_IRQHandler
#define COMP_IRQHandler COMP1_2_3_IRQHandler
#define COMP2_IRQHandler COMP1_2_3_IRQHandler
+#define COMP1_2_IRQHandler COMP1_2_3_IRQHandler
#define COMP4_6_IRQHandler COMP4_5_6_IRQHandler
#define HRTIM1_FLT_IRQHandler I2C3_ER_IRQHandler
#define HRTIM1_TIME_IRQHandler I2C3_EV_IRQHandler
diff --git a/Include/stm32f3xx.h b/Include/stm32f3xx.h
index feef6ec..ec4dca5 100644
--- a/Include/stm32f3xx.h
+++ b/Include/stm32f3xx.h
@@ -103,11 +103,11 @@
#endif /* USE_HAL_DRIVER */
/**
- * @brief CMSIS Device version number V2.3.5
+ * @brief CMSIS Device version number V2.3.6
*/
#define __STM32F3_CMSIS_VERSION_MAIN (0x02) /*!< [31:24] main version */
#define __STM32F3_CMSIS_VERSION_SUB1 (0x03) /*!< [23:16] sub1 version */
-#define __STM32F3_CMSIS_VERSION_SUB2 (0x05) /*!< [15:8] sub2 version */
+#define __STM32F3_CMSIS_VERSION_SUB2 (0x06) /*!< [15:8] sub2 version */
#define __STM32F3_CMSIS_VERSION_RC (0x00) /*!< [7:0] release candidate */
#define __STM32F3_CMSIS_VERSION ((__STM32F3_CMSIS_VERSION_MAIN << 24)\
|(__STM32F3_CMSIS_VERSION_SUB1 << 16)\
@@ -204,6 +204,60 @@
#define POSITION_VAL(VAL) (__CLZ(__RBIT(VAL)))
+/* Use of CMSIS compiler intrinsics for register exclusive access */
+/* Atomic 32-bit register access macro to set one or several bits */
+#define ATOMIC_SET_BIT(REG, BIT) \
+ do { \
+ uint32_t val; \
+ do { \
+ val = __LDREXW((__IO uint32_t *)&(REG)) | (BIT); \
+ } while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
+ } while(0)
+
+/* Atomic 32-bit register access macro to clear one or several bits */
+#define ATOMIC_CLEAR_BIT(REG, BIT) \
+ do { \
+ uint32_t val; \
+ do { \
+ val = __LDREXW((__IO uint32_t *)&(REG)) & ~(BIT); \
+ } while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
+ } while(0)
+
+/* Atomic 32-bit register access macro to clear and set one or several bits */
+#define ATOMIC_MODIFY_REG(REG, CLEARMSK, SETMASK) \
+ do { \
+ uint32_t val; \
+ do { \
+ val = (__LDREXW((__IO uint32_t *)&(REG)) & ~(CLEARMSK)) | (SETMASK); \
+ } while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
+ } while(0)
+
+/* Atomic 16-bit register access macro to set one or several bits */
+#define ATOMIC_SETH_BIT(REG, BIT) \
+ do { \
+ uint16_t val; \
+ do { \
+ val = __LDREXH((__IO uint16_t *)&(REG)) | (BIT); \
+ } while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
+ } while(0)
+
+/* Atomic 16-bit register access macro to clear one or several bits */
+#define ATOMIC_CLEARH_BIT(REG, BIT) \
+ do { \
+ uint16_t val; \
+ do { \
+ val = __LDREXH((__IO uint16_t *)&(REG)) & ~(BIT); \
+ } while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
+ } while(0)
+
+/* Atomic 16-bit register access macro to clear and set one or several bits */
+#define ATOMIC_MODIFYH_REG(REG, CLEARMSK, SETMASK) \
+ do { \
+ uint16_t val; \
+ do { \
+ val = (__LDREXH((__IO uint16_t *)&(REG)) & ~(CLEARMSK)) | (SETMASK); \
+ } while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
+ } while(0)
/**
* @}
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..77fa138
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [2019] [STMicroelectronics]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/License.md b/License.md
deleted file mode 100644
index e0d829b..0000000
--- a/License.md
+++ /dev/null
@@ -1,83 +0,0 @@
-Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License.
-
-Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License.
-
-Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution.
-
-You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-1.You must give any other recipients of the Work or Derivative Works a copy of this License; and
-2.You must cause any modified files to carry prominent notices stating that You changed the files; and
-3.You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-4.If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
-
-You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions.
-
-Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks.
-
-This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty.
-
-Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability.
-
-In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability.
-
-While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX:
-
- Copyright [2019] [STMicroelectronics]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/README.md b/README.md
index a5126dd..38b9d82 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# STM32CubeF3 CMSIS Device MCU Component
+![latest tag](https://img.shields.io/github/v/tag/STMicroelectronics/cmsis_device_f3.svg?color=brightgreen)
+
## Overview
**STM32Cube** is an STMicroelectronics original initiative to ease the developers life by reducing efforts, time and cost.
@@ -8,7 +10,7 @@
* The CMSIS modules (core and device) corresponding to the ARM(tm) core implemented in this STM32 product.
* The STM32 HAL-LL drivers, an abstraction layer offering a set of APIs ensuring maximized portability across the STM32 portfolio.
* The BSP drivers of each evaluation, demonstration or nucleo board provided for this STM32 series.
- * A consistent set of middleware components such as RTOS, USB, FatFS, graphics, touch sensing library...
+ * A consistent set of middleware libraries such as RTOS, USB, FatFS, graphics, touch sensing library...
* A full set of software projects (basic examples, applications, and demonstrations) for each board provided for this STM32 series.
Two models of publication are proposed for the STM32Cube embedded software:
@@ -17,7 +19,7 @@
## Description
-This **cmsis_device_f3** MCU component repo is one element of the STM32CubeF3 MCU embedded software package, providing the **CMSIS Device** part.
+This **cmsis_device_f3** MCU component repo is one element of the STM32CubeF3 MCU embedded software package, providing the **cmsis device** part.
## Release note
@@ -29,14 +31,14 @@
CMSIS Device F3 | CMSIS Core | Was delivered in the full MCU package
--------------- | ---------- | -------------------------------------
-Tag v2.3.3 | Tag v4.5_cm4 | Tag v1.10.0 (and following, if any, till next CMSIS tag)
-Tag v2.3.4 | Tag v5.4.0_cm4 | Tag v1.11.0 (and following, if any, till next CMSIS tag)
-Tag v2.3.5 | Tag v5.4.0_cm4 | Tag v1.11.2 (and following, if any, till next CMSIS tag)
+Tag v2.3.4 | Tag v5.4.0_cm4 | Tag v1.11.0
+Tag v2.3.4 | Tag v5.4.0_cm4 | Tag v1.11.1
+Tag v2.3.5 | Tag v5.4.0_cm4 | Tag v1.11.2
+Tag v2.3.6 | Tag v5.4.0_cm4 | Tag v1.11.3
The full **STM32CubeF3** MCU package is available [here](https://github.com/STMicroelectronics/STM32CubeF3).
## Troubleshooting
+If you have any issue with the **Software content** of this repo, you can [file an issue on Github](https://github.com/STMicroelectronics/cmsis_device_f3/issues/new).
-If you have any issue with the **software content** of this repository, you can file an issue [here](https://github.com/STMicroelectronics/cmsis_device_f3/issues/new).
-
-For any other question related to the product, the tools, the environment, you can submit a topic to the [ST Community](https://community.st.com/s/).
+For any other question related to the product, the tools, the environment, you can submit a topic on the [ST Community/STM32 MCUs forum](https://community.st.com/s/topic/0TO0X000000BSqSWAW/stm32-mcus).
\ No newline at end of file
diff --git a/Release_Notes.html b/Release_Notes.html
index 372d237..4e3f101 100644
--- a/Release_Notes.html
+++ b/Release_Notes.html
@@ -38,12 +38,33 @@
<div class="col-sm-12 col-lg-8">
<h1 id="update-history"><strong>Update History</strong></h1>
<div class="collapse">
-<input type="checkbox" id="collapse-section2_3_5" aria-hidden="true"> <label for="collapse-section2_3_5" aria-hidden="true"><strong>V2.3.5 / 10-November-2020</strong></label>
+<input type="checkbox" id="collapse-section2_3_6" aria-hidden="true"> <label for="collapse-section2_3_6" aria-hidden="true"><strong>V2.3.6 / 23-July-2021</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General update
<ul>
+<li>Added new atomic register access macros in stm32f3xx.h file.</li>
+<li>Add LSI maximum startup time datasheet value: LSI_STARTUP_TIME.</li>
+</ul></li>
+<li>STM32F334x8 updates
+<ul>
+<li>HRTIM: Add missing defines to reset all Slave Timer X</li>
+</ul></li>
+<li>STM32F373xC/ STM32F378xx updates
+<ul>
+<li>Start-up files update to call COMP_IRQHandler instead of COMP1_2_IRQHandler</li>
+</ul></li>
+</ul>
+</div>
+</div>
+<div class="collapse">
+<input type="checkbox" id="collapse-section2_3_5" aria-hidden="true"> <label for="collapse-section2_3_5" aria-hidden="true"><strong>V2.3.5 / 10-November-2020</strong></label>
+<div>
+<h2 id="main-changes-1">Main Changes</h2>
+<ul>
+<li>General update
+<ul>
<li>system_stm32f3xx.c
<ul>
<li>Protect Vector table modification following SRAM or FLASH preprocessor directive by a generic preprocessor directive : USER_VECT_TAB_ADDRESS<br />
@@ -58,7 +79,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_4" aria-hidden="true"> <label for="collapse-section2_3_4" aria-hidden="true"><strong>V2.3.4 / 12-September-2019</strong></label>
<div>
-<h2 id="main-changes-1">Main Changes</h2>
+<h2 id="main-changes-2">Main Changes</h2>
<ul>
<li>General update
<ul>
@@ -83,7 +104,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.3.3" aria-hidden="true"> <label for="collapse-section2.3.3" aria-hidden="true"><strong>V2.3.3 / 11-June-2018</strong></label>
<div>
-<h2 id="main-changes-2">Main Changes</h2>
+<h2 id="main-changes-3">Main Changes</h2>
<ul>
<li>General update
<ul>
@@ -100,7 +121,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.3.2" aria-hidden="true"> <label for="collapse-section2.3.2" aria-hidden="true"><strong>V2.3.2 / 23-June-2017</strong></label>
<div>
-<h2 id="main-changes-3">Main Changes</h2>
+<h2 id="main-changes-4">Main Changes</h2>
<ul>
<li>Remove support of Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain.</li>
<li>FLASH updates
@@ -133,7 +154,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.3.1" aria-hidden="true"> <label for="collapse-section2.3.1" aria-hidden="true"><strong>V2.3.1 / 16-December-2016</strong></label>
<div>
-<h2 id="main-changes-4">Main Changes</h2>
+<h2 id="main-changes-5">Main Changes</h2>
<ul>
<li>COMP updates
<ul>
@@ -174,7 +195,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.3.0" aria-hidden="true"> <label for="collapse-section2.3.0" aria-hidden="true"><strong>V2.3.0 / 29-April-2016</strong></label>
<div>
-<h2 id="main-changes-5">Main Changes</h2>
+<h2 id="main-changes-6">Main Changes</h2>
<ul>
<li>General updates
<ul>
@@ -253,7 +274,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.2.0" aria-hidden="true"> <label for="collapse-section2.2.0" aria-hidden="true"><strong>V2.2.0 / 13-November-2015</strong></label>
<div>
-<h2 id="main-changes-6">Main Changes</h2>
+<h2 id="main-changes-7">Main Changes</h2>
<ul>
<li>General updates
<ul>
@@ -327,7 +348,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.1.0" aria-hidden="true"> <label for="collapse-section2.1.0" aria-hidden="true"><strong>V2.1.0 / 12-Sept-2014</strong></label>
<div>
-<h2 id="main-changes-7">Main Changes</h2>
+<h2 id="main-changes-8">Main Changes</h2>
<ul>
<li>Add the support of the <strong>STM32F302xE</strong> and the <strong>STM32F398xx</strong> devices.</li>
<li>STM32F303xE update
@@ -347,7 +368,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.1.0.RC2" aria-hidden="true"> <label for="collapse-section2.1.0.RC2" aria-hidden="true"><strong>V2.1.0.RC2 / 25-Aug-2014</strong></label>
<div>
-<h2 id="main-changes-8">Main Changes</h2>
+<h2 id="main-changes-9">Main Changes</h2>
<ul>
<li>Add CMSIS files for STM32F303xE products</li>
</ul>
@@ -356,7 +377,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.0.1" aria-hidden="true"> <label for="collapse-section2.0.1" aria-hidden="true"><strong>V2.0.1 / 18-June-2014</strong></label>
<div>
-<h2 id="main-changes-9">Main Changes</h2>
+<h2 id="main-changes-10">Main Changes</h2>
<ul>
<li>General
<ul>
@@ -413,7 +434,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2.0.0" aria-hidden="true"> <label for="collapse-section2.0.0" aria-hidden="true"><strong>V2.0.0 / 28-May-2014</strong></label>
<div>
-<h2 id="main-changes-10">Main Changes</h2>
+<h2 id="main-changes-11">Main Changes</h2>
<ul>
<li>Major update based on STM32Cube specification: new CMSIS device files release dedicated to <strong>STM32F301x6/x8, STM32F302x6/x8, STM32F302xB/xC, STM32F303x6/x8, STM32F373xB/xC, STM32F334x4/x6/x8, STM32F318xx, STM32F328xx, STM32F358xx and STM32F378xx devices .</strong></li>
<li><strong>This version has to be used for STM32CubeF3 based development although files can be used independently too.</strong></li>
@@ -423,7 +444,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section1.1.1" aria-hidden="true"> <label for="collapse-section1.1.1" aria-hidden="true"><strong>V1.1.1 / 28-March-2014</strong></label>
<div>
-<h2 id="main-changes-11">Main Changes</h2>
+<h2 id="main-changes-12">Main Changes</h2>
<ul>
<li>Add new startup files for the STM32F302x8 and STM32F334x8 devices for TrueSTUDIO toolchain.</li>
<li>Update startup files for EWARM toolchain to cope with compiler enhancement of the V7.10 version.</li>
@@ -433,7 +454,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section1.1.0" aria-hidden="true"> <label for="collapse-section1.1.0" aria-hidden="true"><strong>V1.1.0 / 27-February-2014</strong></label>
<div>
-<h2 id="main-changes-12">Main Changes</h2>
+<h2 id="main-changes-13">Main Changes</h2>
<ul>
<li>Add the support of the <strong>STM32F302x8</strong> and the <strong>STM32F334x8</strong> devices.</li>
<li>Update devices names definition to be in line with the new new STM32F30x family devices names.
@@ -466,7 +487,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section1.0.0" aria-hidden="true"> <label for="collapse-section1.0.0" aria-hidden="true"><strong>V1.0.0 / 04-September-2012</strong></label>
<div>
-<h2 id="main-changes-13">Main Changes</h2>
+<h2 id="main-changes-14">Main Changes</h2>
<ul>
<li>First official release for <strong>STM32F30x devices</strong> (Standard Library)</li>
</ul>
diff --git a/Source/Templates/arm/startup_stm32f373xc.s b/Source/Templates/arm/startup_stm32f373xc.s
index 220335a..18cdca1 100644
--- a/Source/Templates/arm/startup_stm32f373xc.s
+++ b/Source/Templates/arm/startup_stm32f373xc.s
@@ -140,7 +140,7 @@
DCD SDADC1_IRQHandler ; SDADC1
DCD SDADC2_IRQHandler ; SDADC2
DCD SDADC3_IRQHandler ; SDADC3
- DCD COMP1_2_IRQHandler ; COMP1 and COMP2 global Interrupt
+ DCD COMP_IRQHandler ; COMP1 and COMP2 global Interrupt
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
@@ -280,7 +280,7 @@
EXPORT SDADC1_IRQHandler [WEAK]
EXPORT SDADC2_IRQHandler [WEAK]
EXPORT SDADC3_IRQHandler [WEAK]
- EXPORT COMP1_2_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
EXPORT USB_HP_IRQHandler [WEAK]
EXPORT USB_LP_IRQHandler [WEAK]
EXPORT USBWakeUp_IRQHandler [WEAK]
@@ -346,7 +346,7 @@
SDADC1_IRQHandler
SDADC2_IRQHandler
SDADC3_IRQHandler
-COMP1_2_IRQHandler
+COMP_IRQHandler
USB_HP_IRQHandler
USB_LP_IRQHandler
USBWakeUp_IRQHandler
diff --git a/Source/Templates/arm/startup_stm32f378xx.s b/Source/Templates/arm/startup_stm32f378xx.s
index 92f08a6..dd2ab34 100644
--- a/Source/Templates/arm/startup_stm32f378xx.s
+++ b/Source/Templates/arm/startup_stm32f378xx.s
@@ -140,7 +140,7 @@
DCD SDADC1_IRQHandler ; SDADC1
DCD SDADC2_IRQHandler ; SDADC2
DCD SDADC3_IRQHandler ; SDADC3
- DCD COMP1_2_IRQHandler ; COMP1 and COMP2 global Interrupt
+ DCD COMP_IRQHandler ; COMP1 and COMP2 global Interrupt
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
@@ -279,7 +279,7 @@
EXPORT SDADC1_IRQHandler [WEAK]
EXPORT SDADC2_IRQHandler [WEAK]
EXPORT SDADC3_IRQHandler [WEAK]
- EXPORT COMP1_2_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
EXPORT TIM19_IRQHandler [WEAK]
EXPORT FPU_IRQHandler [WEAK]
@@ -341,7 +341,7 @@
SDADC1_IRQHandler
SDADC2_IRQHandler
SDADC3_IRQHandler
-COMP1_2_IRQHandler
+COMP_IRQHandler
TIM19_IRQHandler
FPU_IRQHandler
diff --git a/Source/Templates/gcc/startup_stm32f373xc.s b/Source/Templates/gcc/startup_stm32f373xc.s
index 3f1c90e..c2f212e 100644
--- a/Source/Templates/gcc/startup_stm32f373xc.s
+++ b/Source/Templates/gcc/startup_stm32f373xc.s
@@ -211,7 +211,7 @@
.word SDADC1_IRQHandler
.word SDADC2_IRQHandler
.word SDADC3_IRQHandler
- .word COMP1_2_IRQHandler
+ .word COMP_IRQHandler
.word 0
.word 0
.word 0
@@ -439,8 +439,8 @@
.weak SDADC3_IRQHandler
.thumb_set SDADC3_IRQHandler,Default_Handler
- .weak COMP1_2_IRQHandler
- .thumb_set COMP1_2_IRQHandler,Default_Handler
+ .weak COMP_IRQHandler
+ .thumb_set COMP_IRQHandler,Default_Handler
.weak USB_HP_IRQHandler
.thumb_set USB_HP_IRQHandler,Default_Handler
diff --git a/Source/Templates/gcc/startup_stm32f378xx.s b/Source/Templates/gcc/startup_stm32f378xx.s
index 7ccd403..0a9cb06 100644
--- a/Source/Templates/gcc/startup_stm32f378xx.s
+++ b/Source/Templates/gcc/startup_stm32f378xx.s
@@ -211,7 +211,7 @@
.word SDADC1_IRQHandler
.word SDADC2_IRQHandler
.word SDADC3_IRQHandler
- .word COMP1_2_IRQHandler
+ .word COMP_IRQHandler
.word 0
.word 0
.word 0
@@ -436,8 +436,8 @@
.weak SDADC3_IRQHandler
.thumb_set SDADC3_IRQHandler,Default_Handler
- .weak COMP1_2_IRQHandler
- .thumb_set COMP1_2_IRQHandler,Default_Handler
+ .weak COMP_IRQHandler
+ .thumb_set COMP_IRQHandler,Default_Handler
.weak TIM19_IRQHandler
.thumb_set TIM19_IRQHandler,Default_Handler
diff --git a/Source/Templates/iar/startup_stm32f373xc.s b/Source/Templates/iar/startup_stm32f373xc.s
index 43f4e77..3296b95 100644
--- a/Source/Templates/iar/startup_stm32f373xc.s
+++ b/Source/Templates/iar/startup_stm32f373xc.s
@@ -135,7 +135,7 @@
DCD SDADC1_IRQHandler ; SDADC1
DCD SDADC2_IRQHandler ; SDADC2
DCD SDADC3_IRQHandler ; SDADC3
- DCD COMP1_2_IRQHandler ; COMP1 and COMP2 global Interrupt
+ DCD COMP_IRQHandler ; COMP1 and COMP2 global Interrupt
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
@@ -503,10 +503,10 @@
SDADC3_IRQHandler
B SDADC3_IRQHandler
- PUBWEAK COMP1_2_IRQHandler
+ PUBWEAK COMP_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
-COMP1_2_IRQHandler
- B COMP1_2_IRQHandler
+COMP_IRQHandler
+ B COMP_IRQHandler
PUBWEAK USB_HP_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
diff --git a/Source/Templates/iar/startup_stm32f378xx.s b/Source/Templates/iar/startup_stm32f378xx.s
index 98112e4..e484651 100644
--- a/Source/Templates/iar/startup_stm32f378xx.s
+++ b/Source/Templates/iar/startup_stm32f378xx.s
@@ -135,7 +135,7 @@
DCD SDADC1_IRQHandler ; SDADC1
DCD SDADC2_IRQHandler ; SDADC2
DCD SDADC3_IRQHandler ; SDADC3
- DCD COMP1_2_IRQHandler ; COMP1 and COMP2 global Interrupt
+ DCD COMP_IRQHandler ; COMP1 and COMP2 global Interrupt
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
@@ -498,10 +498,10 @@
SDADC3_IRQHandler
B SDADC3_IRQHandler
- PUBWEAK COMP1_2_IRQHandler
+ PUBWEAK COMP_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
-COMP1_2_IRQHandler
- B COMP1_2_IRQHandler
+COMP_IRQHandler
+ B COMP_IRQHandler
PUBWEAK TIM19_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)