From 4b0939539fb99ee8a399d8a59d295ff94c1eeebc Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Fri, 1 Jul 2016 23:50:53 +0200 Subject: o Creating targets for launching openocd and gdb. --- cmake/intel-quark-d2000.toolchain.cmake | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'cmake/intel-quark-d2000.toolchain.cmake') diff --git a/cmake/intel-quark-d2000.toolchain.cmake b/cmake/intel-quark-d2000.toolchain.cmake index 16f12f5..3537551 100644 --- a/cmake/intel-quark-d2000.toolchain.cmake +++ b/cmake/intel-quark-d2000.toolchain.cmake @@ -19,6 +19,10 @@ endif () get_filename_component(toolchain_dir "${CMAKE_TOOLCHAIN_FILE}" DIRECTORY) +macro(export_variable NAME) + set(${NAME} "${${NAME}}" PARENT_SCOPE) +endmacro() + set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR intel) set(CMAKE_CROSSCOMPILING 1) @@ -52,11 +56,14 @@ list(APPEND includes "${ISSM_DIR}/firmware/bsp/1.0/board/drivers") list(APPEND includes "${ISSM_DIR}/firmware/bsp/1.0/drivers/bmc150") if (INTEL_QUARK_CHIP STREQUAL D2000) - list(APPEND includes "${ISSM_DIR}/firmware/bsp/1.0/soc/quark_d2000/include") - set(ld_file "${ISSM_DIR}/firmware/bsp/1.0/soc/quark_d2000/quark_d2000.ld") + include("${toolchain_dir}/intel/d2000.cmake") + d2000_init() + + include("${toolchain_dir}/intel/openocd.cmake") + openocd_init() - list(APPEND mcu_text_areas 0x00180000:20k) - list(APPEND mcu_data_areas 0x00280000:5k) + include("${toolchain_dir}/intel/gdb.cmake") + gdb_init() elseif (INTEL_QUARK_CHIP STREQUAL SE) list(APPEND includes "${ISSM_DIR}/firmware/bsp/1.0/soc/quark_se/include") endif () @@ -216,4 +223,20 @@ function(add_extra_commands target_name) add_custom_command(TARGET ${target_name} DEPENDS elfinfo POST_BUILD COMMAND "${ELFINFO_INSTALL_DIR}/bin/elfinfo" -f ${target_name} ${text_segments} ${data_segments}) + + add_custom_target(${target_name}-openocd + DEPENDS ${target_name} + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" + COMMAND ${openocd_bin} -s ${openocd_scripts} -f board/quark_d2000_onboard.cfg) + + add_custom_target(${target_name}-gdb + DEPENDS ${target_name} + COMMAND ${gdb_bin} + -ex "target remote localhost:3333" + -ex "monitor gdb_breakpoint_override hard" + -ex "set remotetimeout 30" + -ex "monitor clk32M" + -ex "monitor reset halt" + ${target_name} + ) endfunction() -- cgit v1.2.3