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…
Reference in a new issue