File tree Expand file tree Collapse file tree 7 files changed +18
-2
lines changed
tools/build_script_generator Expand file tree Collapse file tree 7 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -118,6 +118,8 @@ def post_build(env):
118118 if subs ["core" ].startswith ("cortex-m" ):
119119 # get memory information
120120 subs ["memories" ] = env .query ("::memories" )
121+ subs ["flash_offset" ] = env .get (":platform:cortex-m:linkerscript.flash_offset" , 0 )
122+ subs ["flash_address" ] = hex (0x08000000 + subs ["flash_offset" ])
121123 else :
122124 subs ["memories" ] = []
123125 # Set these substitutions for all templates
Original file line number Diff line number Diff line change @@ -55,6 +55,8 @@ def post_build(env):
5555 subs ["uf2mem" ] = ["{:#x}:{:#x}:{}" .format (m ["start" ], m ["start" ] + m ["size" ],
5656 "CONTENTS" if "flash" in m ["name" ] else "NO_CONTENTS" )
5757 for m in subs ["memories" ]]
58+ subs ["flash_offset" ] = env .get (":platform:cortex-m:linkerscript.flash_offset" , 0 )
59+ subs ["flash_address" ] = hex (0x08000000 + subs ["flash_offset" ])
5860 else :
5961 subs ["memories" ] = []
6062 # Add SCons specific data
Original file line number Diff line number Diff line change @@ -117,9 +117,10 @@ program-jlink: build
117117 @$(PYTHON3 ) -m modm_tools.jlink -device $(MODM_JLINK_DEVICE ) $(ELF_FILE )
118118
119119delay? =5
120+ CONFIG_FLASH_ADDRESS? =0x08000000
120121.PHONY : program-dfu
121122program-dfu : bin
122- @dfu-util -v -E$(delay ) -R -i 0 -a 0 -s 0x08000000 :leave -D $(BIN_FILE )
123+ @dfu-util -v -E$(delay ) -R -i 0 -a 0 -s $( CONFIG_FLASH_ADDRESS ) :leave -D $(BIN_FILE )
123124%#
124125%% if platform in ["sam"]
125126.PHONY : program-bossac
Original file line number Diff line number Diff line change @@ -47,6 +47,8 @@ MODM_GDB_COMMANDS = -x $(MODM_PATH)/gdbinit -ex "dir $(GCC_BASE)" -ex "modm_setu
4747MODM_GDB_COMMANDS_OPENOCD = -x $(MODM_PATH)/gdbinit_openocd
4848MODM_GDB_COMMANDS_JLINK = -x $(MODM_PATH)/gdbinit_jlink
4949MODM_GDB_COMMANDS_BMP = -x $(MODM_PATH)/gdbinit_bmp
50+ CONFIG_FLASH_OFFSET := {{ flash_offset }}
51+ CONFIG_FLASH_ADDRESS := {{ flash_address }}
5052%% if platform == "sam"
5153%% if bossac_offset
5254MODM_BOSSAC_OFFSET := {{ bossac_offset }}
Original file line number Diff line number Diff line change @@ -163,6 +163,8 @@ def post_build(env):
163163 if subs ["core" ].startswith ("cortex-m" ):
164164 # get memory information
165165 subs ["memories" ] = env .query ("::memories" )
166+ subs ["flash_offset" ] = env .get (":platform:cortex-m:linkerscript.flash_offset" , 0 )
167+ subs ["flash_address" ] = hex (0x08000000 + subs ["flash_offset" ])
166168 else :
167169 subs ["memories" ] = []
168170 # Add SCons specific data
Original file line number Diff line number Diff line change @@ -135,6 +135,12 @@ env.Append(MODM_GDBINIT_OPENOCD = "$BASEPATH/modm/gdbinit_openocd")
135135env.Append(MODM_GDBINIT_JLINK = "$BASEPATH/modm/gdbinit_jlink")
136136env.Append(MODM_GDBINIT_BMP = "$BASEPATH/modm/gdbinit_bmp")
137137env.Append(MODM_GDB_COMMANDS = ["dir $GCC_PATH", "modm_setup_tui"])
138+
139+ %% if core.startswith("cortex-m")
140+ env["CONFIG_FLASH_OFFSET"] = {{ flash_offset }}
141+ env["CONFIG_FLASH_ADDRESS"] = {{ flash_address }}
142+ %% endif
143+
138144%% if platform == "sam"
139145%% if bossac_offset
140146env.Append(MODM_BOSSAC_OFFSET = {{ bossac_offset }})
Original file line number Diff line number Diff line change 2727# -----------------------------------------------------------------------------
2828def program_dfu (env , source ):
2929 delay = ARGUMENTS .get ("delay" , "5" )
30- actionString = 'dfu-util -v -E{} -R -i 0 -a 0 -s 0x08000000:leave -D $SOURCE' .format (delay )
30+ flash_address = env .get ("CONFIG_FLASH_ADDRESS" , 0x08000000 )
31+ actionString = 'dfu-util -v -E{} -R -i 0 -a 0 -s {}:leave -D $SOURCE' .format (delay , flash_address )
3132 return env .AlwaysBuildAction (actionString , "$PROGRAM_DFU_COMSTR" , source )
3233
3334# -----------------------------------------------------------------------------
You can’t perform that action at this time.
0 commit comments