diff --git a/boards/nxp/mimxrt1170_evk/board.cmake b/boards/nxp/mimxrt1170_evk/board.cmake index 8781a87cdd65a..f2227d38e318e 100644 --- a/boards/nxp/mimxrt1170_evk/board.cmake +++ b/boards/nxp/mimxrt1170_evk/board.cmake @@ -6,10 +6,7 @@ if(CONFIG_SOC_MIMXRT1176_CM7 OR CONFIG_SECOND_CORE_MCUX) board_runner_args(pyocd "--target=mimxrt1170_cm7") - board_runner_args(jlink "--device=MIMXRT1176xxxA_M7" "--reset-after-load") - # ITCM is not defined in RT1170's LinkServer device file - board_runner_args(linkserver "--override=/device/memory/-=\{\"location\":\"0x00000000\",\ - \"size\":\"0x00040000\",\"type\":\"RAM\"\}") + board_runner_args(jlink "--device=MIMXRT1176xxxA_M7") if(${BOARD_REVISION} STREQUAL "A") board_runner_args(linkserver "--device=MIMXRT1176xxxxx:MIMXRT1170-EVK") @@ -30,6 +27,11 @@ elseif(CONFIG_SOC_MIMXRT1176_CM4) board_runner_args(linkserver "--core=cm4") endif() +if(NOT SYSBUILD) + board_runner_args(jlink "--no-reset") + board_runner_args(linkserver "--no-reset") +endif() + include(${ZEPHYR_BASE}/boards/common/linkserver.board.cmake) include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake) diff --git a/scripts/west_commands/runners/linkserver.py b/scripts/west_commands/runners/linkserver.py index 3dadf49726673..ae3c35e9b57b7 100644 --- a/scripts/west_commands/runners/linkserver.py +++ b/scripts/west_commands/runners/linkserver.py @@ -150,7 +150,10 @@ def do_run(self, command, **kwargs): ['-ex', f'target remote {self.gdb_host}:{self.gdb_port}']) if command == 'debug': - gdb_cmd += [ '-ex', 'load', '-ex', 'monitor reset'] + # If the flash node points to ram, linkserver treats + # the ram as inaccessible and does not flash. + gdb_cmd += ['-ex', 'set mem inaccessible-by-default off'] + gdb_cmd += ['-ex', 'monitor reset', '-ex', 'load'] if command == 'attach': linkserver_cmd += ['--attach']