Support 512K "RCT6" in BTT SKR Mini (#15890)
This commit is contained in:
		
							parent
							
								
									aa93e1f21a
								
							
						
					
					
						commit
						0f57818f2d
					
				| @ -27,7 +27,7 @@ env: | ||||
| 
 | ||||
|   # Extended STM32 Environments | ||||
|   - TEST_PLATFORM="STM32F103RC_bigtree" | ||||
|   - TEST_PLATFORM="STM32F103RC_bigtree_USB" | ||||
|   - TEST_PLATFORM="STM32F103RC_bigtree_NOUSB" | ||||
|   - TEST_PLATFORM="STM32F103RC_fysetc" | ||||
|   - TEST_PLATFORM="jgaurora_a5s_a1" | ||||
|   - TEST_PLATFORM="STM32F103VE_longer" | ||||
|  | ||||
| @ -51,6 +51,14 @@ | ||||
| // Defines
 | ||||
| // ------------------------
 | ||||
| 
 | ||||
| #ifndef STM32_FLASH_SIZE | ||||
|   #ifdef MCU_STM32F103RE | ||||
|     #define STM32_FLASH_SIZE 512 | ||||
|   #else | ||||
|     #define STM32_FLASH_SIZE 256 | ||||
|   #endif | ||||
| #endif | ||||
| 
 | ||||
| #ifdef SERIAL_USB | ||||
|   #ifndef USE_USB_COMPOSITE | ||||
|     #define UsbSerial Serial | ||||
|  | ||||
| @ -470,13 +470,13 @@ | ||||
| #elif MB(MKS_ROBIN_LITE) | ||||
|   #include "stm32/pins_MKS_ROBIN_LITE.h"        // STM32F1                                env:mks_robin_lite | ||||
| #elif MB(BIGTREE_SKR_MINI_V1_1) | ||||
|   #include "stm32/pins_BIGTREE_SKR_MINI_V1_1.h" // STM32F1                                env:STM32F103RC_bigtree | ||||
|   #include "stm32/pins_BIGTREE_SKR_MINI_V1_1.h" // STM32F1                                env:STM32F103RC_bigtree env:STM32F103RC_bigtree_512K env:STM32F103RC_bigtree_NOUSB env:STM32F103RC_bigtree_512K_NOUSB | ||||
| #elif MB(BTT_SKR_MINI_E3_V1_2) | ||||
|   #include "stm32/pins_BTT_SKR_MINI_E3_V1_2.h"  // STM32F1                                env:STM32F103RC_bigtree | ||||
|   #include "stm32/pins_BTT_SKR_MINI_E3_V1_2.h"  // STM32F1                                env:STM32F103RC_bigtree env:STM32F103RC_bigtree_512K env:STM32F103RC_bigtree_NOUSB env:STM32F103RC_bigtree_512K_NOUSB | ||||
| #elif MB(BIGTREE_SKR_MINI_E3) | ||||
|   #include "stm32/pins_BIGTREE_SKR_MINI_E3.h"   // STM32F1                                env:STM32F103RC_bigtree | ||||
|   #include "stm32/pins_BIGTREE_SKR_MINI_E3.h"   // STM32F1                                env:STM32F103RC_bigtree env:STM32F103RC_bigtree_512K env:STM32F103RC_bigtree_NOUSB env:STM32F103RC_bigtree_512K_NOUSB | ||||
| #elif MB(BIGTREE_SKR_E3_DIP) | ||||
|   #include "stm32/pins_BIGTREE_SKR_E3_DIP.h"    // STM32F1                                env:STM32F103RC_bigtree | ||||
|   #include "stm32/pins_BIGTREE_SKR_E3_DIP.h"    // STM32F1                                env:STM32F103RC_bigtree env:STM32F103RC_bigtree_512K env:STM32F103RC_bigtree_NOUSB env:STM32F103RC_bigtree_512K_NOUSB | ||||
| #elif MB(JGAURORA_A5S_A1) | ||||
|   #include "stm32/pins_JGAURORA_A5S_A1.h"       // STM32F1                                env:jgaurora_a5s_a1 | ||||
| #elif MB(FYSETC_AIO_II) | ||||
|  | ||||
| @ -33,15 +33,9 @@ | ||||
| // Ignore temp readings during development.
 | ||||
| //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
 | ||||
| 
 | ||||
| #ifdef MCU_STM32F103RE | ||||
|   #define STM32_FLASH_SIZE (512 * 1024) | ||||
| #else | ||||
|   #define STM32_FLASH_SIZE (256 * 1024) | ||||
| #endif | ||||
| 
 | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| #define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB
 | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + STM32_FLASH_SIZE - 2 * EEPROM_PAGE_SIZE) | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #undef E2END | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
 | ||||
| 
 | ||||
|  | ||||
| @ -33,15 +33,9 @@ | ||||
| // Ignore temp readings during development.
 | ||||
| //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
 | ||||
| 
 | ||||
| #ifdef MCU_STM32F103RE | ||||
|   #define STM32_FLASH_SIZE (512 * 1024) | ||||
| #else | ||||
|   #define STM32_FLASH_SIZE (256 * 1024) | ||||
| #endif | ||||
| 
 | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| #define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB
 | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + STM32_FLASH_SIZE - 2 * EEPROM_PAGE_SIZE) | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #undef E2END | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
 | ||||
| 
 | ||||
|  | ||||
| @ -33,15 +33,9 @@ | ||||
| // Ignore temp readings during development.
 | ||||
| //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
 | ||||
| 
 | ||||
| #ifdef MCU_STM32F103RE | ||||
|   #define STM32_FLASH_SIZE (512 * 1024) | ||||
| #else | ||||
|   #define STM32_FLASH_SIZE (256 * 1024) | ||||
| #endif | ||||
| 
 | ||||
| #define FLASH_EEPROM_EMULATION | ||||
| #define EEPROM_PAGE_SIZE     (0x800) // 2KB
 | ||||
| #define EEPROM_START_ADDRESS (0x8000000 + STM32_FLASH_SIZE - 2 * EEPROM_PAGE_SIZE) | ||||
| #define EEPROM_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) | ||||
| 
 | ||||
| //
 | ||||
|  | ||||
| @ -35,7 +35,7 @@ | ||||
| 
 | ||||
| #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_START_ADDRESS uint32(0x8000000 + (STM32_FLASH_SIZE) * 1024 - 2 * EEPROM_PAGE_SIZE) | ||||
| #undef E2END | ||||
| #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
 | ||||
| 
 | ||||
|  | ||||
| @ -0,0 +1,14 @@ | ||||
| MEMORY | ||||
| { | ||||
|   ram (rwx) : ORIGIN = 0x20000000, LENGTH = 48K - 40 | ||||
|   rom (rx)  : ORIGIN = 0x08007000, LENGTH = 512K - 28K | ||||
| } | ||||
| 
 | ||||
| /* Provide memory region aliases for common.inc */ | ||||
| REGION_ALIAS("REGION_TEXT", rom); | ||||
| REGION_ALIAS("REGION_DATA", ram); | ||||
| REGION_ALIAS("REGION_BSS", ram); | ||||
| REGION_ALIAS("REGION_RODATA", rom); | ||||
| 
 | ||||
| /* Let common.inc handle the real work. */ | ||||
| INCLUDE common.inc | ||||
| @ -1,13 +1,18 @@ | ||||
| import os | ||||
| Import("env") | ||||
| 
 | ||||
| # Relocate firmware from 0x08000000 to 0x08007000 | ||||
| STM32_FLASH_SIZE = 256 | ||||
| 
 | ||||
| for define in env['CPPDEFINES']: | ||||
|     if define[0] == "VECT_TAB_ADDR": | ||||
|         env['CPPDEFINES'].remove(define) | ||||
|     if define[0] == "STM32_FLASH_SIZE": | ||||
|         STM32_FLASH_SIZE = define[1] | ||||
| 
 | ||||
| # Relocate firmware from 0x08000000 to 0x08007000 | ||||
| env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000")) | ||||
| 
 | ||||
| custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RC_SKR_MINI.ld") | ||||
| custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RC_SKR_MINI_" + str(STM32_FLASH_SIZE) + "K.ld") | ||||
| for i, flag in enumerate(env["LINKFLAGS"]): | ||||
|     if "-Wl,-T" in flag: | ||||
|         env["LINKFLAGS"][i] = "-Wl,-T" + custom_ld_script | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -294,12 +294,33 @@ upload_protocol   = serial | ||||
| # | ||||
| # BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3) | ||||
| # | ||||
| #   STM32F103RC_bigtree .............. RCT6 with 256K | ||||
| #   STM32F103RC_bigtree_NOUSB ........ RCT6 with 256K (no USB) | ||||
| #   STM32F103RC_bigtree_512K.......... RCT6 with 512K | ||||
| #   STM32F103RC_bigtree_512K_NOUSB ... RCT6 with 512K (no USB) | ||||
| # | ||||
| 
 | ||||
| [env:STM32F103RC_bigtree] | ||||
| platform          = ststm32 | ||||
| framework         = arduino | ||||
| board             = genericSTM32F103RC | ||||
| platform_packages = tool-stm32duino | ||||
| extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py | ||||
| build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DUSE_USB_COMPOSITE -DHAVE_SW_SERIAL -DSS_TIMER=4 -DSTM32_FLASH_SIZE=256 | ||||
| build_unflags     = -std=gnu++11 | ||||
| lib_deps          = ${common.lib_deps} | ||||
|   SoftwareSerialM=https://github.com/FYSETC/SoftwareSerialM/archive/master.zip | ||||
| lib_ignore        = Adafruit NeoPixel, SPI | ||||
| src_filter        = ${common.default_src_filter} +<src/HAL/HAL_STM32F1> | ||||
| monitor_speed     = 115200 | ||||
| 
 | ||||
| [env:STM32F103RC_bigtree_NOUSB] | ||||
| platform          = ststm32 | ||||
| framework         = arduino | ||||
| board             = genericSTM32F103RC | ||||
| platform_packages = tool-stm32duino | ||||
| extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py | ||||
| build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DHAVE_SW_SERIAL -DSS_TIMER=4 | ||||
| build_unflags     = -std=gnu++11 | ||||
| @ -309,14 +330,31 @@ lib_ignore        = Adafruit NeoPixel, SPI | ||||
| src_filter        = ${common.default_src_filter} +<src/HAL/HAL_STM32F1> | ||||
| monitor_speed     = 115200 | ||||
| 
 | ||||
| [env:STM32F103RC_bigtree_USB] | ||||
| [env:STM32F103RC_bigtree_512K] | ||||
| platform          = ststm32 | ||||
| framework         = arduino | ||||
| board             = genericSTM32F103RC | ||||
| board_upload.maximum_size=524288 | ||||
| platform_packages = tool-stm32duino | ||||
| extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py | ||||
| build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DUSE_USB_COMPOSITE -DHAVE_SW_SERIAL -DSS_TIMER=4 | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DUSE_USB_COMPOSITE -DHAVE_SW_SERIAL -DSS_TIMER=4 -DSTM32_FLASH_SIZE=512 | ||||
| build_unflags     = -std=gnu++11 | ||||
| lib_deps          = ${common.lib_deps} | ||||
|   SoftwareSerialM=https://github.com/FYSETC/SoftwareSerialM/archive/master.zip | ||||
| lib_ignore        = Adafruit NeoPixel, SPI | ||||
| src_filter        = ${common.default_src_filter} +<src/HAL/HAL_STM32F1> | ||||
| monitor_speed     = 115200 | ||||
| 
 | ||||
| [env:STM32F103RC_bigtree_512K_NOUSB] | ||||
| platform          = ststm32 | ||||
| framework         = arduino | ||||
| board             = genericSTM32F103RC | ||||
| board_upload.maximum_size=524288 | ||||
| platform_packages = tool-stm32duino | ||||
| extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py | ||||
| build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DHAVE_SW_SERIAL -DSS_TIMER=4 -DSTM32_FLASH_SIZE=512 | ||||
| build_unflags     = -std=gnu++11 | ||||
| lib_deps          = ${common.lib_deps} | ||||
|   SoftwareSerialM=https://github.com/FYSETC/SoftwareSerialM/archive/master.zip | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user