0
点赞
收藏
分享

微信扫一扫

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境


工具准备:(文末有一键打包)

  1. 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离线包
  2. IAR 7.80.4 / 8.20.2 / 8.40.2 / 8.50 均验证通过

使用效果:

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境_vscode

变更协议栈或其他工具:

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境_cc2642_02

编译+清理+下载

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境_cc2642_03

烧录器修改

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境_cc2642_04


目前支持jlink和xds110

vscode 打开syscfg图形化界面

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境_局部变量_05

{
"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

​​工具下载​

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境_局部变量_06

仿真

vscode 快捷键F5

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境_cc2642_07

​​例程下载​​

生成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。

[CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境_编辑器_08

​​工具下载​​

其他配置,参考下文: 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开发操作(废弃)-----------------------------

如果需要跟换协议栈(废弃,适配度较低)

  1. 目标协助栈:simplelink_cc13xx_cc26xx_sdk_6_20_00_29。 依赖sysconfig_1.13.0
  2. IAR-Tools–[Configure Custom Argument Varlables]–[Workspase]–[Import]–选择[simplelink_cc13xx_cc26xx_sdk_6_20_00_29]
  3. 将[simplelink_cc13x2_26x2_sdk_4_40_04_04]–Disable Group
  4. IAR–Tools–[Configure Viewers]–[.syscfg]–替换为[\nw\nw.exe --compiler iar --product .metadata\product.json --output ]

快速修改工程名称(废弃,不再使用IAR工程,版本不兼容)

  1. 将工程文件夹下后缀为 “dep、ewd、ewp、eww” 的四个文件重命名为目标名称。
  2. 用编辑器(记事本或者UE)打开“eww”后缀的文件,修改目的路径的“xxxx.ewp”为目标名称
    /xxxx.ewp

使用syscfg进行保存文件时,一定要手动选择保存,右边有个[xx Total Files [图标]] ,点击图标选择syscfg文件夹。

目的:保持根目录干净


举报

相关推荐

0 条评论