工具准备:(文末有一键打包)
VSCODE 至少V1.69以上 下载
(内含插件:C/C++;C++ Intellisense;Embedded IDE;Cortex Debug;IAR Build;IAR C-SPY Debug;git;Git Graph)
联网PC直接跳过
无网PC一定要下载Embedded IDE3.9离线包
IAR 7.80.4 / 8.20.2 / 8.40.2 / 8.50 均验证通过
目前支持jlink和xds110
{
"label": "Open--syscfg",
"command": "open_syscfg.exe",
"problemMatcher": []
}
open_syscfg.exe是小工具:
.版本 2
.子程序 __启动窗口_创建完毕
.局部变量 env_句柄, 整数型
.局部变量 临时文本, 文本型
.局部变量 SYSCONFIG_ROOT, 文本型
.局部变量 TI_SDK, 文本型
.局部变量 cmd, 文本型
.局部变量 syscfg_name, 文本型
env_句柄 = 打开文件 (取运行目录 () + “/.eide/env.ini”, #读入, )
临时文本 = 读入文本 (env_句柄, )
TI_SDK = 文本_取出中间文本 (临时文本, “TI_SDK = ”, #换行符, , )
SYSCONFIG_ROOT = 文本_取出中间文本 (临时文本, “SYSCONFIG_ROOT = ”, #换行符, , )
syscfg_name = 寻找文件 (取运行目录 () + “/syscfg/*.syscfg”, )
cmd = SYSCONFIG_ROOT + “/nw/nw.exe ” + SYSCONFIG_ROOT + “ --compiler iar --product ” + TI_SDK + “/.metadata/product.json --board ti/boards/CC26X2R1_LAUNCHXL --output ” + 取运行目录 () + “/syscfg/ ” + 取运行目录 () + “/syscfg/” + syscfg_name
输出调试文本 (cmd)
运行 (cmd, 假, )
结束 ()
原理:通过cmd,调用syscfg。
C:\Users\Administrator>C:\ti\sysconfig_1.7.0\nw\nw.exe C:\ti\sysconfig_1.7.0 --compiler iar --product C:\ti\simplelink_cc13x2_26x2_sdk_4_40_04_04.metadata\product.json --output F:\ti_test\multi_role\multi_role.syscfg --board \ti\boards\CC26X2R1_LAUNCHXL F:\ti_test\multi_role\multi_role.syscfg
工具下载
vscode 快捷键F5
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 env_句柄, 整数型
.局部变量 临时文本, 文本型
.局部变量 TI_SDK, 文本型
.局部变量 XDCROOT, 文本型
.局部变量 IAR_PATH, 文本型
.局部变量 cmd, 文本型
.局部变量 PATH, 文本型
env_句柄 = 打开文件 (取运行目录 () + “/.eide/env.ini”, #读入, )
临时文本 = 读入文本 (env_句柄, )
XDCROOT = 文本_取出中间文本 (临时文本, “XDCROOT = ”, #换行符, , )
TI_SDK = 文本_取出中间文本 (临时文本, “TI_SDK = ”, #换行符, , )
IAR_PATH = 文本_取出中间文本 (临时文本, “IAR_PATH = ”, #换行符, , )
cmd = #CMD_XS
cmd = 文本_替换 (cmd, , , , “$(XDCROOT)”, XDCROOT, “$(TI_SDK)”, TI_SDK, “$(IAR_PATH)”, IAR_PATH, , , , )
输出调试文本 (cmd)
运行 (cmd, 假, )
结束 ()
脱离IAR环境,生成configPkg。
其他配置,参考下文: openocd下载和配置,快捷键设定
[CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境
├─.eide // EIDE配置,env.ini–协议栈/sysconfig等路径
├─.vscode // c_cpp_properties.json–配置引用文件,使VScode能跳转文件 settings.json–过滤不搜索的文件
├─Application
├─build
├─configPkg // CC26xx配置文件(自动生成,不需要管)
├─doc // 项目资料在目录/doc/
├─edebug // 简易调试内含(Jlink(RTT)+XDS(UART)), AT调试
├─IARPro // IAR工程,已经废弃
├─Middleware // 中间件
├─Module // 模组
│ └─atcmd // AT指令模块
├─settings // EIDE 编译器参数(不用管)
├─Startup // CC26xx启动文件 含main.c
└─syscfg // CC26xx图形化文件
https://lisun.blog.csdn.net/article/details/126582957
xs进程被堵塞,应该是隐藏进程,任务管理器找不到,目前只能重启电脑
https://lisun.blog.csdn.net/article/details/126600431
x:\VSCode\data\user-data\User\settings.json
如果Jlink不使用,可以不用配置[cortex-debug.JLinkGDBServerPath] [EIDE.JLink.InstallDirectory] [JLinkRTTClient]
如果XDS不使用,可以不用配置[cortex-debug.openocdPath] [EIDE.OpenOCD.ExePath]
填写如下内容(根据实际路径配置):
{
“files.trimTrailingWhitespace”: true,
“files.autoGuessEncoding”: true,
“editor.renderWhitespace”: “boundary”,
“cortex-debug.armToolchainPath”: “C:\ti\arm-none-eabi\”,
“cortex-debug.openocdPath”: “C:\ti\OpenOCD\bin\”,
“cortex-debug.JLinkGDBServerPath”: “C:\ti\JLink_V646k\JLinkGDBServerCL.exe”,
“git.enableSmartCommit”: true,
“EIDE.ARM.Option.AxfToElf”: true,
“EIDE.JLink.InstallDirectory”: “C:\ti\JLink_V646k\”,
“EIDE.OpenOCD.ExePath”: “C:\ti\OpenOCD\bin\openocd.exe”,
“EIDE.IAR.ARM.Toolchain.InstallDirectory”: “C:\IAR8.50\arm\”,
“terminal.integrated.profiles.windows”: {
“gitBash”: { //这里的名称开头若是大写不能有空格(如:GitBash)
“path”: “G:\Git\bin\bash.exe”, //此处是git本地安装路径
},
“JLinkRTTClient”:{
“path”: “C:\ti\JLink\JLinkRTTClient.exe”,
}
},
}
快捷键自定义绑定(可默认)
x:\VSCode\data\user-data\User\keybindings.json
TI_SDK XDCROOT SYSCONFIG_ROOT FREERTOS_INSTALL_DIR IAR_PATH
终端–运行任务–resetXDS110
注:请核对路径是否正确。(.vscode–tasks.json–resetXDS110 Path)
J-Link: Flash download: Bank 0 @ 0x00000000: Skipped. Contents already match
O.K.
Reset delay: 0 ms
Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.
****** Error: CPU is not halted
错误如下:
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway…
Error: cc26x2.jrc: IR capture error; saw 0x00 not 0x01
Warn : Bypassing JTAG setup events due to errors
Info : starting gdb server for cc26x2.cpu on 3333
Info : Listening on port 3333 for gdb connections
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway…
Warn : Bypassing JTAG setup events due to errors
** Programming Started **
Error: Target not examined yet
Error: auto_probe failed
** Programming Failed **
shutdown command invoked
解决:暂无
目的:保持根目录干净