泰凌 VS Code 扩展使用指南
Telink VS Code Extension 可以将 Telink IoT Studio 的工程转换为可在 VS Code 使用的 CMake 工程,并支持在 VS Code 中开发 Telink TL32 和 TC32 系列芯片的 SDK。
关于本文档
适用范围与目标读者
本文档面向使用 Telink Extension 在 VS Code 中开发 Telink TL32 / TC32 系列芯片 SDK 的开发者,覆盖从安装、工程转换、构建到烧录调试的完整流程。
前置条件
- 已安装 VS Code
- 已获取目标 SDK(可通过 SDK Downloader 获取,或使用已有 SDK)
- 准备一块目标开发板及烧录/调试硬件(BDT 或 JTAG)
术语
| 术语 | 说明 |
|---|---|
| Telink Extension | Telink Development Tool VS Code 插件 |
| SDK | Telink 芯片的软件开发套件 |
| CMake 工程 | 由 CMakeLists.txt 和 cmake_configs/*_cmake.json 描述的工程 |
| Target | 工程中的一个构建目标(相当于 Telink IoT Studio 中的一个工程配置) |
| Toolchain | 芯片对应的交叉编译工具链 |
| Work Target | 当前激活的 target,用于代码跳转与宏高亮 |
| generator | CMake 使用的构建系统生成器(Makefile / Ninja 等) |
| BDT | Telink 烧录工具 |
| JTAG | 通过 ICEman 等实现的烧录与调试方式 |
泰凌 VS Code 扩展特性概述
当前最新版本的泰凌 VS Code 扩展在不同操作系统中,对各个系列的 SDK 以及各个功能的支持情况如下。
工程的导入,管理,编译和工具链获取
| 芯片系列 / 操作系统 | Windows 10/11 | Linux | macOS X64 | macOS AArch64 |
|---|---|---|---|---|
| TL/TLSR9 系列 | 支持 | 支持 | 支持(GCC12.2 / GCC14.2) | 支持(GCC12.2 / GCC14.2) |
| TC/TLSR8 系列 | 支持 | 支持 | 不支持 | 不支持 |
烧录和调试
| 芯片系列 / 操作系统 | Windows 10/11 | Linux | macOS X64 | macOS AArch64 |
|---|---|---|---|---|
| TL/TLSR9 系列 | 支持 BDT 和 JTAG | 支持 BDT 和 JTAG | 支持 BDT 和 JTAG | 支持 BDT 和 JTAG |
| TC/TLSR8 系列 | 支持 BDT | 支持 BDT | 不支持 | 不支持 |
快速入门
本教程带你完成第一次完整的开发闭环:打开 SDK -> 编译 -> 烧录 -> 调试。
提示
编译需要 SDK、CMake、Toolchain 三个条件。其中 CMake 与 Toolchain 在首次编译时会提示安装对应版本,用户不需要关心具体使用哪个版本。
-
安装 Telink Extension:打开
扩展管理器(默认快捷键 Ctrl+Shift+X),搜索 Telink,安装Telink Development ToolExtension(以下简称为 Telink Extension)。
Telink Extension 安装完成后,侧边栏
T是插件进入页面。首次启动时可参考 Getting Started 引导页(也可通过菜单Help > Open Walkthroughs打开)。按打开 SDK -> 检查 CMake 工程 -> 安装 CMake -> 编译 -> 烧录 -> 调试 的步骤引导新手完成首次使用。 -
打开 SDK 工程:在 VS Code 中打开对应 SDK 文件夹。不同 SDK 的文件结构不同,有些 SDK 可能同时包含多个工程。
-
检查是否已有 CMake 工程(Telink Extension 以 CMake 工程为基础)。判断依据:
- SDK 目录下是否存在
CMakeLists.txt和对应的cmake_configs/*_cmake.json配置文件; - 插件栏
PROJECT OUTLINE是否已显示工程。


- SDK 目录下是否存在
-
安装 CMake:系统已安装 CMake 会显示版本号,可跳过;若版本 < 3.19 或未安装,在右键菜单选择
Install。
-
编译:点击
PROJECT OUTLINE中 target 旁的小火箭按钮。首次编译会提示安装对应的 Toolchain 工具链,等待安装完成后自动开始编译。
编译完成后,即可看到输出文件(*.elf、*.bin、*.lst),其中 ELF 格式的文件用于调试,BIN 格式的文件用于烧录。
-
烧录:烧录依赖 Telink BDT 软件。点击 bin 文件右侧的烧录按钮,若提示软件未安装,点击
Install完成安装后即可烧录。若使用 JTAG 调试,可跳过 BDT 烧录步骤,调试会话支持直接烧录固件。

-
调试:鼠标悬停在 ELF 文件上,点击调试按钮,新建调试配置后 Telink Extension 会自动填充必要设置,点击
Debug即可调试。详见调试。
完成以上步骤,就完成了第一次完整的开发流程。若需了解各功能的详细说明,请参见后续章节。
工程转换
若 SDK 为 Telink IoT Studio 中的工程,需要转换成 Telink Extension 所支持的工程。
在 VS Code 工作空间打开一个 SDK 目录,选择需要转换的 Telink IoT Studio 工程,将其转换为 CMake 工程。

转换完成后,可以在 PROJECT OUTLINE 查看 project - target - source视图。

一次只转换一个工程。转换多个工程步骤: 重复运行上述命令选择其他工程。
转换过程注意事项
转换后的CMake工程可以直接编译, 可不用关心此章节内容.
Telink IoT Studio SDK参数的使用方式会影响工程转换的效果。
${ConfigName} ${ProjName} 在工程转换过程中会被展开为实际值。
${workspace_loc:/${ProjName}} 格式的路径会被转换成 ${CMAKE_CURRENT_SOURCE_DIR}。
例如,shell 语句:
${workspace_loc:/${ProjName}}/../../../tools/tl_check_fw_tool/tl_check_fw. ${ConfigName} ${ProjName}
>>> after converted >>>
${CMAKE_CURRENT_SOURCE_DIR}/project/tlsr_riscv/B92/../../../tools/tl_check_fw_tool/tl_check_fw.sh UART_Demo TL_PLATFORM_SDK_B92
类似 -I、-L 路径参数,在 Telink IoT Studio 里推荐使用 ${workspace_loc:/${ProjName}} 格式。
自定义脚本 (Pre/Post Build)
Telink Extension 支持在 pre/post-build 阶段执行自定义脚本。
但须注意:Telink IoT Studio 与 VS Code 的项目目录结构存在差异,不能在命令中直接使用相对路径。
如果当前的工程是 Telink IoT Studio 工程,希望转换之后能正常执行 pre/post-build,那么不能直接使用类似 ../../ 的写法,而是使用 ${workspace_loc:/${ProjName}} 来指代工程根目录。
例如,一段脚本改写方式。
原脚本为:
"../../../tools/tl_link_load.sh" "../../../platform/boot/tl321x/boot_tl321x.link" "${workspace_loc:/${ProjName}}/boot.link"
写成:
"${workspace_loc:/${ProjName}}/../../tools/tl_link_load.sh" "${workspace_loc:/${ProjName}}/../../platform/boot/tl321x/boot_tl321x.link" "${workspace_loc:/${ProjName}}/boot.link"
CMake构建
插件在运行构建命令的时候,会默认自动运行配置。
构建
电脑环境需要安装 CMake、Toolchain。安装方法请参考软件安装与配置。
点击 target 旁边的小火箭按钮可以开始编译。
CMake 构建分为 cmake configure 和 cmake build 2 个步骤,点击小火箭按钮会将 2 个步骤合并。如果用户需要手动运行 cmake configure,在 project 右键选择即可。
CMake 支持不同 generator,用法参考配置 generator。

构建完成后,可以看到构建产物和构建 Log。

Clean
在 target 右键菜单,选择 Clean Target,或者下方 clean 按钮。

安装 ccache
目前在 Linux 环境,安装 ccache,可以加快编译速度。安装命令为:apt install ccache。CMakeLists.txt文件启用了ccache特性。
CMake工程结构
-
CMakeLists.txt:CMake 工程函数,SDK 全局通用。 -
cmake_configs:SDK 配置文件(*_cmake.json)。CMakeLists.txt 会去读取配置生成工程,目前不要手动去修改,否则可能会导致功能异常。 -
cmake_builds:工程编译中间文件(.o 文件、output 文件)。

附录:CMake命令行编译
如需脱离插件在命令行手动构建,可参考以下步骤。
导出Toolchain环境变量
Linux 下不用导出环境变量,Windows 下需要。导出 2 个环境变量:Cygwin 环境和编译工具链环境。
export PATH=$PATH:/home/user/toolchain_v53x_v5f/nds32le-elf-mculib-v5f/bin;/home/user/toolchain_v53x_v5f/cygwin/bin
CMake Configure
-
PROJECT_NAME:工程名称(可在 cmake_configs/*._cmake.json 中name查看)。
-
TOOLCHAIN_NAME:目标使用的工具链(可在 *cmake.json 文件中toolchainVersionName查看)。

-
TOOLCHAIN_PATH:编译工具链路径,指定到 bin 文件夹的父目录。
-
CMAKE_C_COMPILER_FORCED:配置为 1,跳过 CMake 配置阶段 gcc 检查。
-
-S:CMakeLists.txt文件的目录。
-
-B:中间文件目录,可自定义。
注意
不同工程需要不同的中间存储目录。
cmake -S ./tl_platform_sdk -Wno-dev -DPROJECT_NAME=TL_PLATFORM_SDK_321X -DTOOLCHAIN_NAME="TL32 ELF MCULIB V5 GCC12.2" -DTOOLCHAIN_PATH=/home/user/toolchain_v53x_v5/nds32le-elf-mculib-v5 -B cmake_builds/TL_PLATFORM_SDK_321X -G "Unix Makefiles" -DCMAKE_C_COMPILER_FORCED:STRING=1
CMake Build
cmake --build cmake_builds/TL_PLATFORM_SDK_321X --target ADC_Demo -j8
视图与代码跳转
工程显示
默认情况下,该插件展示全部目标,用户也可以设置只展示work target,如下图。

代码高亮和跳转
右键点击目标, 选择 "Set Target IntelliSense"。
插件获取目标的编译选项和源文件列表,生成 C/C++ 或 clangd 插件的配置文件,实现宏定义高亮和代码跳转功能。
推荐使用clangd语言插件, 插件为每个target提供了compile_commands.json以及clangd启动参数配置。

工程操作
新建和删除工程/目标
PROJECT OUTLINE 和工程名称节点旁边的 + 分别对应 Add Project、Add Target。
在输入框输入新的名称,然后选择:
- 新建空白工程/target
- 复制已有工程/target(选择对应工程名称)
复制已有工程相较新建工程的优势:相似的工程可经过简单修改完成。

文件增删改查
增加/删除文件
在目标/文件夹右键菜单,选择 "New File" / "New Folder" / "Delete"。支持批量操作应用到多个target 和工程。
New File" / "New Folder:在磁盘上创建文件或文件夹。右键单击目标文件夹,选择 "New File" 或 "New Folder",输入文件名称,然后选择应用范围。

Delete File/Folder:从磁盘删除文件或文件夹。右键单击文件或文件夹,选择 "Delete",然后选择应用范围,最后点击 "Delete File/Folder" 删除。

导入/删除引用
导入引用:导入文件到目标, 选择Import File/Folder, 选择文件, 选择应用范围。该操作不会在磁盘新建文件, 只是文件引用。

删除引用:,从目标中删除引用, 右键Delete, 选择删除范围, 选择Remove Reference。该操作没有在磁盘删除文件, 只是删除文件引用。

编译选项
target 右键点击 Properties 进入配置页面,配置界面与 Telink IoT Studio 一致。

使能CPP
大部分工程只包含 C、ASM 两种语言,如果该目标添加了 CPP 语言,在目标右键菜单 Enable CPP。插件会生成C++的编译配置。

进入 Target Properties 修改对应 CPP 编译选项。

开发工具
工具介绍
DEVELOPMENT TOOLS 列出了 Telink Extension 支持的全部开发工具。这些工具不用提前手动安装:在编译或调试过程中,根据实际需求或提示再安装。
| 工具 | 用途 | 使用场景 |
|---|---|---|
CMake |
构建系统 | 编译(必装) |
Toolchain |
交叉编译工具链 | 编译(必装) |
BDT |
烧录工具 | 使用 BDT 烧录固件 |
ICE Driver |
JTAG USB 驱动 | 使用 JTAG 烧录和调试 |
ICEman |
JTAG 调试服务 | 使用 JTAG 烧录和调试 |
OpenOCD |
调试服务 | 使用 JTAG 调试 |
Jtag_burn |
JTAG 烧录工具 | 使用 JTAG 烧录 |
如需手动安装或指定本地路径,右键单击工具或 toolchain,选择 Install(在线安装最新版本)或 Browse(指定本地已安装的工具)。

软件安装与配置
构建环境的软件安装有多种方式可选:
-
Telink Tools Installer:离线安装包(安装包约 2 GB,安装后占用约 5.2 GB),一次性安装全部开发工具。安装后插件会自动检测 Tools 路径,适合无法在线安装或需要批量部署的场景。安装包的使用方法请参考Telink Tools Installer。
-
本地配置:如果已经安装Telink IoT Studio和其他软件,可以复用其中的toolchain等软件,右键选择 Browse。(节省安装时间)
-
在线安装(推荐):右键选择 Install。(下载速度受限于网络速度和文件大小,耗费一些时间;优点是根据实际条件安装需要用到的软件)
软件清单在 DEVELOPMENT TOOLS 中列出,可以右键选择 Install 和 Browse。用户在编译前可主动预安装,也可以在构建过程中根据提示再安装。

构建需要两个必备软件:CMake 和 Toolchain。
Toolchain本地配置
在构建过程中发现缺失对应 Toolchain 时,右下侧会弹出选择框。
点击 Configure,根据文件选择框提示,选择对应 toolchain 路径下的 gcc 文件:riscv32-elf-gcc 或者 tc32-elf-gcc。


如果 Browse 的版本不对,会如下图提示:

CMake软件安装和配置
右键选择 Install 或者 Browse,目前建议选择 Install,使用指定版本的 CMake。

- 配置线程数量
线程数量越多,构建速度越快。

-
Windows 支持切换 UNIX makefiles、Ninja、MinGW makefiles。其中 Ninja 和 MinGW makefiles 构建编译性能相较于 UNIX makefiles 有提高。
- Linux 支持切换 UNIX makefiles、Ninja。

不同 generator 需要使用不同的构建软件,右键安装即可:
- UNIX makefiles:无需额外安装,toolchain 里面已经包含。
- MinGW makefiles:需要 MinGW make。
- Ninja:需要 Ninja。

注意
更换不同 generator,编译前需要删除 cmake_builds 目录,重新构建。
BDT烧录
安装:右键 BDT 选择 Install / Browse。Browse 根据文件选择框提示选择对应名称的软件。
该功能运行需要依赖 Windows 和 Linux 下的 BDT 工具。
快捷烧录
构建完成后,可以点击 bin 文件右侧烧录按钮,将固件烧录到目标开发板。

打开 BDT
点击 BDT 工具栏的右侧箭头,打开 BDT 工具页面。
以下功能界面仅Linux可用。Windows平台会直接启动BDT软件, 参考windows BDT 参考文档。

查看 Flash/SRAM 数据

针对 SRAM 可按字节操作的介质,可以修改对应地址数据,点击 WriteBack 写回到目标开发板。

JTAG烧录与调试
在程序烧录完成后,用户可以通过 JTAG 接口和 GDB 工具进行调试,包括单步调试、断点调试、查看变量、查看堆栈、查看寄存器、查看内存、查看汇编等等。
ICE Libusb驱动安装
JTAG 使用前置:驱动安装。查看提示是否安装对应驱动:

(1) Windows

点击并运行 Install_driver:

(2) Linux
点击安装后,会跳转到运行一段安装命令,输入密码获取 root 权限后运行。

安装完毕后,可以点击 DEVELOPMENT TOOLS 右侧 refresh 按钮刷新状态。
烧录
编译完成后,点击 Development Tools -> Jtag_burn。

在 Telink JTAG Burn With ICEman 页面中,用户可以选择配置 ICEman 和 Jtag_Burn 的路径、芯片类型和烧录起始地址:

用户也可以选择配置 ICEman 的连接方式及端口:

然后点击 Start ICEman 按钮启动 ICEman,点击后,用户需要选择启动方式:
- Default 模式:JTAG 为默认的四线连接方式。
- SDP 2-wire 模式:ICEman 启动时添加
-I aice_sdp.cfg,JTAG 使用两线的连接方式,需要确保硬件支持。 - -H 模式:ICEman 启动时添加 -H 选项,连接成功后,对芯片执行 reset-and-hold 操作。
一般情况下,若没有后两种的需求,建议选择 Default 模式。

ICEman 的 log 中,若出现 ICEman is ready to use 的字样,则表示连接成功:

然后用户可以配置 Jtag_Burn 执行时的参数,并点击 Burn 按钮开始烧录:

并通过 log 判断是否烧录成功:

调试
在编译完成后,将鼠标悬停在生成的 ELF 文件上,此时会出现一个调试按钮,点击即可打开调试配置页面:

调试配置页面从左至右分为三个区域:
1. Core Configurations 与 Multi-Core Debugging Configurations: 泰凌 VS Code 扩展同时支持单核调试和双核调试。针对单个核心的 Core Configurations 是调试任务的基本组成部分。对于单核芯片,只需配置一个 Core Configuration 即可开始调试;对于多核芯片,则需分别编辑每个核的调试配置,然后在 Multi-Core Debugging Configurations 中将多个核心的配置组合为一个完整的调试任务。
2. 查看或新建调试配置:无论是 Core Configurations 还是 Multi-Core Debugging Configurations,均可在中间区域查看已保存的配置,并对已有配置进行编辑,或新建调试配置。
3. 编辑调试配置:调试配置页面最右侧为具体的调试配置编辑区域,用于编辑当前选中的调试配置。
- 对于 Core Configurations,其配置页面如下图所示:


用户需要选择芯片类型。若所选芯片为双核芯片,则 Port 选项会提供两个端口,用于分别指定需要调试的两个核心。
用户可以配置 Initial Commands,该选项用于指定 GDB 启动时执行的初始命令,属于可选配置。用户可以根据 GNU GDB 的使用规范添加相应命令,也可以留空。
用户可以选择是否启用 Jtag_burn。启用后,在调试开始前,泰凌 VS Code 扩展会自动将指定的二进制文件下载至 Flash 的指定地址。
GDB Path、ELF Path 和 Working Directory 均可根据实际需求进行配置。一般情况下,使用默认配置即可满足调试需求。
- 对于 Multi-Core Debugging Configurations,可以按照以下方式新建:

只有当 Core Configurations 中至少存在两个芯片类型相同且芯片为双核芯片的 Core Configuration 时,才允许新建 Multi-Core Debugging Configurations。新建时,需要为调试任务指定名称,并选择两个芯片类型相同且互不相同的 Core Configuration 作为组合。启动该调试任务后,泰凌 VS Code 扩展会同时启动两个核心对应的调试会话。
调试页面可以大致分为图中的四个区域:
-
调试控制区域:提供调试控制功能,包括
continue、interrupt、step over、step into、step out、restart、disconnect。 -
变量和核心寄存器:在这里可以查看当前作用域中存在的变量,同时可以查看芯片的全部核心寄存器。
-
外设寄存器:若正确指定了 SVD 文件,可以在这里查看芯片的外设寄存器,并根据权限读或者写。
-
Debugger Console:这里会显示调试过程中 GDB 的输出信息,同时在下方的输入框中用
>Command的形式输入命令,GDB 会执行命令并返回结果,例如,>info br。

双核调试时,其主界面功能与单核模式一致,此外,用户可以在图中指示的位置切换当前调试会话作用的核:

断点的高级用法
调试过程中,对于普通的断点,可以通过右键点击 Edit Breakpoint 修改断点属性,有四种功能可以选择:


Expression:自定义一个表达式,当表达式为真时,断点生效,表达式中的变量必须是当前作用域可见的。Hit Count:当断点命中的次数达到指定次数时,断点生效。Log Message:自定义一个字符串,当断点生效时,会在 Debug Console 中打印该字符串。Wait for Breakpoint:指定程序中的另外一个断点,当指定的断点生效时,当前断点才会生效。
开发方式
除了常规的本地开发,Telink Extension 还支持以下开发方式:
- VS Code Remote:在远程环境中开发,插件运行在 remote,UI 操作显示在本地。详见 Telink Extension Usage in VS Code Remote。
- Docker:使用基于 CMake 工程的 Docker 开发环境,包含基础工具(CMake, BDT, ICEman, JTAG)和 toolchain(TC32, GCC10.3, GCC12.2, GCC14.2)。详见 Telink Docker 使用方法。
Wi-Fi SDK Development
Telink Extension 为 Telink TLSR9118 Wi-Fi SDK 提供了支持(使用时推荐在 VS Code 打开 SDK 中顶层 Makefile 和 Kconfig 所在文件夹)。
在 Wi-Fi SDK DEVELOPMENT 栏,可以看到以下功能:
- Select Targets:这里将会显示出 configs 中定义的所有 targets。
- Build Targets:这里提供构建需要的 make 命令,包括
make all、make clean、make menuconfig。对于 menuconfig 我们建议使用 guiconfig,单击即可打开完全图形化操作的 QConfig 程序。 - Build Files:显示所有的 build 生成的文件。
- Tools and Settings:在这里可以指定 Wi-Fi SDK 开发中需要的工具,同样的,右键点击所需的工具可以选择下载。其中,单击
FlashTool即可打开 sctool_gui 以烧录程序。

环境配置
-
检查 toolchain 是否已经安装或者配置,右键 Install 或者 Browse。

-
Python 环境安装:
pip install pycryptodome pip install imgtool pip install PyYAML保证安装的 Python 工具可以在系统环境变量找到。
构建Target
点击对应配置,会生成 .config。

点击 "all",完成编译。

配置
修改配置的方式可以通过下面两个软件。
(1) MenuConfig

(2) GuiConfig
![]()
SDK Downloader
SDK Downloader 功能可以用来获取当前 Telink VS Code Extension 支持的所有 SDK,用户可以通过以下两种方式打开 SDK Downloader:
-
在 Telink Extension TreeView 中单击打开:

-
在 VS Code 命令面板中输入
"Open sdkDownloader"打开:
打开 SDK Downloader 后,用户可以看到所有被支持的 SDK 的 Git 仓库列表。用户可以选择直接从 Gitee 或者 GitHub 上将 SDK 克隆到本地,也可以点击 Fetch tags list 来获取该仓库的所有 tags,将需要的 tags 克隆至本地,如下图:

若用户点击 Fetch tags list,则可以点击每一个 tags 旁边的下载按钮将指定的 tags 克隆到本地,同时用户可以点击右边的切换按钮,它的功能是将当前的 tags 列表切换成 branch 列表:

注意
该功能实际上是将仓库克隆至本地,然后 checkout 用户指定的 tag 或者 branch,所以用户获取的同样也是指定 SDK 的 Git 仓库。
在下载完成后,你可以选择直接打开刚获取的 SDK:

Telink Tools Installer使用方法
简介
Telink Tools Installer 是 Telink SDK 开发工具的离线安装包,可一次性安装全部开发工具,适用于无法在线安装或希望批量部署的场景(如内网环境)。安装完成后,插件会自动检测 Tools 路径。
提示
常规开发中一般是用到什么工具再安装什么(编译、调试过程中插件会按需提示安装)。Telink Tools Installer 为一次性安装全部工具的方式,安装包约 2 GB,安装后占用约 5.2 GB,可根据实际情况选择。
该安装包包括以下组件:
- 工具链
- TC32-GCC Toolchain
- TL32 ELF MCULIB V5F GCC12.2
- TL32 ELF MCULIB V5 GCC12.2
- TL32 ELF MCULIB V5F GCC10.3
- TL32 ELF MCULIB V5F GCC7.4
- 下载和调试工具
- ICEman
- Jtag_burn
- Telink BDT(Windows)
- Telink libusb BDT(Linux)
- 其他工具
- CMake:使用 Telink Extension 开发的 SDK 是基于 CMake 的构建系统。
使用安装包
在空间足够(大约需要 5.2 GB)的情况下,我们推荐在安装时遵循安装程序的默认行为,即双击运行后,点击右下角 Install 按钮安装。上述工具会被安装在 {User_Dir}/.Telink_Tools 文件夹中。
选择安装路径
若用户不想安装在默认文件夹,可以选择安装路径,安装程序会检测用户所选择的安装路径是否有足够的空间。


安装过程
安装进程会被显示在 Installation Log 窗口。在安装过程中,用户可以点击 Install 右边的 Cancel 并确认,程序将在完成当前工具的安装后自动暂停。若用户需要在安装过程中退出,可以使用 Cancel,而不是直接关闭窗口。

安装成功后会有如下提示,确认后即可退出程序。

安装完成
安装完成后,在 Linux 中,用户需要根据 Installer 的提示,在终端中执行下列命令,完成配置:
sudo cp /home/wang/.Telink_Tools/udev/99-libtlink.rules /etc/udev/rules.d/
cd /home/wang/.Telink_Tools/udev; chmod a+x install_linux_package.sh; sudo ./install_linux_package.sh
cd /home/wang/.Telink_Tools/udev; chmod a+x change-udev-usb-mode.sh; sudo ./change-udev-usb-mode.sh
注意
上述命令中的路径 /home/wang/.Telink_Tools/ 只是示例,实际安装过程中,请根据 Installer 的提示执行命令。
在 Windows 中,安装完成后 Installer 会弹窗询问是否安装 aice_libusb_driver,我们建议选择安装。
故障排查与已知问题
常见问题
Q1:编译时报错提示缺少 Toolchain?
A: 在构建过程中发现缺失对应 Toolchain 时,右下侧会弹出选择框,点击 Configure 指定本地 toolchain 的 gcc 文件即可,详见Toolchain本地配置。
Q2:更换 generator 后编译报错?
A: 更换 generator 后,编译前需要删除 cmake_builds 目录重新构建,详见配置generator。
Q3:编译产物无法烧录?
请确认已安装 BDT 软件并正确配置相关参数,详见软件安装与配置与BDT烧录。
已知Bug
- 选项可能没有 100% 全部转换,因为有些配置没有体现在工程文件 .cproject 中,是 IDE 默认行为。
Telink Extension Usage in VS Code Remote
当前仅支持VS Code Remote(workspace)模式(workspace模式: 插件运行在remote,UI操作显示在本地)。 相关概念请参考VS Code Remote Development。

Remote模式帮助开发者在不同环境快速切换完成开发。
远程安装插件
下面演示示例是Windows远程到Linux。Linux远程到Windows还需验证测试。进入Remote模式后,进行远程连接。
完成远程连接后,需要打开插件市场,给Remote安装插件,如下图,插件图标右下角有Remote图标,表示该插件安装在Remote环境。

检查配置是否正确
如果用户在Remote(例如Linux)已经有使用过的插件,在远程模式启动插件的时候,将会同步Remote环境对应插件配置,用户可以快速使用。
-
完成安装后,首先检查软件路径是否为Remote下的正确路径。

-
如果在远程是第一次安装,Local(例如Windows)需要重新配置Remote的相关插件配置,配置方式如下图:

如果没有重新配置,将会使用Local的路径配置,插件将不能正常运行。因为不同电脑开发环境配置都是不一样的。
完成配置后,如果UI界面显示的路径仍是旧路径,则需点击刷新。

开发
该模式所有的文件操作都会在远程终端完成。工程编译在远程终端工作。

烧录与调试
根据硬件位置有2种情况。
硬件在Remote
这种情况不需要额外做配置,通过SSH连接Remote后可以直接使用。

硬件在Local

代码和编译后的 .bin、.elf文件都在remote。
-
如果只需要使用BDT烧录,选择硬件位置后直接烧录即可。
-
如果使用ICEman调试,需要额外做一个SSH端口反向映射处理。配置方法如下:
-
选择硬件位置

-
打开
Settings,先配置3个端口需要用到的端口号(Settings里有Remote Settings选项,是在建立远程连接之后才会显示Remote)。如果远程有使用过插件,建议在
Settings里的User Settings进行配置(当进行远程连接,插件会同步User Settings到Remote Settings)。
-
手动打开SSH配置文件(本地端的SSH)
配置文件默认在用户目录,例如:
- Windows:
C:\Users\admin\.ssh\config - Linux
/home/user/.ssh/config
如果用户SSH配置文件是自定义文件路径,则打开对应配置文件。
Host 192.168.88.88 HostName 192.168.88.88 User Admin RemoteForward 3334 localhost:3334 RemoteForward 8889 localhost:8889 RemoteForward 5556 localhost:5556 - Windows:
配置3个端口,分别可用于ICEman GDB port、TCLNET port、burn port连接。配置完成后,重新进行Remote SSH连接(关闭VS Code窗口,重新打开也可以),才能配置生效。配置完成后,如果不是端口冲突,后面使用该功能,不用再重新配置。
端口映射配置解释:远程电脑的3334端口映射到本地电脑3334端口,实现GDB访问ICEman的跨电脑透传连接。
注意事项
(1) Show File在Remote模式下不可用。
(2) 启动调试遇到如下提示,说明配置的端口3334存在冲突。有一种冲突是VSCode自动进行Forward,选择关闭后,就不会有冲突提示了。如果跟其他程序端口冲突,可以根据提示修改,例如使用本地localhost:33340。

Telink Docker使用方法
基于CMake工程的Docker开发环境,包含基础工具(CMake, BDT, ICEman, JTAG)和toolchain(TC32, GCC10.3, GCC12.2, GCC14.2)。
主要有以下Docker(基于debian:bookworm-slim):
- telink-dev-tc32:latest
- telink-dev-gcc10.3:latest
- telink-dev-gcc12.2:latest
- telink-dev-gcc14.2:latest
从github packages拉取。
docker pull ghcr.io/telink-semi/telink-dev-gcc12.2:latest
docker tag ghcr.io/telink-semi/telink-dev-gcc12.2:latest telink-dev-gcc12.2:latest
如果本地有Docker image压缩包, 直接加载。
docker load -i telink-dev-gcc12.2.tar.gz
在VS Code中使用Docker
安装Dev Containers插件 (Identifier: ms-vscode-remote.remote-containers)。
在VSCode打开一个SDK文件夹, 在当前workspace创建文件.devcontainer/devcontainer.json,填充如下内容。点击在左下角远程图标(Open a remote Windows), 选择Reopen in Containers。
{
"name": "telink-dev",
"image": "telink-dev-gcc12.2:latest",
"mounts": [
"source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached"
],
"workspaceFolder": "/workspace",
"runArgs": [],
"customizations": {
"vscode": {
"extensions": [
"telink.tlk"
]
}
}
}
注意
image: 根据SDK开发需求选择对应的Docker image。
在命令行界面(CLI)中使用Docker
以终端交互的形式打开
docker run -it --rm -v $(pwd):/workspace -w /workspace telink-dev-gcc12.2:latest
run_cmake.sh TL_PLATFORM_SDK_751X ADC_Demo
GitHub Actions使用
创建.github/workflows/cmake_build.yml配置文件,根据实际需求拉取对应Docker,配置工程。
name: toolchain-build
on:
push:
branches: [ "docker_cmake_build" ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/telink-semi/telink-dev-gcc12.2:latest
env:
PLATFORM: TL_PLATFORM_SDK_751X
APP_NAME: ADC_Demo
BUILD_CMD: run_cmake.sh
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Fix script permission
run: |
find . -type f -name "*.sh" -exec chmod +x {} \;
- name: Build
run: |
echo "Platform: $PLATFORM"
${BUILD_CMD} $PLATFORM $APP_NAME
- name: Collect artifacts
run: |
mkdir -p artifacts
find cmake_builds -type f \( \
-name "*.bin" -o \
-name "*.elf" -o \
-name "*.lst" \
\) -exec cp --parents {} artifacts/ \;
echo "Artifacts:"
find artifacts
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: build-output
path: artifacts/
retention-days: 7
