主题中讨论的其他部件:SEGGER
工具/软件:
背景: 我将从 CCS 11.2 迁移到新的 CCS 20.2 IDE。 这一过程非常简单。 似乎无法(可靠)在工作区内支持多个调试配置。 如下面的 launch.json 文件中所示(通过 Debug -> Open “launch.json"获得“获得)获得)、我们有三种调试配置。 我们的产品在一个链中包含数十个处理器、即使在调试会话期间、该引导加载程序也需要通过在跳转到主应用程序之前运行的引导加载程序进行同步。 此引导加载程序在调试时保留不变、因为它是我们用于将可调试可执行文件复制到链中其余所有处理器的机制、我们使用各种 GEL 脚本和命令来执行附加的操作。 主调试会话主要用于调试链中的第一个处理器、且更加简单。 它所做的只是将应用程序下载到正确的位置并发出重置命令。 这会导致引导加载程序运行并复制整个可执行文件、然后(通过 loadSymbolsOnly 选项)我们将调试器连接到已刷写的系统。
第二个 (Debug-solo) 用于将调试探针连接到系统中的任何其他位置。 在这种情况下、我们需要使用 LMFlash、在按下全局复位按钮后、可通过 USB 强制将可调试的可执行文件下载到菊花链中的第一个文件、并以类似的方式更新下游的所有文件。 然后、我们以类似的方式连接到连接到的内核、但不会发出复位、因为 LMFlash 已经执行了此操作。
第三种是引导加载程序调试配置、由于其正常工作、很少使用。
在 CCS 11.2、甚至是版本 12 中一切都可以正常运行、但当我们最终转向 CCS 20.2 时、我们注意到没有直接支持基于 Eclipse 的旧工具上的原始启动配置。 这里有一个新功能、称为“launch.json"。“。 我已经成功地将“launch.json"与“与 VSCode 一起用于复杂的调试、因此我了解了它的工作原理。
现在实际问题是: 似乎无法可靠地将旧的启动配置移植到新格式。 所有选项似乎都存在、但它非常不稳定和/或随机。 在本例中、当我通过右键点击正在运行的线程“Cortex_M4_0"来“来编辑“properties"时“时、无论我在这里更改了任何设置、无论我是选择了“Debug"还是“还是“Debug-solo"配置“配置、始终将其设置写入“launch.json"中“中的第一个调试配置。 无论我在 CCS 中选择哪种调试配置(播放按钮,左侧第 4 个图标,然后在下拉列表中选择相应的项目)、我都始终开始调试第一个调试。
是的、我已经阅读了整个调试概述(此处)、还尝试了“无工程“调试、似乎无法超越所有账户中的内容、launch.json 文件中似乎是一个令人讨厌的错误。 这阻碍了我们今后使用新工具、我们希望获得解决方案或解决方案方面的任何帮助。 谢谢你。
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "ccs-debug",
"request": "launch",
"targetConfig": "${workspaceFolder}\\Software\\common_hardware.ccxml",
"projectInfo": {
"name": "common_hardware",
"resourceId": "/common_hardware",
"loadSymbolsOnly": true,
"autoBuild": false
},
"connections": [
{
"name": "SEGGER J-Link Emulator",
"cores": [
{
"name": "CORTEX_M4_0",
"debuggerSettings": {
"data": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<PropertyValues>\n\n <property id=\"ResetOnRestart\">\n <curValue>0</curValue>\n </property>\n\n <property id=\"RestartOnSymbolLoad\">\n <curValue>0</curValue>\n </property>\n\n <property id=\"HaltOnConnect\">\n <curValue>1</curValue>\n </property>\n\n <property id=\"AutoResetOnConnect\">\n <curValue>0</curValue>\n </property>\n\n</PropertyValues>\n"
}
}
]
}
]
},
{
"name": "Debug-solo",
"type": "ccs-debug",
"request": "launch",
"targetConfig": "${workspaceFolder}\\Software\\common_hardware-solo.ccxml",
"projectInfo": {
"name": "common_hardware",
"resourceId": "/common_hardware",
"loadSymbolsOnly": true,
"autoBuild": false
},
"connections": [
{
"name": "SEGGER J-Link Emulator",
"cores": [
{
"name": "CORTEX_M4_0",
"debuggerSettings": {
"data": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<PropertyValues>\n\n <property id=\"ResetOnRestart\">\n <curValue>1</curValue>\n </property>\n\n <property id=\"RestartOnSymbolLoad\">\n <curValue>1</curValue>\n </property>\n\n <property id=\"HaltOnConnect\">\n <curValue>1</curValue>\n </property>\n\n <property id=\"AutoResetOnConnect\">\n <curValue>1</curValue>\n </property>\n\n</PropertyValues>\n"
}
}
]
}
]
},
{
"name": "bootloader",
"type": "ccs-debug",
"request": "launch",
"projectInfo": {
"name": "bootloader",
"resourceId": "/bootloader"
}
}
]
}e2e.ti.com/.../gels.zip

