Skip to content

Commit

Permalink
🔨 Clean up build scripts (MarlinFirmware#22264)
Browse files Browse the repository at this point in the history
* Add 10K to marlin_blackSTM32F407VET6 (typo?)
* Document custom build scripts.
* Add a Robin common build script.
* Extraneous .ldscript specifiers
  • Loading branch information
thinkyhead authored Jun 29, 2021
1 parent 61c48b8 commit b90de62
Show file tree
Hide file tree
Showing 16 changed files with 41 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"upload": {
"disable_flushing": false,
"maximum_ram_size": 131072,
"maximum_size": 514288,
"maximum_size": 524288,
"protocol": "stlink",
"protocols": [
"stlink",
Expand Down
3 changes: 3 additions & 0 deletions buildroot/share/PlatformIO/scripts/custom_board.py
Original file line number Diff line number Diff line change
@@ -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()

Expand Down
8 changes: 0 additions & 8 deletions buildroot/share/PlatformIO/scripts/marlin.py
Original file line number Diff line number Diff line change
Expand Up @@ -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);
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin.py
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin_e3.py
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin_e3p.py
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin_lite.py
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin_lite3.py
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin_mini.py
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin_nano.py
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin_nano35.py
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 2 additions & 2 deletions buildroot/share/PlatformIO/scripts/mks_robin_pro.py
Original file line number Diff line number Diff line change
@@ -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")
12 changes: 12 additions & 0 deletions buildroot/share/PlatformIO/scripts/robin.py
Original file line number Diff line number Diff line change
@@ -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);
7 changes: 7 additions & 0 deletions buildroot/share/PlatformIO/scripts/stm32_bootloader.py
Original file line number Diff line number Diff line change
@@ -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")

Expand Down
7 changes: 0 additions & 7 deletions ini/stm32f1.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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}
Expand Down Expand Up @@ -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.extra_scripts}
Expand All @@ -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.extra_scripts}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down
5 changes: 0 additions & 5 deletions ini/stm32f4.ini
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,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
Expand Down Expand Up @@ -222,7 +221,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}
Expand Down Expand Up @@ -344,7 +342,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
Expand All @@ -361,7 +358,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
Expand All @@ -387,7 +383,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
Expand Down

0 comments on commit b90de62

Please sign in to comment.