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,7 +52,7 @@
52 52
 // ------------------------
53 53
 
54 54
 #ifndef STM32_FLASH_SIZE
55
-  #ifdef MCU_STM32F103RE
55
+  #if defined(MCU_STM32F103RE) || defined(MCU_STM32F103VE)
56 56
     #define STM32_FLASH_SIZE 512
57 57
   #else
58 58
     #define STM32_FLASH_SIZE 256

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

@@ -34,8 +34,8 @@
34 34
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
35 35
 
36 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 39
 #undef E2END
40 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,8 +32,8 @@
32 32
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
33 33
 
34 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 37
 #undef E2END
38 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,8 +34,8 @@
34 34
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
35 35
 
36 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 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,10 +39,11 @@
39 39
 // Flash EEPROM Emulation
40 40
 //
41 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 44
 #undef E2END
45 45
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
46
+
46 47
 //
47 48
 // Limit Switches
48 49
 //

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

@@ -36,8 +36,8 @@
36 36
 #define DISABLE_JTAG
37 37
 
38 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 41
 #undef E2END
42 42
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
43 43
 

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

@@ -43,10 +43,10 @@
43 43
 // Enable EEPROM Emulation for this board, so that we don't overwrite factory data
44 44
 
45 45
 //#define I2C_EEPROM                              // AT24C64
46
-//#define E2END 0x7FFF                            // 64KB
46
+//#define E2END 0x7FFFUL                          // 64KB
47 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 50
 //#define EEPROM_CHITCHAT
51 51
 //#define DEBUG_EEPROM_READWRITE
52 52
 

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

@@ -159,11 +159,11 @@
159 159
   #define EEPROM_MISO        BOARD_SPI1_MISO_PIN  // PA6 pin 31
160 160
   #define EEPROM_MOSI        BOARD_SPI1_MOSI_PIN  // PA7 pin 32
161 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 163
 #elif ENABLED(FLASH_EEPROM_EMULATION)
164 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 167
   #define E2END (EEPROM_PAGE_SIZE - 1)
168 168
 #else
169 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,8 +40,8 @@
40 40
 
41 41
 #define FLASH_EEPROM_EMULATION
42 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 45
 #define E2END (EEPROM_PAGE_SIZE - 1)
46 46
 
47 47
 //

+ 6
- 7
platformio.ini View File

@@ -463,9 +463,9 @@ src_filter    = ${common.default_src_filter} +<src/HAL/STM32>
463 463
 platform        = ststm32
464 464
 board           = genericSTM32F103VE
465 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 469
 build_unflags = -std=gnu++11
470 470
 src_filter      = ${common.default_src_filter} +<src/HAL/STM32F1>
471 471
 lib_ignore      = Adafruit NeoPixel, SPI
@@ -478,8 +478,7 @@ upload_protocol = serial
478 478
 platform      = ststm32
479 479
 board         = genericSTM32F103VE
480 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 482
 build_unflags = -std=gnu++11 -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
484 483
 extra_scripts = buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
485 484
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>
@@ -492,7 +491,7 @@ lib_ignore    = Adafruit NeoPixel, LiquidTWI2, SPI
492 491
 platform      = ststm32
493 492
 board         = genericSTM32F103VE
494 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 495
 build_unflags = -std=gnu++11
497 496
 extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_mini.py
498 497
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>
@@ -506,7 +505,7 @@ platform      = ststm32
506 505
 board         = genericSTM32F103VE
507 506
 platform_packages = tool-stm32duino
508 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 509
 build_unflags = -std=gnu++11
511 510
 extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_nano.py
512 511
 src_filter    = ${common.default_src_filter} +<src/HAL/STM32F1>

Loading…
Cancel
Save