From ed72edd29fda227a14c7392d2e8eee2f5a034ab6 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sun, 27 May 2018 07:59:19 +0000 Subject: Fixed bug #952. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12057 110e8d01-0319-4d1e-a829-52ad28d1bb01 --- os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h | 16 ++++++++++------ os/hal/ports/STM32/STM32F0xx/hal_lld.h | 9 ++++++--- os/hal/ports/STM32/STM32F0xx/stm32_registry.h | 5 +++++ readme.txt | 2 ++ 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h index 3dcb1b356..a5ffdcfb5 100644 --- a/os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h @@ -46,12 +46,16 @@ /* If the device type is not externally defined, for example from the Makefile, then a file named board.h is included. This file must contain a device definition compatible with the vendor include file.*/ -#if !defined (STM32F030x6) && !defined (STM32F030x8) && \ - !defined (STM32F031x6) && !defined (STM32F038xx) && \ - !defined (STM32F042x6) && !defined (STM32F048xx) && \ - !defined (STM32F051x8) && !defined (STM32F058xx) && \ - !defined (STM32F071xB) && !defined (STM32F072xB) && \ - !defined (STM32F078xx) +#if !defined (STM32F030x4) && !defined (STM32F030x6) && \ + !defined (STM32F030x8) && !defined (STM32F030xC) && \ + !defined (STM32F070x6) && !defined (STM32F070xB) && \ + !defined (STM32F031x6) && !defined (STM32F051x8) && \ + !defined (STM32F071xB) && !defined (STM32F091xC) && \ + !defined (STM32F042x6) && !defined (STM32F072xB) && \ + !defined (STM32F038xx) && !defined (STM32F048xx) && \ + !defined (STM32F058xx) && !defined (STM32F078xx) && \ + !defined (STM32F098xx) \ + #include "board.h" #endif diff --git a/os/hal/ports/STM32/STM32F0xx/hal_lld.h b/os/hal/ports/STM32/STM32F0xx/hal_lld.h index 7b01642dc..e018cc38e 100644 --- a/os/hal/ports/STM32/STM32F0xx/hal_lld.h +++ b/os/hal/ports/STM32/STM32F0xx/hal_lld.h @@ -26,8 +26,8 @@ * - STM32_HSE_BYPASS (optionally). * . * One of the following macros must also be defined: - * - STM32F030x6, STM32F030x8, STM32F030xC, STM32F070x6, - * STM32F070xB for Value Line devices. + * - STM32F030x4, STM32F030x6, STM32F030x8, STM32F030xC, + * STM32F070x6, STM32F070xB for Value Line devices. * - STM32F031x6, STM32F051x8, STM32F071xB, STM32F091xC * for Access Line devices. * - STM32F042x6, STM32F072xB for USB Line devices. @@ -55,7 +55,10 @@ * @name Platform identification macros * @{ */ -#if defined(STM32F030x6) || defined(__DOXYGEN__) +#if defined(STM32F030x4) || defined(__DOXYGEN__) +#define PLATFORM_NAME "STM32F030x4 Entry Level Value Line devices" + +#elif defined(STM32F030x6) #define PLATFORM_NAME "STM32F030x6 Entry Level Value Line devices" #elif defined(STM32F030x8) diff --git a/os/hal/ports/STM32/STM32F0xx/stm32_registry.h b/os/hal/ports/STM32/STM32F0xx/stm32_registry.h index 1bc601d47..ee9e90dc5 100644 --- a/os/hal/ports/STM32/STM32F0xx/stm32_registry.h +++ b/os/hal/ports/STM32/STM32F0xx/stm32_registry.h @@ -121,8 +121,13 @@ /* GPIO attributes.*/ #define STM32_HAS_GPIOA TRUE #define STM32_HAS_GPIOB TRUE +#if !defined(STM32F030x4) #define STM32_HAS_GPIOC TRUE #define STM32_HAS_GPIOD TRUE +#else +#define STM32_HAS_GPIOC FALSE +#define STM32_HAS_GPIOD FALSE +#endif #define STM32_HAS_GPIOE FALSE #define STM32_HAS_GPIOF TRUE #define STM32_HAS_GPIOG FALSE diff --git a/readme.txt b/readme.txt index 161cc4c44..b9a2f9d5f 100644 --- a/readme.txt +++ b/readme.txt @@ -126,6 +126,8 @@ - EX: Updated LIS302DL to 1.1.0 (backported to 18.2.1). - EX: Updated LPS25H to 1.1.0 (backported to 18.2.1). - EX: Updated LSM303DLHC to 1.1.0 (backported to 18.2.1). +- HAL: Fixed wrong registry entries for STM32F030x4 (bug #952)(backported + to 18.2.2). - HAL: Fixed Invalid divider settings in Serial and UART STM32 drivers when USART_CR1_OVER8 is specified (bug #951)(backported to 18.2.2 and 17.6.5). -- cgit v1.2.3