forked from mirrors/qmk_userspace
		
	Further tidy up of STM32 eeprom emulation (#14591)
This commit is contained in:
		
					parent
					
						
							
								5c6a8f599f
							
						
					
				
			
			
				commit
				
					
						83e978da1f
					
				
			
		
					 3 changed files with 10 additions and 38 deletions
				
			
		| 
						 | 
					@ -153,51 +153,18 @@ else
 | 
				
			||||||
    ifeq ($(PLATFORM),AVR)
 | 
					    ifeq ($(PLATFORM),AVR)
 | 
				
			||||||
      # Automatically provided by avr-libc, nothing required
 | 
					      # Automatically provided by avr-libc, nothing required
 | 
				
			||||||
    else ifeq ($(PLATFORM),CHIBIOS)
 | 
					    else ifeq ($(PLATFORM),CHIBIOS)
 | 
				
			||||||
      ifeq ($(MCU_SERIES), STM32F3xx)
 | 
					      ifneq ($(filter STM32F3xx_% STM32F1xx_% %_STM32F401xC %_STM32F401xE %_STM32F405xG %_STM32F411xE %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
 | 
				
			||||||
        OPT_DEFS += -DEEPROM_DRIVER
 | 
					        OPT_DEFS += -DEEPROM_DRIVER
 | 
				
			||||||
        COMMON_VPATH += $(DRIVER_PATH)/eeprom
 | 
					        COMMON_VPATH += $(DRIVER_PATH)/eeprom
 | 
				
			||||||
        SRC += eeprom_driver.c
 | 
					        SRC += eeprom_driver.c
 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
 | 
					        SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
 | 
					        SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
 | 
				
			||||||
        OPT_DEFS += -DEEPROM_EMU_STM32F303xC
 | 
					 | 
				
			||||||
      else ifeq ($(MCU_SERIES), STM32F1xx)
 | 
					 | 
				
			||||||
        OPT_DEFS += -DEEPROM_DRIVER
 | 
					 | 
				
			||||||
        COMMON_VPATH += $(DRIVER_PATH)/eeprom
 | 
					 | 
				
			||||||
        SRC += eeprom_driver.c
 | 
					 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
 | 
					 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
 | 
					 | 
				
			||||||
        OPT_DEFS += -DEEPROM_EMU_STM32F103xB
 | 
					 | 
				
			||||||
      else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F072xB)
 | 
					 | 
				
			||||||
        OPT_DEFS += -DEEPROM_DRIVER
 | 
					 | 
				
			||||||
        COMMON_VPATH += $(DRIVER_PATH)/eeprom
 | 
					 | 
				
			||||||
        SRC += eeprom_driver.c
 | 
					 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
 | 
					 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
 | 
					 | 
				
			||||||
        OPT_DEFS += -DEEPROM_EMU_STM32F072xB
 | 
					 | 
				
			||||||
      else ifneq ($(filter $(MCU_SERIES)_$(MCU_LDSCRIPT),STM32F4xx_STM32F401xC STM32F4xx_STM32F401xE STM32F4xx_STM32F411xE STM32F4xx_STM32F405xG),)
 | 
					 | 
				
			||||||
        OPT_DEFS += -DEEPROM_DRIVER
 | 
					 | 
				
			||||||
        COMMON_VPATH += $(DRIVER_PATH)/eeprom
 | 
					 | 
				
			||||||
        SRC += eeprom_driver.c
 | 
					 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
 | 
					 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
 | 
					 | 
				
			||||||
        OPT_DEFS += -DEEPROM_EMU_STM32F401xC
 | 
					 | 
				
			||||||
      else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F042x6)
 | 
					 | 
				
			||||||
        # Stack sizes: Since this chip has limited RAM capacity, the stack area needs to be reduced.
 | 
					 | 
				
			||||||
        # This ensures that the EEPROM page buffer fits into RAM
 | 
					 | 
				
			||||||
        USE_PROCESS_STACKSIZE = 0x600
 | 
					 | 
				
			||||||
        USE_EXCEPTIONS_STACKSIZE = 0x300
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        OPT_DEFS += -DEEPROM_DRIVER
 | 
					 | 
				
			||||||
        COMMON_VPATH += $(DRIVER_PATH)/eeprom
 | 
					 | 
				
			||||||
        SRC += eeprom_driver.c
 | 
					 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
 | 
					 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
 | 
					 | 
				
			||||||
        OPT_DEFS += -DEEPROM_EMU_STM32F042x6
 | 
					 | 
				
			||||||
      else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
 | 
					      else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
 | 
				
			||||||
        OPT_DEFS += -DEEPROM_DRIVER
 | 
					        OPT_DEFS += -DEEPROM_DRIVER
 | 
				
			||||||
        COMMON_VPATH += $(DRIVER_PATH)/eeprom
 | 
					        COMMON_VPATH += $(DRIVER_PATH)/eeprom
 | 
				
			||||||
        COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
 | 
					        COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
 | 
				
			||||||
        SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
 | 
					        SRC += eeprom_driver.c
 | 
				
			||||||
 | 
					        SRC += eeprom_stm32_L0_L1.c
 | 
				
			||||||
      else
 | 
					      else
 | 
				
			||||||
        # This will effectively work the same as "transient" if not supported by the chip
 | 
					        # This will effectively work the same as "transient" if not supported by the chip
 | 
				
			||||||
        SRC += $(PLATFORM_COMMON_DIR)/eeprom_teensy.c
 | 
					        SRC += $(PLATFORM_COMMON_DIR)/eeprom_teensy.c
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -138,6 +138,11 @@ ifneq ($(findstring STM32F042, $(MCU)),)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # UF2 settings
 | 
					  # UF2 settings
 | 
				
			||||||
  UF2_FAMILY ?= STM32F0
 | 
					  UF2_FAMILY ?= STM32F0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Stack sizes: Since this chip has limited RAM capacity, the stack area needs to be reduced.
 | 
				
			||||||
 | 
					  # This ensures that the EEPROM page buffer fits into RAM
 | 
				
			||||||
 | 
					  USE_PROCESS_STACKSIZE = 0x600
 | 
				
			||||||
 | 
					  USE_EXCEPTIONS_STACKSIZE = 0x300
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifneq ($(findstring STM32F072, $(MCU)),)
 | 
					ifneq ($(findstring STM32F072, $(MCU)),)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,11 +19,11 @@
 | 
				
			||||||
#include <hal.h>
 | 
					#include <hal.h>
 | 
				
			||||||
#include "flash_stm32.h"
 | 
					#include "flash_stm32.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(EEPROM_EMU_STM32F103xB)
 | 
					#if defined(STM32F1XX)
 | 
				
			||||||
#    define FLASH_SR_WRPERR FLASH_SR_WRPRTERR
 | 
					#    define FLASH_SR_WRPERR FLASH_SR_WRPRTERR
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(EEPROM_EMU_STM32F401xC)
 | 
					#if defined(STM32F4XX)
 | 
				
			||||||
#    define FLASH_SR_PGERR (FLASH_SR_PGSERR | FLASH_SR_PGPERR | FLASH_SR_PGAERR)
 | 
					#    define FLASH_SR_PGERR (FLASH_SR_PGSERR | FLASH_SR_PGPERR | FLASH_SR_PGAERR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#    define FLASH_KEY1 0x45670123U
 | 
					#    define FLASH_KEY1 0x45670123U
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue