mirror of https://github.com/ARMmbed/mbed-os.git
Replace REDLINK upload method with LINKSERVER (#186)
* Replace REDLINK upload method with LINKSERVER * Fix sleep test failure on MIMXRT, fix failure to debug * Remove no longer needed XML filespull/15494/head
parent
86723f7dab
commit
05a57dc62c
|
@ -5,6 +5,11 @@ if(NOT "DEVICE_RESET_REASON=1" IN_LIST MBED_TARGET_DEFINITIONS)
|
|||
set(TEST_SKIPPED "Reset Reason is not supported for this target")
|
||||
endif()
|
||||
|
||||
if("TARGET_MIMXRT105X" IN_LIST MBED_TARGET_DEFINITIONS)
|
||||
# This test causes this target to die. See https://github.com/mbed-ce/mbed-os/issues/83
|
||||
set(TEST_SKIPPED "Temporarily disabled for this target, see #83")
|
||||
endif()
|
||||
|
||||
mbed_greentea_add_test(
|
||||
TEST_NAME
|
||||
mbed-hal-reset-reason
|
||||
|
|
|
@ -5,7 +5,7 @@ if(NOT "DEVICE_RTC=1" IN_LIST MBED_TARGET_DEFINITIONS)
|
|||
set(TEST_SKIPPED "RTC is not supported for this target")
|
||||
endif()
|
||||
|
||||
if(MBED_TARGET STREQUAL "MIMXRT1050_EVK")
|
||||
if("TARGET_MIMXRT105X" IN_LIST MBED_TARGET_DEFINITIONS)
|
||||
# This test causes this target to die. See https://github.com/mbed-ce/mbed-os/issues/83
|
||||
set(TEST_SKIPPED "Temporarily disabled for this target, see #83")
|
||||
endif()
|
||||
|
|
|
@ -192,11 +192,11 @@ void deepsleep_high_speed_clocks_turned_off_test()
|
|||
/* High freqency ticker should be disabled in deep-sleep mode. We expect that time difference between
|
||||
* ticker reads before and after the sleep represents only code execution time between calls.
|
||||
* Since we went to sleep for about 20 ms check if time counted by high frequency timer does not
|
||||
* exceed 1 ms.
|
||||
* exceed the deep sleep enter/exit time.
|
||||
*/
|
||||
const unsigned int us_ticks_diff = (us_ticks_before_sleep <= us_ticks_after_sleep) ? (us_ticks_after_sleep - us_ticks_before_sleep) : (us_ticker_mask - us_ticks_before_sleep + us_ticks_after_sleep + 1);
|
||||
|
||||
TEST_ASSERT_UINT32_WITHIN(1000, 0, ticks_to_us(us_ticks_diff, us_ticker_freq));
|
||||
TEST_ASSERT_UINT32_WITHIN(DEEP_SLEEP_TOLERANCE_US, 0, ticks_to_us(us_ticks_diff, us_ticker_freq));
|
||||
|
||||
sprintf(info, "Delta ticks: %u, Ticker width: %u, Expected wake up tick: %" PRIu32 ", Actual wake up tick: %d\n",
|
||||
us_to_ticks(deepsleep_mode_delta_us, lp_ticker_freq), lp_ticker_width, wakeup_time, lp_ticks_after_sleep);
|
||||
|
|
|
@ -45,6 +45,12 @@
|
|||
*/
|
||||
#define SERIAL_FLUSH_TIME_MS 150
|
||||
|
||||
// Tolerance for extra sleep time in the deep sleep test.
|
||||
// This accounts for the time that the processor spends going to sleep and waking up.
|
||||
// The hal_deepsleep() docs specify this to be less than 10ms
|
||||
// Current leader is the MIMXRT105x, which takes almost 6ms to enter/exit deep sleep.
|
||||
#define DEEP_SLEEP_TOLERANCE_US 6000ULL
|
||||
|
||||
#define US_PER_S 1000000
|
||||
|
||||
unsigned int ticks_to_us(unsigned int ticks, unsigned int freq)
|
||||
|
|
|
@ -31,12 +31,6 @@
|
|||
|
||||
#define SLEEP_DURATION_US 50000ULL
|
||||
|
||||
// Tolerance for extra sleep time in the deep sleep test.
|
||||
// This accounts for the time that the processor spends going to sleep and waking up.
|
||||
// The hal_deepsleep() docs specify this to be less than 10ms
|
||||
// Current leader is the MIMXRT105x, which takes almost 5ms to enter/exit deep sleep.
|
||||
#define DEEP_SLEEP_TOLERANCE_US 5000ULL
|
||||
|
||||
#define DEEP_SLEEP_TEST_CHECK_WAIT_US 2000
|
||||
// As sleep_manager_can_deep_sleep_test_check() is based on wait_ns
|
||||
// and wait_ns can be up to 40% slower, use a 50% delta here.
|
||||
|
|
|
@ -17,15 +17,8 @@ set(PYOCD_UPLOAD_ENABLED TRUE)
|
|||
set(PYOCD_TARGET_NAME mimxrt1050_hyperflash) # Note: change to "mimxrt1050_quadspi" if onboard QSPI flash is used
|
||||
set(PYOCD_CLOCK_SPEED 4000k)
|
||||
|
||||
# Config options for REDLINK
|
||||
# Config options for LINKSERVER
|
||||
# -------------------------------------------------------------
|
||||
set(REDLINK_UPLOAD_ENABLED TRUE)
|
||||
set(REDLINK_PART_NUMBER MIMXRT1052xxxxB)
|
||||
set(REDLINK_PART_XML_DIR ${CMAKE_CURRENT_LIST_DIR}/redlink_cfgs)
|
||||
set(REDLINK_CLOCK_SPEED 4000)
|
||||
set(REDLINK_CONNECT_ARGS
|
||||
--connectscript=RT1050_connect.scp
|
||||
--reset=
|
||||
--coreindex 0
|
||||
--cache disable
|
||||
--no-packed)
|
||||
set(LINKSERVER_UPLOAD_ENABLED TRUE)
|
||||
# note: might need to change the below to MIMXRT1052xxxxx:EVK-IMXRT1050 if you have an EVK rev A
|
||||
set(LINKSERVER_DEVICE MIMXRT1052xxxxB:EVKB-IMXRT1050)
|
||||
|
|
|
@ -27,15 +27,7 @@ set(PYOCD_UPLOAD_ENABLED TRUE)
|
|||
set(PYOCD_TARGET_NAME mimxrt1060) # Note: This seems to use QSPI. There does not seem to be a pyocd equivalent for hyperflash.
|
||||
set(PYOCD_CLOCK_SPEED 4000k)
|
||||
|
||||
# Config options for REDLINK
|
||||
# Config options for LINKSERVER
|
||||
# -------------------------------------------------------------
|
||||
set(REDLINK_UPLOAD_ENABLED TRUE)
|
||||
set(REDLINK_PART_NUMBER MIMXRT1062xxxxA)
|
||||
set(REDLINK_PART_XML_DIR ${CMAKE_CURRENT_LIST_DIR}/redlink_cfgs)
|
||||
set(REDLINK_CLOCK_SPEED 4000)
|
||||
set(REDLINK_CONNECT_ARGS
|
||||
--connectscript=RT1060_connect.scp
|
||||
--reset=
|
||||
--coreindex 0
|
||||
--cache disable
|
||||
--no-packed)
|
||||
set(LINKSERVER_UPLOAD_ENABLED TRUE)
|
||||
set(LINKSERVER_DEVICE MIMXRT1062xxxxx:MIMXRT1060-EVKB)
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<directory>
|
||||
<chips chipVendor='NXP' >
|
||||
<chip name='MIMXRT1052xxxxB' xml_file='MIMXRT1052xxxxB_part.xml' />
|
||||
</chips>
|
||||
</directory>
|
|
@ -1,3 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Mbed OS: Modified this file to replace MIMXRT1050_SFDP_HYPERFLASH.cfx with MIMXRT1050-EVK_S26KS512S.cfx -->
|
||||
<infoList vendor="NXP">
<info chip="MIMXRT1052xxxxB" name="MIMXRT1052xxxxB">
<chip>
<name>MIMXRT1052xxxxB</name>
<family>MIMXRT1050</family>
<vendor>NXP</vendor>
<memory can_program="true" id="Flash" is_ro="true" size="0" type="Flash"/>
<memory id="RAM" size="512" type="RAM"/>
<memoryInstance derived_from="Flash" driver="MIMXRT1050-EVK_S26KS512S.cfx" id="BOARD_FLASH" location="0x60000000" size="0x4000000"/>
<memoryInstance derived_from="RAM" id="SRAM_DTC" location="0x20000000" size="0x20000"/>
<memoryInstance derived_from="RAM" id="SRAM_ITC" location="0x0" size="0x20000"/>
<memoryInstance derived_from="RAM" id="SRAM_OC" location="0x20200000" size="0x40000"/>
<memoryInstance derived_from="RAM" id="BOARD_SDRAM" location="0x80000000" size="0x1e00000"/>
<memoryInstance derived_from="RAM" id="NCACHE_REGION" location="0x81e00000" size="0x200000"/>
</chip>
<processor>
<name gcc_name="cortex-m7">Cortex-M7</name>
<family>Cortex-M</family>
</processor>
</info>
</infoList>
|
|
@ -1,5 +0,0 @@
|
|||
<directory>
|
||||
<chips chipVendor='NXP' >
|
||||
<chip name='MIMXRT1062xxxxA' xml_file='MIMXRT1062xxxxA_part.xml' />
|
||||
</chips>
|
||||
</directory>
|
|
@ -1,2 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<infoList vendor="NXP">
<info chip="MIMXRT1062xxxxA" name="MIMXRT1062xxxxA">
<chip>
<name>MIMXRT1062xxxxA</name>
<family>MIMXRT1060</family>
<vendor>NXP</vendor>
<memory can_program="true" id="Flash" is_ro="true" size="0" type="Flash"/>
<memory id="RAM" size="1024" type="RAM"/>
<memoryInstance derived_from="Flash" driver="MIMXRT1060_SFDP_QSPI.cfx" id="BOARD_FLASH" location="0x60000000" size="0x800000"/>
<memoryInstance derived_from="RAM" id="SRAM_DTC" location="0x20000000" size="0x20000"/>
<memoryInstance derived_from="RAM" id="SRAM_ITC" location="0x0" size="0x20000"/>
<memoryInstance derived_from="RAM" id="SRAM_OC2" location="0x20200000" size="0x80000"/>
<memoryInstance derived_from="RAM" id="SRAM_OC" location="0x20280000" size="0x40000"/>
<memoryInstance derived_from="RAM" id="BOARD_SDRAM" location="0x80000000" size="0x1e00000"/>
<memoryInstance derived_from="RAM" id="NCACHE_REGION" location="0x81e00000" size="0x200000"/>
</chip>
<processor>
<name gcc_name="cortex-m7">Cortex-M7</name>
<family>Cortex-M</family>
</processor>
</info>
</infoList>
|
|
@ -28,7 +28,7 @@ endif()
|
|||
# UPLOAD_GDBSERVER_DEBUG_COMMAND - Command to start a new GDB server
|
||||
# UPLOAD_WANTS_EXTENDED_REMOTE - True iff GDB should use "target extended-remote" to connect to the GDB server
|
||||
# UPLOAD_LAUNCH_COMMANDS - List of GDB commands to run after launching GDB.
|
||||
# UPLOAD_RESTART_COMMANDS - List of commands to run when the "restart chip" function is used.
|
||||
# UPLOAD_RESTART_COMMANDS - List of GDB commands to run when the "restart chip" function is used.
|
||||
# See here for more info: https://github.com/mbed-ce/mbed-os/wiki/Debugger-Commands-and-State-in-Upload-Methods
|
||||
include(UploadMethod${UPLOAD_METHOD})
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# Copyright (c) 2023 ARM Limited. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# ----------------------------------------------
|
||||
# CMake finder for LinkServer, the NXP command-line flash and debug tool
|
||||
#
|
||||
# This module defines:
|
||||
# LinkServer - Whether the reqested tools were found.
|
||||
# LinkServer_PATH - full path to the LinkServer command line tool.
|
||||
|
||||
# Check for LinkServer install folders on Windows
|
||||
if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
|
||||
# On Windows, LinkServer by default is installed into a subdirectory of
|
||||
# C:/nxp
|
||||
file(GLOB LINKSERVER_HINTS LIST_DIRECTORIES TRUE "C:/nxp/LinkServer_*")
|
||||
elseif("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Darwin")
|
||||
# On Mac, it was observed to install into /Applications/LinkServer_1.2.45/dist
|
||||
file(GLOB LINKSERVER_HINTS LIST_DIRECTORIES TRUE "/Applications/LinkServer_*/dist")
|
||||
else()
|
||||
set(LINKSERVER_HINTS /usr/local/LinkServer) # Linux package install location
|
||||
endif()
|
||||
|
||||
find_program(LinkServer_PATH
|
||||
NAMES LinkServer
|
||||
DOC "Path to the LinkServer executable."
|
||||
HINTS ${LINKSERVER_HINTS}
|
||||
)
|
||||
|
||||
find_package_handle_standard_args(LinkServer REQUIRED_VARS LinkServer_PATH)
|
||||
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
# Copyright (c) 2022 ARM Limited. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# ----------------------------------------------
|
||||
# CMake finder for Redlink, the NXP MCUXpresso debug tool
|
||||
#
|
||||
# This module defines:
|
||||
# Redlink_FOUND - Whether the reqested tools were found.
|
||||
# crt_emu_cm_redlink_PATH - full path to the Redlink command line tool (crt_emu_cm_redlink).
|
||||
# REDLINK_FLASH_LOADER_PATH - path to the directory where flash loaders are (contains MIMXRT1050_SFDP_HYPERFLASH.cfx)
|
||||
|
||||
# first try to locate MCUXpresso IDE in its default location
|
||||
set(MCUXPRESSO_IDE_LINUX_HINTS "")
|
||||
set(MCUXPRESSO_IDE_WINDOWS_HINTS "")
|
||||
if(EXISTS "C:/nxp/")
|
||||
# On Windows, MCUXpresso by default is installed into a subdirectory of
|
||||
# C:/nxp
|
||||
file(GLOB MCUXPRESSO_IDE_WINDOWS_HINTS LIST_DIRECTORIES TRUE "C:/nxp/MCUXpressoIDE_*/ide")
|
||||
endif()
|
||||
|
||||
find_path(MCUXPRESSO_IDE_PATH
|
||||
NAMES mcuxpressoide.ini
|
||||
DOC "Path to MCUXPresso IDE. This directory should contain mcuxpressoide.ini. Used to find Redlink"
|
||||
PATHS
|
||||
${MCUXPRESSO_IDE_WINDOWS_HINTS} # Windows
|
||||
/usr/local/mcuxpressoide/ide # Linux
|
||||
/Applications/MCUXpressoIDE.app/Contents/Eclipse # OS X
|
||||
)
|
||||
|
||||
set(Redlink_HINTS "")
|
||||
if(EXISTS "${MCUXPRESSO_IDE_PATH}")
|
||||
message(STATUS "Located MCUXpresso IDE: ${MCUXPRESSO_IDE_PATH}")
|
||||
|
||||
# find install dirs inside IDE, which also have version numbers
|
||||
file(GLOB REDLINK_INSTALL_DIRS LIST_DIRECTORIES TRUE "${MCUXPRESSO_IDE_PATH}/plugins/com.nxp.mcuxpresso.tools.bin.*/binaries")
|
||||
list(GET REDLINK_INSTALL_DIRS 0 REDLINK_INSTALL_DIR) # If glob returns multiple just pick one
|
||||
if(EXISTS "${REDLINK_INSTALL_DIR}")
|
||||
list(APPEND Redlink_HINTS ${REDLINK_INSTALL_DIR})
|
||||
endif()
|
||||
elseif()
|
||||
message(WARNING "Failed to find MCUXpresso IDE, will still look for Redlink (crt_emu_cm_redlink) on your PATH. Recommend setting MCUXPRESSO_IDE_PATH to the location of MCUXpresso IDE.")
|
||||
endif()
|
||||
|
||||
find_program(crt_emu_cm_redlink_PATH
|
||||
NAMES crt_emu_cm_redlink
|
||||
DOC "Path to the Redlink crt_emu_cm_redlink executable."
|
||||
HINTS ${Redlink_HINTS})
|
||||
|
||||
find_path(REDLINK_FLASH_LOADER_PATH
|
||||
NAMES MIMXRT1050_SFDP_HYPERFLASH.cfx
|
||||
DOC "Path to the directory where the Redlink flash loaders are (contains MIMXRT1050_SFDP_HYPERFLASH.cfx)."
|
||||
HINTS ${Redlink_HINTS}
|
||||
PATH_SUFFIXES Flash)
|
||||
|
||||
find_package_handle_standard_args(Redlink REQUIRED_VARS crt_emu_cm_redlink_PATH REDLINK_FLASH_LOADER_PATH)
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
# Copyright (c) 2022 ARM Limited. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
### NXP LinkServer Upload Method
|
||||
# This method needs the following parameters:
|
||||
# LINKSERVER_DEVICE - Chip name and board to connect to, separated by a colon.
|
||||
# LINKSERVER_PROBE_SN - Serial number, or serial number substring, of the debug probe to connect to. If blank, will connect to any probe.
|
||||
|
||||
set(UPLOAD_SUPPORTS_DEBUG TRUE)
|
||||
|
||||
### Handle options
|
||||
set(LINKSERVER_PROBE_SN "" CACHE STRING "Serial number, or serial number substring, of the debug probe to connect to. If blank, will connect to any probe.")
|
||||
|
||||
if("${LINKSERVER_PROBE_SN}" STREQUAL "")
|
||||
# This argument causes Redlink to connect to the first available debug probe
|
||||
set(LINKSERVER_PROBE_ARGS "" CACHE INTERNAL "" FORCE)
|
||||
else()
|
||||
set(LINKSERVER_PROBE_ARGS --probe ${LINKSERVER_PROBE_SN} CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
|
||||
if("${LINKSERVER_DEVICE}" STREQUAL "")
|
||||
message(FATAL_ERROR "You must set LINKSERVER_DEVICE in your CMake scripts to use REDLINK")
|
||||
endif()
|
||||
|
||||
### Check if upload method can be enabled on this machine
|
||||
find_package(LinkServer)
|
||||
set(UPLOAD_LINKSERVER_FOUND ${LinkServer_FOUND})
|
||||
|
||||
### Function to generate upload target
|
||||
|
||||
function(gen_upload_target TARGET_NAME BIN_FILE HEX_FILE)
|
||||
|
||||
add_custom_target(flash-${TARGET_NAME}
|
||||
COMMENT "Flashing ${TARGET_NAME} with LinkServer..."
|
||||
COMMAND ${LinkServer_PATH}
|
||||
flash
|
||||
${LINKSERVER_PROBE_ARGS}
|
||||
${LINKSERVER_DEVICE}
|
||||
load
|
||||
$<TARGET_FILE:${TARGET_NAME}>)
|
||||
|
||||
add_dependencies(flash-${TARGET_NAME} ${TARGET_NAME})
|
||||
|
||||
endfunction(gen_upload_target)
|
||||
|
||||
### Commands to run the debug server.
|
||||
set(UPLOAD_GDBSERVER_DEBUG_COMMAND
|
||||
${LinkServer_PATH}
|
||||
gdbserver
|
||||
${LINKSERVER_PROBE_ARGS}
|
||||
--gdb-port ${GDB_PORT}
|
||||
${LINKSERVER_DEVICE}
|
||||
)
|
||||
|
||||
# request extended-remote GDB sessions
|
||||
set(UPLOAD_WANTS_EXTENDED_REMOTE TRUE)
|
||||
|
||||
set(UPLOAD_LAUNCH_COMMANDS
|
||||
"monitor reset" # undocumented, but works
|
||||
"load"
|
||||
"break main"
|
||||
"monitor reset"
|
||||
)
|
||||
set(UPLOAD_RESTART_COMMANDS
|
||||
"monitor reset"
|
||||
)
|
|
@ -1,92 +0,0 @@
|
|||
# Copyright (c) 2022 ARM Limited. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
### Redlink Upload Method
|
||||
# This method needs the following parameters:
|
||||
# REDLINK_PART_NUMBER - Part number (-p) argument to pass to the upload tool
|
||||
# REDLINK_PART_XML_DIR - Directory where the XML files for this MCU can be found.
|
||||
# REDLINK_CLOCK_SPEED - JTAG/SWD clock speed to talk to the target at.
|
||||
# REDLINK_CONNECT_ARGS - Extra connect arguments to pass to Redlink tool. These can be gotten by watching the command that MCUXpresso IDE executes when you start a debug session.
|
||||
# This method creates the following options:
|
||||
# REDLINK_PROBE_SN - Serial number of the debug probe to connect to. If blank, will connect to any probe.
|
||||
|
||||
set(UPLOAD_SUPPORTS_DEBUG TRUE)
|
||||
|
||||
### Handle options
|
||||
set(REDLINK_PROBE_SN "" CACHE STRING "Serial number of the debug probe to connect to for Redlink. Set to empty to detect any matching adapter.")
|
||||
|
||||
if("${REDLINK_PROBE_SN}" STREQUAL "")
|
||||
# This argument causes Redlink to connect to the first available debug probe
|
||||
set(REDLINK_PROBE_ARGS --probehandle 1 CACHE INTERNAL "" FORCE)
|
||||
else()
|
||||
set(REDLINK_PROBE_ARGS --probeserial ${REDLINK_PROBE_SN} CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
|
||||
if("${REDLINK_PART_NUMBER}" STREQUAL "")
|
||||
message(FATAL_ERROR "You must set REDLINK_PART_NUMBER in your CMake scripts to use REDLINK")
|
||||
endif()
|
||||
|
||||
if("${REDLINK_PART_XML_DIR}" STREQUAL "")
|
||||
message(FATAL_ERROR "You must set REDLINK_PART_XML_DIR in your CMake scripts to use REDLINK")
|
||||
endif()
|
||||
|
||||
if("${REDLINK_CLOCK_SPEED}" STREQUAL "")
|
||||
message(FATAL_ERROR "You must set REDLINK_CLOCK_SPEED in your CMake scripts to use REDLINK")
|
||||
endif()
|
||||
|
||||
### Check if upload method can be enabled on this machine
|
||||
find_package(Redlink)
|
||||
set(UPLOAD_REDLINK_FOUND ${Redlink_FOUND})
|
||||
|
||||
### Function to generate upload target
|
||||
|
||||
function(gen_upload_target TARGET_NAME BIN_FILE HEX_FILE)
|
||||
|
||||
add_custom_target(flash-${TARGET_NAME}
|
||||
COMMENT "Flashing ${TARGET_NAME} with Redlink..."
|
||||
COMMAND ${crt_emu_cm_redlink_PATH}
|
||||
-p ${REDLINK_PART_NUMBER}
|
||||
--flash-hashing
|
||||
-x ${REDLINK_PART_XML_DIR}
|
||||
--flash-dir ${REDLINK_FLASH_LOADER_PATH}
|
||||
-g
|
||||
-s ${REDLINK_CLOCK_SPEED}
|
||||
${REDLINK_CONNECT_ARGS}
|
||||
${REDLINK_PROBE_ARGS}
|
||||
--flash-load-exec $<TARGET_FILE:${TARGET_NAME}>)
|
||||
|
||||
add_dependencies(flash-${TARGET_NAME} ${TARGET_NAME})
|
||||
|
||||
endfunction(gen_upload_target)
|
||||
|
||||
### Commands to run the debug server.
|
||||
set(UPLOAD_GDBSERVER_DEBUG_COMMAND
|
||||
${crt_emu_cm_redlink_PATH}
|
||||
-p ${REDLINK_PART_NUMBER}
|
||||
--flash-hashing
|
||||
-x ${REDLINK_PART_XML_DIR}
|
||||
--flash-dir ${REDLINK_FLASH_LOADER_PATH}
|
||||
-g
|
||||
-s ${REDLINK_CLOCK_SPEED}
|
||||
-2
|
||||
${REDLINK_CONNECT_ARGS}
|
||||
${REDLINK_PROBE_ARGS}
|
||||
--server :${GDB_PORT}
|
||||
--vc
|
||||
--connect-reset system
|
||||
--kill-server # Close Redlink when GDB exits
|
||||
)
|
||||
|
||||
|
||||
# request extended-remote GDB sessions
|
||||
set(UPLOAD_WANTS_EXTENDED_REMOTE TRUE)
|
||||
|
||||
set(UPLOAD_LAUNCH_COMMANDS
|
||||
"monitor reset" # undocumented, but works
|
||||
"load"
|
||||
"break main"
|
||||
"monitor reset"
|
||||
)
|
||||
set(UPLOAD_RESTART_COMMANDS
|
||||
"monitor reset"
|
||||
)
|
Loading…
Reference in New Issue