• [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 均验证通过

    使用效果:

    在这里插入图片描述

    变更协议栈或其他工具:

    在这里插入图片描述

    编译+清理+下载

    在这里插入图片描述

    烧录器修改

    在这里插入图片描述
    目前支持jlink和xds110

    vscode 打开syscfg图形化界面

    在这里插入图片描述

            {
                "label": "Open--syscfg",
                "command": "open_syscfg.exe",
                "problemMatcher": []
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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, 假, )
    
    结束 ()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    原理:通过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, 假, )
    结束 ()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    脱离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

    https://lisun.blog.csdn.net/article/details/126582957

    编译报错:Error while running “c:/ti/xdctools_xxx_core/xs”

    xs进程被堵塞,应该是隐藏进程,任务管理器找不到,目前只能重启电脑

    TI CC2642R1基于VsCode的开发环境

    https://lisun.blog.csdn.net/article/details/126600431

    -----------------------------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]–替换为[ S Y S C O N F I G R O O T SYSCONFIG_ROOT SYSCONFIGROOT\nw\nw.exe S Y S C O N F I G R O O T SYSCONFIG_ROOT SYSCONFIGROOT --compiler iar --product S I M P L E L I N K C C 13 X X C C 26 X X S D K I N S T A L L D I R SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR SIMPLELINKCC13XXCC26XXSDKINSTALLDIR.metadata\product.json --output P R O J D I R PROJ_DIR PROJDIR F I L E P A T H FILE_PATH FILEPATH]

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

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

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

    目的:保持根目录干净

  • 相关阅读:
    《混沌工程》读书笔记
    微信小程序获取用户头像调整
    UnitTest框架
    Windows系统服务器配置SSH服务
    Linux:磁盘分区,挂载(含实例)
    【Python】零基础实现五行代码抓取视频任务~
    借助PyCharm在代码中自动添加作者、日期
    【java】poi-tl 1.9.1 word模板插入文本及动态复杂表格
    Qt中定时器的3种实现方法
    K8s集群环境搭建
  • 原文地址:https://blog.csdn.net/qq_29246181/article/details/126870529