STM32F103VE has 512K Flash EEPROM (#17565)
This commit is contained in:
		| @@ -52,7 +52,7 @@ | ||||
| // ------------------------ | ||||
|  | ||||
| #ifndef STM32_FLASH_SIZE | ||||
|   #ifdef MCU_STM32F103RE | ||||
|   #if defined(MCU_STM32F103RE) || defined(MCU_STM32F103VE) | ||||
|     #define STM32_FLASH_SIZE 512 | ||||
|   #else | ||||
|     #define STM32_FLASH_SIZE 256 | ||||
|   | ||||
| @@ -34,8 +34,8 @@ | ||||
| //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 | ||||
|  | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| #define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #define EEPROM_PAGE_SIZE     (0x800U) // 2KB | ||||
| #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) | ||||
| #undef E2END | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB | ||||
|  | ||||
|   | ||||
| @@ -32,8 +32,8 @@ | ||||
| //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 | ||||
|  | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| #define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #define EEPROM_PAGE_SIZE     (0x800U) // 2KB | ||||
| #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) | ||||
| #undef E2END | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB | ||||
|  | ||||
|   | ||||
| @@ -34,8 +34,8 @@ | ||||
| //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 | ||||
|  | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| #define EEPROM_PAGE_SIZE     (0x800) // 2KB | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #define EEPROM_PAGE_SIZE     (0x800U) // 2KB | ||||
| #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) | ||||
|  | ||||
| // | ||||
|   | ||||
| @@ -39,10 +39,11 @@ | ||||
| // Flash EEPROM Emulation | ||||
| // | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| #define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #define EEPROM_PAGE_SIZE     (0x800U) // 2KB | ||||
| #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) | ||||
| #undef E2END | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB | ||||
|  | ||||
| // | ||||
| // Limit Switches | ||||
| // | ||||
|   | ||||
| @@ -36,8 +36,8 @@ | ||||
| #define DISABLE_JTAG | ||||
|  | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| #define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #define EEPROM_PAGE_SIZE     (0x800U) // 2KB | ||||
| #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) | ||||
| #undef E2END | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB | ||||
|  | ||||
|   | ||||
| @@ -43,10 +43,10 @@ | ||||
| // Enable EEPROM Emulation for this board, so that we don't overwrite factory data | ||||
|  | ||||
| //#define I2C_EEPROM                              // AT24C64 | ||||
| //#define E2END 0x7FFF                            // 64KB | ||||
| //#define E2END 0x7FFFUL                          // 64KB | ||||
| //#define FLASH_EEPROM_EMULATION | ||||
| //#define E2END 0xFFF                             // 4KB | ||||
| //#define E2END uint32(EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE * 2) - 1) | ||||
| //#define E2END 0xFFFUL                           // 4KB | ||||
| //#define E2END (EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE) * 2UL - 1UL) | ||||
| //#define EEPROM_CHITCHAT | ||||
| //#define DEBUG_EEPROM_READWRITE | ||||
|  | ||||
|   | ||||
| @@ -159,11 +159,11 @@ | ||||
|   #define EEPROM_MISO        BOARD_SPI1_MISO_PIN  // PA6 pin 31 | ||||
|   #define EEPROM_MOSI        BOARD_SPI1_MOSI_PIN  // PA7 pin 32 | ||||
|   #define EEPROM_PAGE_SIZE 0x1000U                // 4KB (from datasheet) | ||||
|   #define E2END ((16 * EEPROM_PAGE_SIZE)-1) // Limit to 64KB for now... | ||||
|   #define E2END (16UL * (EEPROM_PAGE_SIZE) - 1UL) // Limit to 64KB for now... | ||||
| #elif ENABLED(FLASH_EEPROM_EMULATION) | ||||
|   // SoC Flash (framework-arduinoststm32-maple/STM32F1/libraries/EEPROM/EEPROM.h) | ||||
|   #define EEPROM_START_ADDRESS (0x8000000UL + (512 * 1024) - 2 * EEPROM_PAGE_SIZE) | ||||
|   #define EEPROM_PAGE_SIZE     (0x800U)     // 2KB, but will use 2x more (4KB) | ||||
|   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB | ||||
|   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) | ||||
|   #define E2END (EEPROM_PAGE_SIZE - 1) | ||||
| #else | ||||
|   #define E2END (0x7FFU) // On SD, Limit to 2KB, require this amount of RAM | ||||
|   | ||||
| @@ -40,8 +40,8 @@ | ||||
|  | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| // 2K in a AT24C16N | ||||
| #define EEPROM_PAGE_SIZE      (uint16)0x800 // 2048 | ||||
| #define EEPROM_START_ADDRESS  ((uint32)(0x8000000 + 512 * 1024 - 2 * EEPROM_PAGE_SIZE)) | ||||
| #define EEPROM_PAGE_SIZE     (0x800U) // 2KB | ||||
| #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) | ||||
| #define E2END (EEPROM_PAGE_SIZE - 1) | ||||
|  | ||||
| // | ||||
|   | ||||
		Reference in New Issue
	
	Block a user