aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h16
-rw-r--r--os/hal/ports/STM32/STM32F0xx/hal_lld.h9
-rw-r--r--os/hal/ports/STM32/STM32F0xx/stm32_registry.h5
-rw-r--r--readme.txt2
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).