🔨 Clean up build scripts (#22264)

* Add 10K to marlin_blackSTM32F407VET6 (typo?)
* Document custom build scripts.
* Add a Robin common build script.
* Extraneous .ldscript specifiers
This commit is contained in:
Scott Lahteine 2021-06-29 16:25:37 -05:00 committed by Scott Lahteine
parent e213246ab9
commit 6d191d12c9
16 changed files with 41 additions and 39 deletions

View file

@ -48,7 +48,7 @@
"upload": {
"disable_flushing": false,
"maximum_ram_size": 131072,
"maximum_size": 514288,
"maximum_size": 524288,
"protocol": "stlink",
"protocols": [
"stlink",

View file

@ -1,6 +1,9 @@
#
# buildroot/share/PlatformIO/scripts/custom_board.py
#
# - For build.address replace VECT_TAB_ADDR to relocate the firmware
# - For build.ldscript use one of the linker scripts in buildroot/share/PlatformIO/ldscripts
#
import marlin
board = marlin.env.BoardConfig()

View file

@ -67,11 +67,3 @@ def encrypt_mks(source, target, env, new_name):
def add_post_action(action):
env.AddPostAction(join("$BUILD_DIR", "${PROGNAME}.bin"), action);
# Apply customizations for a MKS Robin
def prepare_robin(address, ldname, fwname):
def encrypt(source, target, env):
encrypt_mks(source, target, env, fwname)
relocate_firmware(address)
custom_ld_script(ldname)
add_post_action(encrypt);

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin.py
#
import marlin
marlin.prepare_robin("0x08007000", "mks_robin.ld", "Robin.bin")
import robin
robin.prepare("0x08007000", "mks_robin.ld", "Robin.bin")

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin_e3.py
#
import marlin
marlin.prepare_robin("0x08005000", "mks_robin_e3.ld", "Robin_e3.bin")
import robin
robin.prepare("0x08005000", "mks_robin_e3.ld", "Robin_e3.bin")

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin_e3p.py
#
import marlin
marlin.prepare_robin("0x08007000", "mks_robin_e3p.ld", "Robin_e3p.bin")
import robin
robin.prepare("0x08007000", "mks_robin_e3p.ld", "Robin_e3p.bin")

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin_lite.py
#
import marlin
marlin.prepare_robin("0x08005000", "mks_robin_lite.ld", "mksLite.bin")
import robin
robin.prepare("0x08005000", "mks_robin_lite.ld", "mksLite.bin")

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin_lite3.py
#
import marlin
marlin.prepare_robin("0x08005000", "mks_robin_lite.ld", "mksLite3.bin")
import robin
robin.prepare("0x08005000", "mks_robin_lite.ld", "mksLite3.bin")

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin_mini.py
#
import marlin
marlin.prepare_robin("0x08007000", "mks_robin_mini.ld", "Robin_mini.bin")
import robin
robin.prepare("0x08007000", "mks_robin_mini.ld", "Robin_mini.bin")

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin_nano.py
#
import marlin
marlin.prepare_robin("0x08007000", "mks_robin_nano.ld", "Robin_nano.bin")
import robin
robin.prepare("0x08007000", "mks_robin_nano.ld", "Robin_nano.bin")

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin_nano35.py
#
import marlin
marlin.prepare_robin("0x08007000", "mks_robin_nano.ld", "Robin_nano35.bin")
import robin
robin.prepare("0x08007000", "mks_robin_nano.ld", "Robin_nano35.bin")

View file

@ -1,5 +1,5 @@
#
# buildroot/share/PlatformIO/scripts/mks_robin_pro.py
#
import marlin
marlin.prepare_robin("0x08007000", "mks_robin_pro.ld", "Robin_pro.bin")
import robin
robin.prepare("0x08007000", "mks_robin_pro.ld", "Robin_pro.bin")

View file

@ -0,0 +1,12 @@
#
# buildroot/share/PlatformIO/scripts/robin.py
#
import marlin
# Apply customizations for a MKS Robin
def prepare(address, ldname, fwname):
def encrypt(source, target, env):
marlin.encrypt_mks(source, target, env, fwname)
marlin.relocate_firmware(address)
marlin.custom_ld_script(ldname)
marlin.add_post_action(encrypt);

View file

@ -1,6 +1,13 @@
#
# stm32_bootloader.py
#
# - If 'build.offset' is provided, either by JSON or by the environment...
# - Set linker flag LD_FLASH_OFFSET and relocate the VTAB based on 'build.offset'.
# - Set linker flag LD_MAX_DATA_SIZE based on 'build.maximum_ram_size'.
# - Define STM32_FLASH_SIZE from 'upload.maximum_size' for use by Flash-based EEPROM emulation.
#
# - For 'board_build.rename' add a post-action to rename the firmware file.
#
import os,sys,marlin
Import("env")

View file

@ -41,7 +41,6 @@ board = genericSTM32F103RC
monitor_speed = 115200
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
board_build.ldscript = ldscript.ld
extra_scripts = ${common_stm32.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
buildroot/share/PlatformIO/scripts/stm32_bootloader.py
@ -108,7 +107,6 @@ extends = common_stm32
board = genericSTM32F103ZE
board_build.core = stm32
board_build.variant = MARLIN_F103Zx
board_build.ldscript = ldscript.ld
board_build.offset = 0x7000
board_build.encrypt = Robin.bin
build_flags = ${common_stm32.build_flags}
@ -150,7 +148,6 @@ monitor_speed = 115200
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
board_build.offset = 0x7000
board_build.ldscript = ldscript.ld
board_upload.offset_address = 0x08007000
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
extra_scripts = ${common_stm32.extra_scripts}
@ -175,7 +172,6 @@ monitor_speed = 115200
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
board_build.offset = 0x7000
board_build.ldscript = ldscript.ld
board_upload.offset_address = 0x08007000
build_unflags = ${common_stm32.build_unflags}
extra_scripts = ${common_stm32.extra_scripts}
@ -207,7 +203,6 @@ build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.ldscript = ldscript.ld
board_build.offset = 0x7000
board_build.encrypt = Robin_mini.bin
board_upload.offset_address = 0x08007000
@ -227,7 +222,6 @@ build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.ldscript = ldscript.ld
board_build.offset = 0x7000
board_build.encrypt = Robin_nano35.bin
board_upload.offset_address = 0x08007000
@ -248,7 +242,6 @@ extends = common_stm32
board = genericSTM32F103ZE
board_build.core = stm32
board_build.variant = MARLIN_F103Zx
board_build.ldscript = ldscript.ld
board_build.offset = 0x10000
build_flags = ${common_stm32.build_flags} -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC

View file

@ -125,7 +125,6 @@ build_flags = ${common_stm32.build_flags} -DHAL_SD_MODULE_ENABLED -DHAL
board = marlin_STM32F407VGT6_CCM
board_build.core = stm32
board_build.variant = MARLIN_F4x7Vx
board_build.ldscript = ldscript.ld
board_build.encrypt = firmware.srec
# Just openblt.py (not stm32_bootloader.py) generates the file
board_build.offset = 0x10000
@ -235,7 +234,6 @@ extends = common_stm32
board = marlin_STM32F407VGT6_CCM
board_build.core = stm32
board_build.variant = MARLIN_F4x7Vx
board_build.ldscript = ldscript.ld
board_build.offset = 0x8000
board_upload.offset_address = 0x08008000
extra_scripts = ${common.extra_scripts}
@ -357,7 +355,6 @@ upload_protocol = dfu
monitor_speed = 500000
board_build.core = stm32
board_build.variant = MARLIN_F446VE
board_build.ldscript = ldscript.ld
board_build.offset = 0x0000
extra_scripts = ${common.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
@ -374,7 +371,6 @@ build_flags = ${stm_flash_drive.build_flags}
board = genericSTM32F407VET6
board_build.core = stm32
board_build.variant = MARLIN_F4x7Vx
board_build.ldscript = ldscript.ld
board_build.offset = 0x0000
board_upload.offset_address = 0x08000000
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
@ -400,7 +396,6 @@ build_flags = ${common_stm32.build_flags} ${stm32f4_I2C1.build_flags} -
board = marlin_STM32F407VGT6_CCM
board_build.core = stm32
board_build.variant = MARLIN_F4x7Vx
board_build.ldscript = ldscript.ld
board_build.rename = Robin_nano_v3.bin
board_build.offset = 0xC000
board_upload.offset_address = 0x0800C000