Skip to content

Commit

Permalink
Move FLASH_PAGE_SIZE definition to CPU specific target.h files
Browse files Browse the repository at this point in the history
  • Loading branch information
SteveCEvans committed Feb 20, 2023
1 parent 9ffbc5d commit f592c86
Show file tree
Hide file tree
Showing 12 changed files with 31 additions and 42 deletions.
43 changes: 1 addition & 42 deletions src/main/config/config_streamer.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,49 +36,8 @@ uint8_t eepromData[EEPROM_SIZE];
#endif


#if (defined(STM32H750xx) || defined(STM32H730xx)) && !(defined(CONFIG_IN_EXTERNAL_FLASH) || defined(CONFIG_IN_MEMORY_MAPPED_FLASH) || defined(CONFIG_IN_RAM) || defined(CONFIG_IN_SDCARD))
#error "The configured MCU only has one flash page which contains the bootloader, no spare flash pages available, use external storage for persistent config or ram for target testing"
#endif
// @todo this is not strictly correct for F4/F7, where sector sizes are variable
#if !defined(FLASH_PAGE_SIZE)
// F4
#if defined(STM32F40_41xxx)
# define FLASH_PAGE_SIZE ((uint32_t)0x4000) // 16K sectors
# elif defined(STM32F411xE)
# define FLASH_PAGE_SIZE ((uint32_t)0x4000)
# elif defined(STM32F427_437xx)
# define FLASH_PAGE_SIZE ((uint32_t)0x4000)
# elif defined(STM32F446xx)
# define FLASH_PAGE_SIZE ((uint32_t)0x4000)
# elif defined(AT32F435ZMT7) || defined(AT32F435RMT7)
# define FLASH_PAGE_SIZE ((uint32_t)0x1000) // 4K sectors
# elif defined(AT32F435RGT7)
# define FLASH_PAGE_SIZE ((uint32_t)0x0800) // 2K sectors
// F7
#elif defined(STM32F722xx)
# define FLASH_PAGE_SIZE ((uint32_t)0x4000) // 16K sectors
# elif defined(STM32F745xx)
# define FLASH_PAGE_SIZE ((uint32_t)0x8000) // 32K sectors
# elif defined(STM32F746xx)
# define FLASH_PAGE_SIZE ((uint32_t)0x8000)
# elif defined(STM32F765xx)
# define FLASH_PAGE_SIZE ((uint32_t)0x8000)
# elif defined(UNIT_TEST)
# define FLASH_PAGE_SIZE (0x400)
// H7
# elif defined(STM32H743xx) || defined(STM32H750xx) || defined(STM32H723xx) || defined(STM32H725xx) || defined(STM32H730xx)
# define FLASH_PAGE_SIZE ((uint32_t)0x20000) // 128K sectors
# elif defined(STM32H7A3xx) || defined(STM32H7A3xxQ)
# define FLASH_PAGE_SIZE ((uint32_t)0x2000) // 8K sectors
// G4
# elif defined(STM32G4)
# define FLASH_PAGE_SIZE ((uint32_t)0x800) // 2K page
// SIMULATOR
# elif defined(SIMULATOR_BUILD)
# define FLASH_PAGE_SIZE (0x400)
# else
# error "Flash page size not defined for target."
# endif
#error "Flash page size not defined for target."
#endif

void config_streamer_init(config_streamer_t *c)
Expand Down
2 changes: 2 additions & 0 deletions src/main/target/AT32F435/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,5 @@
#undef USE_FLASH
#undef USE_FLASHFS
#undef USE_FLASH_CHIP

#define FLASH_PAGE_SIZE ((uint32_t)0x1000) // 4K sectors
2 changes: 2 additions & 0 deletions src/main/target/SITL/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,8 @@

#define DEFIO_NO_PORTS // suppress 'no pins defined' warning

#define FLASH_PAGE_SIZE (0x400)

// belows are internal stuff

extern uint32_t SystemCoreClock;
Expand Down
2 changes: 2 additions & 0 deletions src/main/target/STM32F405/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,5 @@

#define USE_CUSTOM_DEFAULTS
#define USE_EXTI

#define FLASH_PAGE_SIZE ((uint32_t)0x4000) // 16K sectors
2 changes: 2 additions & 0 deletions src/main/target/STM32F411/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,5 @@

#define USE_CUSTOM_DEFAULTS
#define USE_EXTI

#define FLASH_PAGE_SIZE ((uint32_t)0x4000) // 16K sectors
2 changes: 2 additions & 0 deletions src/main/target/STM32F745/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,5 @@

#define USE_CUSTOM_DEFAULTS
#define USE_EXTI

#define FLASH_PAGE_SIZE ((uint32_t)0x8000) // 32K sectors
2 changes: 2 additions & 0 deletions src/main/target/STM32F7X2/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,5 @@

#define USE_CUSTOM_DEFAULTS
#define USE_EXTI

#define FLASH_PAGE_SIZE ((uint32_t)0x4000) // 16K sectors
2 changes: 2 additions & 0 deletions src/main/target/STM32G47X/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,5 @@
#define USE_CUSTOM_DEFAULTS
#define USE_EXTI
#define USE_TIMER_UP_CONFIG

#define FLASH_PAGE_SIZE ((uint32_t)0x800) // 2K page
2 changes: 2 additions & 0 deletions src/main/target/STM32H723/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,5 @@

#define USE_EXTI
#define USE_TIMER_UP_CONFIG

#define FLASH_PAGE_SIZE ((uint32_t)0x20000) // 128K sectors
6 changes: 6 additions & 0 deletions src/main/target/STM32H730/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,9 @@

#define USE_EXTI
#define USE_TIMER_UP_CONFIG

#if !(defined(CONFIG_IN_EXTERNAL_FLASH) || defined(CONFIG_IN_MEMORY_MAPPED_FLASH) || defined(CONFIG_IN_RAM) || defined(CONFIG_IN_SDCARD))
#error "The configured MCU only has one flash page which contains the bootloader, no spare flash pages available, use external storage for persistent config or ram for target testing"
#endif

#define FLASH_PAGE_SIZE ((uint32_t)0x20000) // 128K sectors
2 changes: 2 additions & 0 deletions src/main/target/STM32H743/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,5 @@
#define USE_CUSTOM_DEFAULTS
#define USE_EXTI
#define USE_TIMER_UP_CONFIG

#define FLASH_PAGE_SIZE ((uint32_t)0x20000) // 128K sectors
6 changes: 6 additions & 0 deletions src/main/target/STM32H750/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,9 @@

#define USE_EXTI
#define USE_TIMER_UP_CONFIG

#if !(defined(CONFIG_IN_EXTERNAL_FLASH) || defined(CONFIG_IN_MEMORY_MAPPED_FLASH) || defined(CONFIG_IN_RAM) || defined(CONFIG_IN_SDCARD))
#error "The configured MCU only has one flash page which contains the bootloader, no spare flash pages available, use external storage for persistent config or ram for target testing"
#endif

#define FLASH_PAGE_SIZE ((uint32_t)0x20000) // 128K sectors

0 comments on commit f592c86

Please sign in to comment.