工具準備:(文末有一鍵打包)
-
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