diff --git a/os/ext/CMSIS/ST/stm32f10x.h b/os/ext/CMSIS/ST/stm32f10x.h index f8471f6c6..8ca3fe29b 100644 --- a/os/ext/CMSIS/ST/stm32f10x.h +++ b/os/ext/CMSIS/ST/stm32f10x.h @@ -93,9 +93,7 @@ */ #if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL) -/* CHIBIOS FIX */ -#include "board.h" -// #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)" + #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)" #endif #if !defined USE_STDPERIPH_DRIVER diff --git a/os/ext/CMSIS/ST/stm32f37x.h b/os/ext/CMSIS/ST/stm32f37x.h index fa281aa7a..33abf3b16 100644 --- a/os/ext/CMSIS/ST/stm32f37x.h +++ b/os/ext/CMSIS/ST/stm32f37x.h @@ -71,9 +71,7 @@ */ #if !defined (STM32F37X) -/* CHIBIOS FIX */ -#include "board.h" -// #error "Please select first the target STM32F37X device used in your application (in stm32f37x.h file)" + #error "Please select first the target STM32F37X device used in your application (in stm32f37x.h file)" #endif #if !defined (USE_STDPERIPH_DRIVER) diff --git a/os/ext/CMSIS/ST/stm32f4xx.h b/os/ext/CMSIS/ST/stm32f4xx.h index 5d35196f3..d98436814 100644 --- a/os/ext/CMSIS/ST/stm32f4xx.h +++ b/os/ext/CMSIS/ST/stm32f4xx.h @@ -76,9 +76,7 @@ */ #if !defined (STM32F4XX) && !defined (STM32F40XX) && !defined (STM32F427X) -/* CHIBIOS FIX */ -#include "board.h" -// #error "Please select first the target STM32F4xx device used in your application (in stm32f4xx.h file)" + #error "Please select first the target STM32F4xx device used in your application (in stm32f4xx.h file)" #endif #if !defined (USE_STDPERIPH_DRIVER) diff --git a/os/ext/CMSIS/ST/stm32l1xx.h b/os/ext/CMSIS/ST/stm32l1xx.h index da2876851..bd77670ba 100644 --- a/os/ext/CMSIS/ST/stm32l1xx.h +++ b/os/ext/CMSIS/ST/stm32l1xx.h @@ -83,9 +83,7 @@ */ #if !defined (STM32L1XX_MD) && !defined (STM32L1XX_MDP) && !defined (STM32L1XX_HD) -/* CHIBIOS FIX */ -#include "board.h" -// #error "Please select first the target STM32L1xx device used in your application (in stm32l1xx.h file)" + #error "Please select first the target STM32L1xx device used in your application (in stm32l1xx.h file)" #endif #if !defined USE_STDPERIPH_DRIVER diff --git a/os/hal/ports/STM32F0xx/hal_lld.h b/os/hal/ports/STM32F0xx/hal_lld.h index 0a47e1f38..9ab7f08dd 100644 --- a/os/hal/ports/STM32F0xx/hal_lld.h +++ b/os/hal/ports/STM32F0xx/hal_lld.h @@ -26,7 +26,8 @@ * - STM32_HSE_BYPASS (optionally). * . * One of the following macros must also be defined: - * - STM32F0XX for Entry Level devices. + * - STM32F0XX_LD for Low Density Entry Level devices. + * - STM32F0XX_MD for Medium Density Entry Level devices. * . * * @addtogroup HAL diff --git a/os/hal/ports/STM32F1xx/hal_lld.h b/os/hal/ports/STM32F1xx/hal_lld.h index 969f96474..7b34b2aab 100644 --- a/os/hal/ports/STM32F1xx/hal_lld.h +++ b/os/hal/ports/STM32F1xx/hal_lld.h @@ -26,6 +26,7 @@ * One of the following macros must also be defined: * - STM32F10X_LD_VL for Value Line Low Density devices. * - STM32F10X_MD_VL for Value Line Medium Density devices. + * - STM32F10X_HD_VL for Value Line High Density devices. * - STM32F10X_LD for Performance Low Density devices. * - STM32F10X_MD for Performance Medium Density devices. * - STM32F10X_HD for Performance High Density devices. diff --git a/os/hal/ports/STM32F4xx/hal_lld.h b/os/hal/ports/STM32F4xx/hal_lld.h index 246ee2237..076c621b7 100644 --- a/os/hal/ports/STM32F4xx/hal_lld.h +++ b/os/hal/ports/STM32F4xx/hal_lld.h @@ -26,7 +26,8 @@ * . * One of the following macros must also be defined: * - STM32F2XX for High-performance STM32 F-2 devices. - * - STM32F4XX for High-performance STM32 F-4 devices. + * - STM32F40XX for High-performance STM32 F-4 devices. + * - STM32F42XX for High-performance STM32 F-4 devices. * . * * @addtogroup HAL @@ -51,18 +52,20 @@ * @name Platform identification * @{ */ -#if defined(STM32F4XX) || defined(__DOXYGEN__) -#define PLATFORM_NAME "STM32F4xx High Performance" -#else /* !defined(STM32F4XX) */ +#if defined(STM32F40XX) || defined(__DOXYGEN__) +#define PLATFORM_NAME "STM32F40x/STM32F41x High Performance" +#if defined(STM32F42XX) +#define PLATFORM_NAME "STM32F42x/STM32F43x High Performance" +#else /* !defined(STM32F40XX) */ #define PLATFORM_NAME "STM32F2xx High Performance" -#endif /* !defined(STM32F4XX) */ +#endif /* !defined(STM32F40XX) */ /** @} */ /** * @name Absolute Maximum Ratings * @{ */ -#if defined(STM32F4XX) || defined(__DOXYGEN__) +#if defined(STM32F40XX) || defined(__DOXYGEN__) /** * @brief Maximum HSE clock frequency. */ @@ -128,7 +131,7 @@ */ #define STM32_SPII2S_MAX 37500000 -#else /* !defined(STM32F4XX) */ +#else /* !defined(STM32F40XX) */ #define STM32_SYSCLK_MAX 120000000 #define STM32_HSECLK_MAX 26000000 #define STM32_HSECLK_MIN 1000000 @@ -143,7 +146,7 @@ #define STM32_PCLK1_MAX 30000000 #define STM32_PCLK2_MAX 60000000 #define STM32_SPII2S_MAX 37500000 -#endif /* !defined(STM32F4XX) */ +#endif /* !defined(STM32F40XX) */ /** @} */ /** @@ -158,7 +161,7 @@ * @name PWR_CR register bits definitions * @{ */ -#if defined(STM32F4XX) || defined(__DOXYGEN__) +#if defined(STM32F40XX) || defined(__DOXYGEN__) #define STM32_VOS_MASK (1 << 14) /**< Core voltage mask. */ #define STM32_VOS_LOW (0 << 14) /**< Core voltage set to low. */ #define STM32_VOS_HIGH (1 << 14) /**< Core voltage set to high. */ @@ -354,7 +357,7 @@ #define STM32_SW STM32_SW_PLL #endif -#if defined(STM32F4XX) || defined(__DOXYGEN__) +#if defined(STM32F40XX) || defined(__DOXYGEN__) /** * @brief Core voltage selection. * @note This setting affects all the performance and clock related @@ -416,7 +419,7 @@ #define STM32_PLLQ_VALUE 7 #endif -#else /* !defined(STM32F4XX) */ +#else /* !defined(STM32F40XX) */ /** * @brief Clock source for the PLLs. * @note This setting has only effect if the PLL is selected as the @@ -467,7 +470,7 @@ #if !defined(STM32_PLLQ_VALUE) || defined(__DOXYGEN__) #define STM32_PLLQ_VALUE 5 #endif -#endif /* !defined(STM32F4XX) */ +#endif /* !defined(STM32F40XX) */ /** * @brief AHB prescaler value. @@ -564,7 +567,7 @@ /* Derived constants and error checks. */ /*===========================================================================*/ -#if defined(STM32F4XX) || defined(__DOXYGEN__) +#if defined(STM32F40XX) || defined(__DOXYGEN__) /* * Configuration-related checks. */ @@ -582,20 +585,20 @@ #define STM32_SYSCLK_MAX 144000000 #endif -#else /* !defined(STM32F4XX) */ +#else /* !defined(STM32F40XX) */ /* * Configuration-related checks. */ #if !defined(STM32F2xx_MCUCONF) #error "Using a wrong mcuconf.h file, STM32F2xx_MCUCONF not defined" #endif -#endif /* !defined(STM32F4XX) */ +#endif /* !defined(STM32F40XX) */ /** * @brief Maximum frequency thresholds and wait states for flash access. * @note The values are valid for 2.7V to 3.6V supply range. */ -#if defined(STM32F4XX) || defined(__DOXYGEN__) +#if defined(STM32F40XX) || defined(__DOXYGEN__) #if ((STM32_VDD >= 270) && (STM32_VDD <= 360)) || defined(__DOXYGEN__) #define STM32_0WS_THRESHOLD 30000000 #define STM32_1WS_THRESHOLD 60000000 @@ -636,7 +639,7 @@ #error "invalid VDD voltage specified" #endif -#else /* !defined(STM32F4XX) */ +#else /* !defined(STM32F40XX) */ #if ((STM32_VDD >= 270) && (STM32_VDD <= 360)) || defined(__DOXYGEN__) #define STM32_0WS_THRESHOLD 30000000 #define STM32_1WS_THRESHOLD 60000000 @@ -676,7 +679,7 @@ #else #error "invalid VDD voltage specified" #endif -#endif /* !defined(STM32F4XX) */ +#endif /* !defined(STM32F40XX) */ /* * HSI related checks. diff --git a/os/hal/ports/STM32L1xx/hal_lld.h b/os/hal/ports/STM32L1xx/hal_lld.h index 3abc9a730..11998db9a 100644 --- a/os/hal/ports/STM32L1xx/hal_lld.h +++ b/os/hal/ports/STM32L1xx/hal_lld.h @@ -25,6 +25,8 @@ * . * One of the following macros must also be defined: * - STM32L1XX_MD for Ultra Low Power Medium-density devices. + * - STM32L1XX_MDP for Ultra Low Power Medium-density Plus devices. + * - STM32L1XX_HD for Ultra Low Power Medium-density devices. * . * * @addtogroup HAL @@ -359,6 +361,13 @@ #error "Using a wrong mcuconf.h file, STM32L1xx_MCUCONF not defined" #endif +/* + * MCU variant check. + */ +#if defined(STM32L1XX_MDP) || defined(STM32L1XX_HD) +#error "unsupported STM32L1XX variant" +#endif + /* Voltage related limits.*/ #if (STM32_VOS == STM32_VOS_1P8) || defined(__DOXYGEN__) /**