Skip to content

Commit d720792

Browse files
author
Tauno Magnusson
committed
G431 only has 1 Flash Bank. Code is written with the assumption all G4 devices has 2 Flash Banks. Fix: Commented out SYSCFG_MEMRMP_FB_MODE since stm32g431KB only has 1 Flash Bank. flash_api.c checks for this #define and if it's set understands it as if the chip has 2 flash banks. STM32G4xx_HAL_Driver/stm32g4xx_hal.c also needs to check for this #define since it has flash bank swapping commands that are called in the startup sequence. Fix: Check for SYSCFG_MEMRMP_FB_MODE in Enable/Disable Flash bank swapping.
1 parent 98e4882 commit d720792

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

targets/TARGET_STM/TARGET_STM32G4/STM32Cube_FW/CMSIS/stm32g431xx.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9604,9 +9604,10 @@ typedef struct
96049604
#define SYSCFG_MEMRMP_MEM_MODE_1 (0x2UL << SYSCFG_MEMRMP_MEM_MODE_Pos) /*!< 0x00000002 */
96059605
#define SYSCFG_MEMRMP_MEM_MODE_2 (0x4UL << SYSCFG_MEMRMP_MEM_MODE_Pos) /*!< 0x00000004 */
96069606

9607-
#define SYSCFG_MEMRMP_FB_MODE_Pos (8U)
9608-
#define SYSCFG_MEMRMP_FB_MODE_Msk (0x1UL << SYSCFG_MEMRMP_FB_MODE_Pos) /*!< 0x00000100 */
9609-
#define SYSCFG_MEMRMP_FB_MODE SYSCFG_MEMRMP_FB_MODE_Msk /*!< User Flash Bank mode selection */
9607+
// Commented out because G431KB only has one Flash Bank
9608+
// #define SYSCFG_MEMRMP_FB_MODE_Pos (8U)
9609+
// #define SYSCFG_MEMRMP_FB_MODE_Msk (0x1UL << SYSCFG_MEMRMP_FB_MODE_Pos) /*!< 0x00000100 */
9610+
// #define SYSCFG_MEMRMP_FB_MODE SYSCFG_MEMRMP_FB_MODE_Msk /*!< User Flash Bank mode selection */
96109611

96119612
/****************** Bit definition for SYSCFG_CFGR1 register ******************/
96129613
#define SYSCFG_CFGR1_BOOSTEN_Pos (8U)

targets/TARGET_STM/TARGET_STM32G4/STM32Cube_FW/STM32G4xx_HAL_Driver/stm32g4xx_hal.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,9 @@ void HAL_SYSCFG_CCMSRAMErase(void)
595595
*/
596596
void HAL_SYSCFG_EnableMemorySwappingBank(void)
597597
{
598+
#if defined(SYSCFG_MEMRMP_FB_MODE)
598599
SET_BIT(SYSCFG->MEMRMP, SYSCFG_MEMRMP_FB_MODE);
600+
#endif
599601
}
600602

601603
/**
@@ -610,7 +612,9 @@ void HAL_SYSCFG_EnableMemorySwappingBank(void)
610612
*/
611613
void HAL_SYSCFG_DisableMemorySwappingBank(void)
612614
{
615+
#if defined(SYSCFG_MEMRMP_FB_MODE)
613616
CLEAR_BIT(SYSCFG->MEMRMP, SYSCFG_MEMRMP_FB_MODE);
617+
#endif
614618
}
615619

616620
#if defined(VREFBUF)

0 commit comments

Comments
 (0)