工具准备:(文末有一键打包)
- 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
vscode 打开syscfg图形化界面
{
"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
例程下载
生成configPkg
.版本 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的开发环境
本项目需要的依赖 任意IAR版本,JLink或者OpenOCD+XDS110,simplelink_cc13x2_26x2_sdk_4_40_04_04
项目结构
├─.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图形化文件
编译报错:Variable expansion failed for Pre-Build command line
编译报错:Error while running “c:/ti/xdctools_xxx_core/xs”
xs进程被堵塞,应该是隐藏进程,任务管理器找不到,目前只能重启电脑
TI CC2642R1基于VsCode的开发环境
-----------------------------Vscode开发操作-----------------------------
工程打开 – 双击xxx.code-workspace 或者vscode右键打开
环境配置(新环境才需要配置一次)
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
【必须】修改环境路径 .eide\env.ini
TI_SDK XDCROOT SYSCONFIG_ROOT FREERTOS_INSTALL_DIR IAR_PATH
首次使用工程或工程目录改变,请一定执行一次[build_configPkg.exe],重新构建TI环境
图形化配置:双击运行open_syscfg.exe, 打开图形化. or vscode–终端–运行任务–Open–syscfg
编译 快捷键 F7
重新编译 快捷键 Ctrl+Alt+F7
烧录 快捷键 Ctrl+Alt+D
擦除 快捷键 Ctrl+Alt+E (仅jlink有效,暂时不支持XDS)
编译+烧录 F6(未实现)
编译+烧录+Debug Ctrl+Alt+F6 (未实现)
变量按’='对齐 alt + =
宏定义对齐 ctrl + =
XDS110不能反复仿真,需要手动执行一次复位(GDB问题),20220918解决
终端–运行任务–resetXDS110
注:请核对路径是否正确。(.vscode–tasks.json–resetXDS110 Path)
【Jlink烧录】当MCU内部flash与当前烧录一致时,会出现以下错误:(不必理会)
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
使用XDS110,烧录或者仿真报错 20220918解决
错误如下:
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
解决:暂无
-----------------------------IAR开发操作(废弃)-----------------------------
如果需要跟换协议栈(废弃,适配度较低)
- 目标协助栈:simplelink_cc13xx_cc26xx_sdk_6_20_00_29。 依赖sysconfig_1.13.0
- IAR-Tools–[Configure Custom Argument Varlables]–[Workspase]–[Import]–选择[simplelink_cc13xx_cc26xx_sdk_6_20_00_29]
- 将[simplelink_cc13x2_26x2_sdk_4_40_04_04]–Disable Group
- IAR–Tools–[Configure Viewers]–[.syscfg]–替换为[
\nw\nw.exe
--compiler iar --product
.metadata\product.json --output
]
快速修改工程名称(废弃,不再使用IAR工程,版本不兼容)
- 将工程文件夹下后缀为 “dep、ewd、ewp、eww” 的四个文件重命名为目标名称。
- 用编辑器(记事本或者UE)打开“eww”后缀的文件,修改目的路径的“xxxx.ewp”为目标名称
/xxxx.ewp
使用syscfg进行保存文件时,一定要手动选择保存,右边有个[xx Total Files [图标]] ,点击图标选择syscfg文件夹。
目的:保持根目录干净