60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
try:
 | 
						|
    import configparser
 | 
						|
except ImportError:
 | 
						|
    import ConfigParser as configparser
 | 
						|
 | 
						|
import os
 | 
						|
Import("env", "projenv")
 | 
						|
# access to global build environment
 | 
						|
print(env)
 | 
						|
# access to project build environment (is used source files in "src" folder)
 | 
						|
print(projenv)
 | 
						|
 | 
						|
config = configparser.ConfigParser()
 | 
						|
config.read("platformio.ini")
 | 
						|
 | 
						|
#com_port = config.get("env:STM32F103RC_meeb", "upload_port")
 | 
						|
#print('Use the {0:s} to reboot the board to dfu mode.'.format(com_port))
 | 
						|
 | 
						|
#
 | 
						|
# Upload actions
 | 
						|
#
 | 
						|
 | 
						|
def before_upload(source, target, env):
 | 
						|
    print("before_upload")
 | 
						|
    # do some actions
 | 
						|
    # use com_port
 | 
						|
    #
 | 
						|
    env.Execute("pwd")
 | 
						|
 | 
						|
def after_upload(source, target, env):
 | 
						|
    print("after_upload")
 | 
						|
    # do some actions
 | 
						|
    #
 | 
						|
    #
 | 
						|
    env.Execute("pwd")
 | 
						|
 | 
						|
print("Current build targets", map(str, BUILD_TARGETS))
 | 
						|
 | 
						|
env.AddPreAction("upload", before_upload)
 | 
						|
env.AddPostAction("upload", after_upload)
 | 
						|
 | 
						|
flash_size = 0
 | 
						|
vect_tab_addr = 0
 | 
						|
 | 
						|
for define in env['CPPDEFINES']:
 | 
						|
    if define[0] == "VECT_TAB_ADDR":
 | 
						|
        vect_tab_addr = define[1]
 | 
						|
    if define[0] == "STM32_FLASH_SIZE":
 | 
						|
        flash_size = define[1]
 | 
						|
 | 
						|
print('Use the {0:s} address as the marlin app entry point.'.format(vect_tab_addr))
 | 
						|
print('Use the {0:d}KB flash version of stm32f103rct6 chip.'.format(flash_size))
 | 
						|
 | 
						|
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RC_MEEB_3DP.ld")
 | 
						|
for i, flag in enumerate(env["LINKFLAGS"]):
 | 
						|
    if "-Wl,-T" in flag:
 | 
						|
        env["LINKFLAGS"][i] = "-Wl,-T" + custom_ld_script
 | 
						|
    elif flag == "-T":
 | 
						|
        env["LINKFLAGS"][i + 1] = custom_ld_script
 |