eeprom_stm32: implement high density wear leveling (#12567)
* eeprom_stm32: implement wear leveling Update EECONFIG_MAGIC_NUMBER eeprom_stm32: check emulated eeprom size is large enough * eeprom_stm32: Increasing simulated EEPROM density on stm32 * Adding utility script to decode emulated eeprom * Adding unit tests * Applying qmk cformat changes * cleaned up flash mocking * Fix for stm32eeprom_parser.py checking via signature with wrong base * Fix for nk65 keyboard Co-authored-by: Ilya Zhuravlev <whatever@xyz.is> Co-authored-by: zvecr <git@zvecr.com>
This commit is contained in:
		
							parent
							
								
									2481e109a0
								
							
						
					
					
						commit
						e756a21636
					
				
					 12 changed files with 1549 additions and 197 deletions
				
			
		
							
								
								
									
										23
									
								
								tmk_core/common/test/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								tmk_core/common/test/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
eeprom_stm32_DEFS  := -DFLASH_STM32_MOCKED -DNO_PRINT -DFEE_FLASH_BASE=FlashBuf
 | 
			
		||||
eeprom_stm32_tiny_DEFS := $(eeprom_stm32_DEFS) \
 | 
			
		||||
	-DFEE_MCU_FLASH_SIZE=1 \
 | 
			
		||||
	-DMOCK_FLASH_SIZE=1024 \
 | 
			
		||||
	-DFEE_PAGE_SIZE=512 \
 | 
			
		||||
	-DFEE_DENSITY_PAGES=1
 | 
			
		||||
eeprom_stm32_large_DEFS := $(eeprom_stm32_DEFS) \
 | 
			
		||||
	-DFEE_MCU_FLASH_SIZE=64 \
 | 
			
		||||
	-DMOCK_FLASH_SIZE=65536 \
 | 
			
		||||
	-DFEE_PAGE_SIZE=2048 \
 | 
			
		||||
	-DFEE_DENSITY_PAGES=16
 | 
			
		||||
 | 
			
		||||
eeprom_stm32_INC := \
 | 
			
		||||
	$(TMK_PATH)/common/chibios/
 | 
			
		||||
eeprom_stm32_tiny_INC := $(eeprom_stm32_INC)
 | 
			
		||||
eeprom_stm32_large_INC := $(eeprom_stm32_INC)
 | 
			
		||||
 | 
			
		||||
eeprom_stm32_SRC := \
 | 
			
		||||
	$(TMK_PATH)/common/test/eeprom_stm32_tests.cpp \
 | 
			
		||||
	$(TMK_PATH)/common/test/flash_stm32_mock.c \
 | 
			
		||||
	$(TMK_PATH)/common/chibios/eeprom_stm32.c
 | 
			
		||||
eeprom_stm32_tiny_SRC := $(eeprom_stm32_SRC)
 | 
			
		||||
eeprom_stm32_large_SRC := $(eeprom_stm32_SRC)
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue