diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2015-08-27 12:01:51 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2015-08-27 12:01:51 +0000 |
commit | 40af275be262e19419af9d32bc68f811c8388e2b (patch) | |
tree | af814bb367cf302051e1b4e867d18cabcf0d81bd | |
parent | e4df1ff09dbf2f53accb9f93eacc4c9db15a4c6f (diff) | |
download | ChibiOS-40af275be262e19419af9d32bc68f811c8388e2b.tar.gz ChibiOS-40af275be262e19419af9d32bc68f811c8388e2b.tar.bz2 ChibiOS-40af275be262e19419af9d32bc68f811c8388e2b.zip |
Fixed bug #636.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8248 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | demos/STM32/RT-STM32L152RE-NUCLEO/chconf.h | 4 | ||||
-rw-r--r-- | demos/STM32/RT-STM32L152RE-NUCLEO/mcuconf.h | 14 | ||||
-rw-r--r-- | os/hal/ports/STM32/STM32L1xx/stm32_isr.h | 10 | ||||
-rw-r--r-- | os/hal/ports/STM32/STM32L1xx/stm32_rcc.h | 75 | ||||
-rw-r--r-- | readme.txt | 4 |
5 files changed, 103 insertions, 4 deletions
diff --git a/demos/STM32/RT-STM32L152RE-NUCLEO/chconf.h b/demos/STM32/RT-STM32L152RE-NUCLEO/chconf.h index 8c745aabf..7d9906294 100644 --- a/demos/STM32/RT-STM32L152RE-NUCLEO/chconf.h +++ b/demos/STM32/RT-STM32L152RE-NUCLEO/chconf.h @@ -39,14 +39,14 @@ * @brief System time counter resolution.
* @note Allowed values are 16 or 32 bits.
*/
-#define CH_CFG_ST_RESOLUTION 16
+#define CH_CFG_ST_RESOLUTION 32
/**
* @brief System tick frequency.
* @details Frequency of the system timer that drives the system ticks. This
* setting also defines the system tick time unit.
*/
-#define CH_CFG_ST_FREQUENCY 1000
+#define CH_CFG_ST_FREQUENCY 10000
/**
* @brief Time delta constant for the tick-less mode.
diff --git a/demos/STM32/RT-STM32L152RE-NUCLEO/mcuconf.h b/demos/STM32/RT-STM32L152RE-NUCLEO/mcuconf.h index 66daf7d12..f3f8fbff8 100644 --- a/demos/STM32/RT-STM32L152RE-NUCLEO/mcuconf.h +++ b/demos/STM32/RT-STM32L152RE-NUCLEO/mcuconf.h @@ -90,9 +90,21 @@ #define STM32_GPT_USE_TIM2 FALSE
#define STM32_GPT_USE_TIM3 FALSE
#define STM32_GPT_USE_TIM4 FALSE
+#define STM32_GPT_USE_TIM5 FALSE
+#define STM32_GPT_USE_TIM6 FALSE
+#define STM32_GPT_USE_TIM7 FALSE
+#define STM32_GPT_USE_TIM9 FALSE
+#define STM32_GPT_USE_TIM10 FALSE
+#define STM32_GPT_USE_TIM11 FALSE
#define STM32_GPT_TIM2_IRQ_PRIORITY 7
#define STM32_GPT_TIM3_IRQ_PRIORITY 7
#define STM32_GPT_TIM4_IRQ_PRIORITY 7
+#define STM32_GPT_TIM5_IRQ_PRIORITY 7
+#define STM32_GPT_TIM6_IRQ_PRIORITY 7
+#define STM32_GPT_TIM7_IRQ_PRIORITY 7
+#define STM32_GPT_TIM9_IRQ_PRIORITY 7
+#define STM32_GPT_TIM10_IRQ_PRIORITY 7
+#define STM32_GPT_TIM11_IRQ_PRIORITY 7
/*
* I2C driver system settings.
@@ -155,7 +167,7 @@ * ST driver system settings.
*/
#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
+#define STM32_ST_USE_TIMER 5
/*
* UART driver system settings.
diff --git a/os/hal/ports/STM32/STM32L1xx/stm32_isr.h b/os/hal/ports/STM32/STM32L1xx/stm32_isr.h index 16fd83c9c..290632e28 100644 --- a/os/hal/ports/STM32/STM32L1xx/stm32_isr.h +++ b/os/hal/ports/STM32/STM32L1xx/stm32_isr.h @@ -52,12 +52,22 @@ #define STM32_TIM2_HANDLER VectorB0
#define STM32_TIM3_HANDLER VectorB4
#define STM32_TIM4_HANDLER VectorB8
+#define STM32_TIM5_HANDLER VectorF8
+#define STM32_TIM6_HANDLER VectorEC
+#define STM32_TIM7_HANDLER VectorF0
#define STM32_TIM9_HANDLER VectorA4
+#define STM32_TIM10_HANDLER VectorA8
+#define STM32_TIM11_HANDLER VectorAC
#define STM32_TIM2_NUMBER 28
#define STM32_TIM3_NUMBER 29
#define STM32_TIM4_NUMBER 30
+#define STM32_TIM5_NUMBER 46
+#define STM32_TIM6_NUMBER 43
+#define STM32_TIM7_NUMBER 44
#define STM32_TIM9_NUMBER 25
+#define STM32_TIM10_NUMBER 26
+#define STM32_TIM11_NUMBER 27
/*
* USART units.
diff --git a/os/hal/ports/STM32/STM32L1xx/stm32_rcc.h b/os/hal/ports/STM32/STM32L1xx/stm32_rcc.h index 883712ea2..b1832a7ac 100644 --- a/os/hal/ports/STM32/STM32L1xx/stm32_rcc.h +++ b/os/hal/ports/STM32/STM32L1xx/stm32_rcc.h @@ -509,6 +509,81 @@ #define rccResetTIM4() rccResetAPB1(RCC_APB1RSTR_TIM4RST)
/**
+ * @brief Enables the TIM5 peripheral clock.
+ *
+ * @param[in] lp low power enable flag
+ *
+ * @api
+ */
+#define rccEnableTIM5(lp) rccEnableAPB1(RCC_APB1ENR_TIM5EN, lp)
+
+/**
+ * @brief Disables the TIM5 peripheral clock.
+ *
+ * @param[in] lp low power enable flag
+ *
+ * @api
+ */
+#define rccDisableTIM5(lp) rccDisableAPB1(RCC_APB1ENR_TIM5EN, lp)
+
+/**
+ * @brief Resets the TIM5 peripheral.
+ *
+ * @api
+ */
+#define rccResetTIM5() rccResetAPB1(RCC_APB1RSTR_TIM5RST)
+
+/**
+ * @brief Enables the TIM6 peripheral clock.
+ *
+ * @param[in] lp low power enable flag
+ *
+ * @api
+ */
+#define rccEnableTIM6(lp) rccEnableAPB1(RCC_APB1ENR_TIM6EN, lp)
+
+/**
+ * @brief Disables the TIM6 peripheral clock.
+ *
+ * @param[in] lp low power enable flag
+ *
+ * @api
+ */
+#define rccDisableTIM6(lp) rccDisableAPB1(RCC_APB1ENR_TIM6EN, lp)
+
+/**
+ * @brief Resets the TIM6 peripheral.
+ *
+ * @api
+ */
+#define rccResetTIM6() rccResetAPB1(RCC_APB1RSTR_TIM6RST)
+
+/**
+ * @brief Enables the TIM7 peripheral clock.
+ *
+ * @param[in] lp low power enable flag
+ *
+ * @api
+ */
+#define rccEnableTIM7(lp) rccEnableAPB1(RCC_APB1ENR_TIM7EN, lp)
+
+/**
+ * @brief Disables the TIM7 peripheral clock.
+ *
+ * @param[in] lp low power enable flag
+ *
+ * @api
+ */
+#define rccDisableTIM7(lp) rccDisableAPB1(RCC_APB1ENR_TIM7EN, lp)
+
+/**
+ * @brief Resets the TIM7 peripheral.
+ *
+ * @api
+ */
+#define rccResetTIM7() rccResetAPB1(RCC_APB1RSTR_TIM7RST)
+
+/**
* @brief Enables the TIM9 peripheral clock.
* @note The @p lp parameter is ignored in this family.
*
diff --git a/readme.txt b/readme.txt index 9bb82ef2a..bd34066f6 100644 --- a/readme.txt +++ b/readme.txt @@ -96,7 +96,9 @@ for STM32F030xC, STM32F070x6, STM32F070xB devices.
- HAL: Fixed wrong DMA assignment for I2C1 in STM32F302xC registry (bug #637)
(backported to 3.0.2).
-- VAR: Fixed CRT0_CALL_DESTRUCTORS not utilised in crt0_v7m.s (bug #635)
+- HAL: Fixed missing timers 5, 6, 7, 10 & 11 from STM32L1 HAL port (bug #636)
+ (backported to 3.0.2).
+- VAR: Fixed CRT0_CALL_DESTRUCTORS not utilized in crt0_v7m.s (bug #635)
(backported to 3.0.2).
- HAL: Fixed wrong ld file in STM32F072xB USB CDC demo (bug #634)(backported
to 3.0.2).
|