Browse Source

STM32F103VE has 512K Flash EEPROM (#17565)

Scott Lahteine 5 years ago
parent
commit
847ea583f6
No account linked to committer's email address

+ 1
- 1
Marlin/src/HAL/STM32F1/HAL.h View File

52
 // ------------------------
52
 // ------------------------
53
 
53
 
54
 #ifndef STM32_FLASH_SIZE
54
 #ifndef STM32_FLASH_SIZE
55
-  #ifdef MCU_STM32F103RE
55
+  #if defined(MCU_STM32F103RE) || defined(MCU_STM32F103VE)
56
     #define STM32_FLASH_SIZE 512
56
     #define STM32_FLASH_SIZE 512
57
   #else
57
   #else
58
     #define STM32_FLASH_SIZE 256
58
     #define STM32_FLASH_SIZE 256

+ 2
- 2
Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h View File

34
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
34
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
35
 
35
 
36
 #define FLASH_EEPROM_EMULATION
36
 #define FLASH_EEPROM_EMULATION
37
-#define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB
38
-#define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE)
37
+#define EEPROM_PAGE_SIZE     (0x800U) // 2KB
38
+#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
39
 #undef E2END
39
 #undef E2END
40
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
40
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
41
 
41
 

+ 2
- 2
Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3.h View File

32
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
32
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
33
 
33
 
34
 #define FLASH_EEPROM_EMULATION
34
 #define FLASH_EEPROM_EMULATION
35
-#define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB
36
-#define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE)
35
+#define EEPROM_PAGE_SIZE     (0x800U) // 2KB
36
+#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
37
 #undef E2END
37
 #undef E2END
38
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
38
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
39
 
39
 

+ 2
- 2
Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h View File

34
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
34
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
35
 
35
 
36
 #define FLASH_EEPROM_EMULATION
36
 #define FLASH_EEPROM_EMULATION
37
-#define EEPROM_PAGE_SIZE     (0x800) // 2KB
38
-#define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE)
37
+#define EEPROM_PAGE_SIZE     (0x800U) // 2KB
38
+#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
39
 #define E2END                (EEPROM_PAGE_SIZE - 1)
39
 #define E2END                (EEPROM_PAGE_SIZE - 1)
40
 
40
 
41
 //
41
 //

+ 3
- 2
Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h View File

39
 // Flash EEPROM Emulation
39
 // Flash EEPROM Emulation
40
 //
40
 //
41
 #define FLASH_EEPROM_EMULATION
41
 #define FLASH_EEPROM_EMULATION
42
-#define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB
43
-#define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE)
42
+#define EEPROM_PAGE_SIZE     (0x800U) // 2KB
43
+#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
44
 #undef E2END
44
 #undef E2END
45
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
45
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
46
+
46
 //
47
 //
47
 // Limit Switches
48
 // Limit Switches
48
 //
49
 //

+ 2
- 2
Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h View File

36
 #define DISABLE_JTAG
36
 #define DISABLE_JTAG
37
 
37
 
38
 #define FLASH_EEPROM_EMULATION
38
 #define FLASH_EEPROM_EMULATION
39
-#define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB
40
-#define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE)
39
+#define EEPROM_PAGE_SIZE     (0x800U) // 2KB
40
+#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
41
 #undef E2END
41
 #undef E2END
42
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
42
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
43
 
43
 

+ 3
- 3
Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h View File

43
 // Enable EEPROM Emulation for this board, so that we don't overwrite factory data
43
 // Enable EEPROM Emulation for this board, so that we don't overwrite factory data
44
 
44
 
45
 //#define I2C_EEPROM                              // AT24C64
45
 //#define I2C_EEPROM                              // AT24C64
46
-//#define E2END 0x7FFF                            // 64KB
46
+//#define E2END 0x7FFFUL                          // 64KB
47
 //#define FLASH_EEPROM_EMULATION
47
 //#define FLASH_EEPROM_EMULATION
48
-//#define E2END 0xFFF                             // 4KB
49
-//#define E2END uint32(EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE * 2) - 1)
48
+//#define E2END 0xFFFUL                           // 4KB
49
+//#define E2END (EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE) * 2UL - 1UL)
50
 //#define EEPROM_CHITCHAT
50
 //#define EEPROM_CHITCHAT
51
 //#define DEBUG_EEPROM_READWRITE
51
 //#define DEBUG_EEPROM_READWRITE
52
 
52
 

+ 3
- 3
Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h View File

159
   #define EEPROM_MISO        BOARD_SPI1_MISO_PIN  // PA6 pin 31
159
   #define EEPROM_MISO        BOARD_SPI1_MISO_PIN  // PA6 pin 31
160
   #define EEPROM_MOSI        BOARD_SPI1_MOSI_PIN  // PA7 pin 32
160
   #define EEPROM_MOSI        BOARD_SPI1_MOSI_PIN  // PA7 pin 32
161
   #define EEPROM_PAGE_SIZE 0x1000U                // 4KB (from datasheet)
161
   #define EEPROM_PAGE_SIZE 0x1000U                // 4KB (from datasheet)
162
-  #define E2END ((16 * EEPROM_PAGE_SIZE)-1) // Limit to 64KB for now...
162
+  #define E2END (16UL * (EEPROM_PAGE_SIZE) - 1UL) // Limit to 64KB for now...
163
 #elif ENABLED(FLASH_EEPROM_EMULATION)
163
 #elif ENABLED(FLASH_EEPROM_EMULATION)
164
   // SoC Flash (framework-arduinoststm32-maple/STM32F1/libraries/EEPROM/EEPROM.h)
164
   // SoC Flash (framework-arduinoststm32-maple/STM32F1/libraries/EEPROM/EEPROM.h)
165
-  #define EEPROM_START_ADDRESS (0x8000000UL + (512 * 1024) - 2 * EEPROM_PAGE_SIZE)
166
-  #define EEPROM_PAGE_SIZE     (0x800U)     // 2KB, but will use 2x more (4KB)
165
+  #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
166
+  #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
167
   #define E2END (EEPROM_PAGE_SIZE - 1)
167
   #define E2END (EEPROM_PAGE_SIZE - 1)
168
 #else
168
 #else
169
   #define E2END (0x7FFU) // On SD, Limit to 2KB, require this amount of RAM
169
   #define E2END (0x7FFU) // On SD, Limit to 2KB, require this amount of RAM

+ 2
- 2
Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h View File

40
 
40
 
41
 #define FLASH_EEPROM_EMULATION
41
 #define FLASH_EEPROM_EMULATION
42
 // 2K in a AT24C16N
42
 // 2K in a AT24C16N
43
-#define EEPROM_PAGE_SIZE      (uint16)0x800 // 2048
44
-#define EEPROM_START_ADDRESS  ((uint32)(0x8000000 + 512 * 1024 - 2 * EEPROM_PAGE_SIZE))
43
+#define EEPROM_PAGE_SIZE     (0x800U) // 2KB
44
+#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
45
 #define E2END (EEPROM_PAGE_SIZE - 1)
45
 #define E2END (EEPROM_PAGE_SIZE - 1)
46
 
46
 
47
 //
47
 //

+ 6
- 7
platformio.ini View File

463
 platform        = ststm32
463
 platform        = ststm32
464
 board           = genericSTM32F103VE
464
 board           = genericSTM32F103VE
465
 build_flags     = !python Marlin/src/HAL/STM32F1/build_flags.py
465
 build_flags     = !python Marlin/src/HAL/STM32F1/build_flags.py
466
-  ${common.build_flags} -DDEBUG_LEVEL=DEBUG_NONE -std=gnu++14 -MMD -ffunction-sections -fdata-sections -nostdlib
467
-  -DBOARD_generic_stm32f103v -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1
468
-  -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
466
+  ${common.build_flags} -std=gnu++14 -ffunction-sections -fdata-sections -nostdlib -MMD
467
+  -DMCU_STM32F103VE -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1 -DBOARD_generic_stm32f103v
468
+  -DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
469
 build_unflags = -std=gnu++11
469
 build_unflags = -std=gnu++11
470
 src_filter      = ${common.default_src_filter} +<src/HAL/STM32F1>
470
 src_filter      = ${common.default_src_filter} +<src/HAL/STM32F1>
471
 lib_ignore      = Adafruit NeoPixel, SPI
471
 lib_ignore      = Adafruit NeoPixel, SPI
478
 platform      = ststm32
478
 platform      = ststm32
479
 board         = genericSTM32F103VE
479
 board         = genericSTM32F103VE
480
 build_flags   = !python Marlin/src/HAL/STM32F1/build_flags.py
480
 build_flags   = !python Marlin/src/HAL/STM32F1/build_flags.py
481
-  ${common.build_flags} -std=gnu++14 -USERIAL_USB
482
-  -DSTM32F1xx -DU20 -DTS_V12
481
+  ${common.build_flags} -std=gnu++14 -DMCU_STM32F103VE -DSTM32F1xx -USERIAL_USB -DU20 -DTS_V12
483
 build_unflags = -std=gnu++11 -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
482
 build_unflags = -std=gnu++11 -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
484
 extra_scripts = buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
483
 extra_scripts = buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
485
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>
484
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>
492
 platform      = ststm32
491
 platform      = ststm32
493
 board         = genericSTM32F103VE
492
 board         = genericSTM32F103VE
494
 build_flags   = !python Marlin/src/HAL/STM32F1/build_flags.py
493
 build_flags   = !python Marlin/src/HAL/STM32F1/build_flags.py
495
-  ${common.build_flags} -std=gnu++14
494
+  ${common.build_flags} -std=gnu++14 -DMCU_STM32F103VE
496
 build_unflags = -std=gnu++11
495
 build_unflags = -std=gnu++11
497
 extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_mini.py
496
 extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_mini.py
498
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>
497
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>
506
 board         = genericSTM32F103VE
505
 board         = genericSTM32F103VE
507
 platform_packages = tool-stm32duino
506
 platform_packages = tool-stm32duino
508
 build_flags   = !python Marlin/src/HAL/STM32F1/build_flags.py
507
 build_flags   = !python Marlin/src/HAL/STM32F1/build_flags.py
509
-  ${common.build_flags} -std=gnu++14 -DHAVE_SW_SERIAL -DSS_TIMER=4
508
+  ${common.build_flags} -std=gnu++14 -DMCU_STM32F103VE -DHAVE_SW_SERIAL -DSS_TIMER=4
510
 build_unflags = -std=gnu++11
509
 build_unflags = -std=gnu++11
511
 extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_nano.py
510
 extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_nano.py
512
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>
511
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>

Loading…
Cancel
Save