mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #9342 from Cypress-OpenOCD/master
Add support for debug and program launch configurationspull/9581/head
commit
7ba83a517d
|
@ -1,18 +1,63 @@
|
||||||
import re
|
"""
|
||||||
|
mbed SDK
|
||||||
|
Copyright (c) 2016-2019 ARM Limited
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
"""
|
||||||
|
import re
|
||||||
|
import os
|
||||||
|
import json
|
||||||
|
from collections import namedtuple
|
||||||
|
from tools.targets import TARGET_MAP
|
||||||
from os.path import join, exists
|
from os.path import join, exists
|
||||||
from os import makedirs, remove
|
from os import makedirs, remove
|
||||||
import shutil
|
import shutil
|
||||||
|
from copy import deepcopy
|
||||||
|
|
||||||
from tools.export.makefile import Makefile, GccArm, Armc5, IAR
|
from tools.export.makefile import Makefile, GccArm, Armc5, IAR
|
||||||
|
|
||||||
|
_eclipse_defs = os.path.join(
|
||||||
|
os.path.dirname(os.path.abspath(__file__)), 'cdt_definitions.json')
|
||||||
|
|
||||||
|
with open(_eclipse_defs, 'r') as f:
|
||||||
|
_CONFIGS_OPTIONS = json.load(f)
|
||||||
|
|
||||||
|
supported_launches = ['debug', 'program', 'erase']
|
||||||
|
|
||||||
class Eclipse(Makefile):
|
class Eclipse(Makefile):
|
||||||
"""Generic Eclipse project. Intended to be subclassed by classes that
|
"""Generic Eclipse project. Intended to be subclassed by classes that
|
||||||
specify a type of Makefile.
|
specify a type of Makefile.
|
||||||
"""
|
"""
|
||||||
|
def get_target_config(self, ctx, configuration):
|
||||||
|
"""Retrieve info from cdt_definitions.json"""
|
||||||
|
tgt = deepcopy(TARGET_MAP[self.target])
|
||||||
|
defaults = deepcopy(_CONFIGS_OPTIONS['default'])
|
||||||
|
eclipse_config = deepcopy(defaults['generic'])
|
||||||
|
if configuration in defaults:
|
||||||
|
eclipse_config.update(defaults[configuration])
|
||||||
|
|
||||||
|
target_specific = _CONFIGS_OPTIONS['targets']
|
||||||
|
if tgt.name in target_specific:
|
||||||
|
eclipse_config.update(target_specific[tgt.name]['generic'])
|
||||||
|
if configuration in target_specific[tgt.name]:
|
||||||
|
eclipse_config.update(target_specific[tgt.name][configuration])
|
||||||
|
|
||||||
|
return eclipse_config
|
||||||
|
|
||||||
def generate(self):
|
def generate(self):
|
||||||
"""Generate Makefile, .cproject & .project Eclipse project file,
|
"""Generate Makefile, .cproject & .project Eclipse project file,
|
||||||
py_ocd_settings launch file, and software link .p2f file
|
pyocd_settings launch files for both GNU ARM Eclipse and
|
||||||
|
GNU MCU Eclipse plug-ins, and software link .p2f file
|
||||||
"""
|
"""
|
||||||
super(Eclipse, self).generate()
|
super(Eclipse, self).generate()
|
||||||
starting_dot = re.compile(r'(^[.]/|^[.]$)')
|
starting_dot = re.compile(r'(^[.]/|^[.]$)')
|
||||||
|
@ -25,15 +70,30 @@ class Eclipse(Makefile):
|
||||||
'include_paths': [starting_dot.sub('%s/' % self.project_name, inc) for inc in self.resources.inc_dirs],
|
'include_paths': [starting_dot.sub('%s/' % self.project_name, inc) for inc in self.resources.inc_dirs],
|
||||||
'load_exe': str(self.LOAD_EXE).lower()
|
'load_exe': str(self.LOAD_EXE).lower()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
launch_cfgs = {}
|
||||||
|
for launch_name in supported_launches:
|
||||||
|
launch = deepcopy(ctx)
|
||||||
|
launch.update({'device': self.get_target_config(ctx, launch_name)})
|
||||||
|
launch_cfgs[launch_name] = launch
|
||||||
|
|
||||||
if not exists(join(self.export_dir,'eclipse-extras')):
|
if not exists(join(self.export_dir,'eclipse-extras')):
|
||||||
makedirs(join(self.export_dir,'eclipse-extras'))
|
makedirs(join(self.export_dir,'eclipse-extras'))
|
||||||
|
|
||||||
|
for launch_name, ctx in launch_cfgs.items():
|
||||||
|
# Generate launch configurations for former GNU ARM Eclipse plug-in
|
||||||
|
self.gen_file('cdt/%s' % 'pyocd_settings_gnu_arm.tmpl', ctx, join('eclipse-extras',
|
||||||
|
'{target}_{project}_{conf}_pyocd_settings.launch'.format(
|
||||||
|
target=self.target,
|
||||||
|
project=self.project_name,
|
||||||
|
conf=launch_name)))
|
||||||
|
# Generate launch configurations for GNU MCU Eclipse plug-in
|
||||||
|
self.gen_file('cdt/%s' % 'pyocd_settings_gnu_mcu.tmpl', ctx, join('eclipse-extras',
|
||||||
|
'{target}_{project}_{conf}.launch'.format(
|
||||||
|
target=self.target,
|
||||||
|
project=self.project_name,
|
||||||
|
conf=launch_name)))
|
||||||
|
|
||||||
self.gen_file('cdt/pyocd_settings.tmpl', ctx,
|
|
||||||
join('eclipse-extras',
|
|
||||||
'{target}_pyocd_{project}_settings.launch'.format(target=self.target,
|
|
||||||
project=self.project_name)))
|
|
||||||
self.gen_file('cdt/necessary_software.tmpl', ctx,
|
self.gen_file('cdt/necessary_software.tmpl', ctx,
|
||||||
join('eclipse-extras','necessary_software.p2f'))
|
join('eclipse-extras','necessary_software.p2f'))
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
{
|
||||||
|
"default": {
|
||||||
|
"generic": {
|
||||||
|
"doContinue": "true",
|
||||||
|
"doFirstReset": "true",
|
||||||
|
"doGdbServerAllocateSemihostingConsole": "true",
|
||||||
|
"doSecondReset": "true",
|
||||||
|
"enableSemihosting": "true",
|
||||||
|
"firstResetType": "init",
|
||||||
|
"gdbClientOtherCommands": "set mem inaccessible-by-default off",
|
||||||
|
"gdbClientOtherOptions": "",
|
||||||
|
"gdbServerBusSpeed": 1000000,
|
||||||
|
"gdbServerEnableSemihosting": "true",
|
||||||
|
"gdbServerFlashMode": 0,
|
||||||
|
"gdbServerGdbPortNumber": 3333,
|
||||||
|
"gdbServerHaltAtHardFault": "true",
|
||||||
|
"gdbServerOther": "",
|
||||||
|
"otherRunCommands": "",
|
||||||
|
"secondResetType": "halt",
|
||||||
|
"coreLoadImage": "true",
|
||||||
|
"coreLoadSymbols": "true",
|
||||||
|
"corePortNumber": 3333,
|
||||||
|
"setStopAt": "true"
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
},
|
||||||
|
"program": {
|
||||||
|
"doContinue": "false",
|
||||||
|
"otherRunCommands": "continue& quit",
|
||||||
|
"coreLoadSymbols": "false",
|
||||||
|
"setStopAt": "false"
|
||||||
|
},
|
||||||
|
"erase": {
|
||||||
|
"doContinue": "false",
|
||||||
|
"doSecondReset": "false",
|
||||||
|
"otherRunCommands": "mon erase --chip quit",
|
||||||
|
"coreLoadImage": "false",
|
||||||
|
"coreLoadSymbols": "false",
|
||||||
|
"setStopAt": "false"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"targets": {
|
||||||
|
"CY8CPROTO_062_4343W": {
|
||||||
|
"generic": {
|
||||||
|
"gdbServerGdbPortNumber": 3334,
|
||||||
|
"gdbServerOther": "-p 3333 --no-deprecation-warning",
|
||||||
|
"corePortNumber": 3334
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CY8CMOD_062_4343W": {
|
||||||
|
"generic": {
|
||||||
|
"gdbServerGdbPortNumber": 3334,
|
||||||
|
"gdbServerOther": "-p 3333 --no-deprecation-warning",
|
||||||
|
"corePortNumber": 3334
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CYW943012P6EVB_01": {
|
||||||
|
"generic": {
|
||||||
|
"gdbServerGdbPortNumber": 3334,
|
||||||
|
"gdbServerOther": "-p 3333 --no-deprecation-warning",
|
||||||
|
"corePortNumber": 3334
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CY8CKIT_062_WIFI_BT": {
|
||||||
|
"generic": {
|
||||||
|
"gdbServerGdbPortNumber": 3334,
|
||||||
|
"gdbServerOther": "-p 3333 --no-deprecation-warning",
|
||||||
|
"corePortNumber": 3334
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CY8CKIT_062_BLE": {
|
||||||
|
"generic": {
|
||||||
|
"gdbServerGdbPortNumber": 3334,
|
||||||
|
"gdbServerOther": "-p 3333 --no-deprecation-warning",
|
||||||
|
"corePortNumber": 3334
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CY8CKIT_062_4343W": {
|
||||||
|
"generic": {
|
||||||
|
"gdbServerGdbPortNumber": 3334,
|
||||||
|
"gdbServerOther": "-p 3333 --no-deprecation-warning",
|
||||||
|
"corePortNumber": 3334
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,46 +1,46 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<launchConfiguration type="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.launchConfigurationType">
|
<launchConfiguration type="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.launchConfigurationType">
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doContinue" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doContinue" value="{{device.doContinue}}"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doDebugInRam" value="false"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doDebugInRam" value="false"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doFirstReset" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doFirstReset" value="{{device.doFirstReset}}"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doGdbServerAllocateConsole" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doGdbServerAllocateConsole" value="true"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doGdbServerAllocateSemihostingConsole" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doGdbServerAllocateSemihostingConsole" value="{{device.doGdbServerAllocateSemihostingConsole}}"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doSecondReset" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doSecondReset" value="{{device.doSecondReset}}"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doStartGdbServer" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.doStartGdbServer" value="true"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.enableSemihosting" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.enableSemihosting" value="{{device.enableSemihosting}}"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.firstResetType" value="init"/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.firstResetType" value="{{device.firstResetType}}"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbClientOtherCommands" value="set mem inaccessible-by-default off"/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbClientOtherCommands" value="{{device.gdbClientOtherCommands}}"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbClientOtherOptions" value=""/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbClientOtherOptions" value="{{device.gdbClientOtherOptions}}"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerBoardId" value=""/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerBoardId" value=""/>
|
||||||
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerBusSpeed" value="1000000"/>
|
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerBusSpeed" value="{{device.gdbServerBusSpeed}}"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerConnectionAddress" value=""/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerConnectionAddress" value=""/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerEnableSemihosting" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerEnableSemihosting" value="{{device.gdbServerEnableSemihosting}}"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerExecutable" value="${pyocd_path}/${pyocd_executable}"/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerExecutable" value="${pyocd_path}/${pyocd_executable}"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerFlashFastVerify" value="false"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerFlashFastVerify" value="false"/>
|
||||||
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerFlashMode" value="0"/>
|
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerFlashMode" value="{{device.gdbServerFlashMode}}"/>
|
||||||
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerGdbPortNumber" value="3333"/>
|
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerGdbPortNumber" value="{{device.gdbServerGdbPortNumber}}"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerHaltAtHardFault" value="true"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerHaltAtHardFault" value="{{device.gdbServerHaltAtHardFault}}"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerLog" value=""/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerLog" value=""/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerOther" value=""/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerOther" value="{{device.gdbServerOther}}"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerOverrideTarget" value="false"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerOverrideTarget" value="false"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerStepIntoInterrutps" value="false"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerStepIntoInterrutps" value="false"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerTargetName" value=""/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerTargetName" value=""/>
|
||||||
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerTelnetPortNumber" value="4444"/>
|
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerTelnetPortNumber" value="4444"/>
|
||||||
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerUseGdbSyscalls" value="false"/>
|
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.gdbServerUseGdbSyscalls" value="false"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.otherInitCommands" value=""/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.otherInitCommands" value=""/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.otherRunCommands" value=""/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.otherRunCommands" value="{{device.otherRunCommands}}"/>
|
||||||
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.secondResetType" value="halt"/>
|
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.pyocd.secondResetType" value="{{device.secondResetType}}"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU ARM PyOCD"/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU ARM PyOCD"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="{{load_exe}}"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="{% if load_exe == device.coreLoadImage %}{{load_exe}}{% else %}{{device.coreLoadImage}}{% endif %}"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="{{load_exe}}"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="{% if load_exe == device.coreLoadSymbols %}{{load_exe}}{% else %}{{device.coreLoadSymbols}}{% endif %}"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
|
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="{{device.corePortNumber}}"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="{{device.setStopAt}}"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="ilg.gnumcueclipse.debug.gdbjtag.pyocd.launchConfigurationType">
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doContinue" value="{{device.doContinue}}"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doDebugInRam" value="false"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doFirstReset" value="{{device.doFirstReset}}"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doGdbServerAllocateConsole" value="true"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doGdbServerAllocateSemihostingConsole" value="{{device.doGdbServerAllocateSemihostingConsole}}"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doSecondReset" value="{{device.doSecondReset}}"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doStartGdbServer" value="true"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.enableSemihosting" value="{{device.enableSemihosting}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.firstResetType" value="{{device.firstResetType}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbClientOtherCommands" value="{{device.gdbClientOtherCommands}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbClientOtherOptions" value="{{device.gdbClientOtherOptions}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerBoardId" value=""/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerBoardName" value=""/>
|
||||||
|
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerBusSpeed" value="{{device.gdbServerBusSpeed}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerConnectionAddress" value=""/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerEnableSemihosting" value="{{device.gdbServerEnableSemihosting}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerExecutable" value="${pyocd_path}/${pyocd_executable}"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerFlashFastVerify" value="false"/>
|
||||||
|
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerFlashMode" value="{{device.gdbServerFlashMode}}"/>
|
||||||
|
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerGdbPortNumber" value="{{device.gdbServerGdbPortNumber}}"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerHaltAtHardFault" value="{{device.gdbServerHaltAtHardFault}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerLog" value=""/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerOther" value="{{device.gdbServerOther}}"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerOverrideTarget" value="false"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerStepIntoInterrutps" value="false"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerTargetName" value=""/>
|
||||||
|
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerTelnetPortNumber" value="4444"/>
|
||||||
|
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerUseGdbSyscalls" value="false"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.otherInitCommands" value=""/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.otherRunCommands" value="{{device.otherRunCommands}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.secondResetType" value="{{device.secondResetType}}"/>
|
||||||
|
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.svdPath" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU MCU PyOCD"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="{% if load_exe == device.coreLoadImage %}{{load_exe}}{% else %}{{device.coreLoadImage}}{% endif %}"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="{% if load_exe == device.coreLoadSymbols %}{{load_exe}}{% else %}{{device.coreLoadSymbols}}{% endif %}"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="{{device.corePortNumber}}"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="{{device.setStopAt}}"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="{{elf_location}}"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="{{name}}"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/{{name}}"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
</launchConfiguration>
|
Loading…
Reference in New Issue