Telink VS Code Extension User Guide
简介
Telink VS Code 插件可以将 Telink IoT Studio 的工程转换为可在 VS Code使用的 CMake 工程,并支持在 VS Code 中开发 Telink TL32 和 TC32 系列芯片的 SDK。
转换Telink IoT Studio工程为CMake Project
如果你的仓库第一次使用,需要运行转换功能。
Vs Code工作空间打开一个sdk目录,将Telink IoT Studio工程转换为CMake工程,选择需要转换的工程。
转换完成后,可以在PROJECT OUTLINE查看project - target - source。
可以转换多个工程,重复运行上述命令,选择其他工程即可。
CMake 配置、构建
插件在运行构建命令的时候,会默认自动运行配置。
构建
电脑环境需要安装CMake和Toolchain。必要软件安装参考下一个小章节。
点击target旁边的小火箭按钮 🚀 可以开始构建。
构建完成后, 可以看到构建产物和构建Log。
Clean
在target右键菜单,选择Clean Target,或者下方clean按钮。
必要软件安装
Toolchain文件比较大,有多种应用方式可选。
(1) Telink Tools Installer(适用于没有安装Telink IoT Studio环境,大概2GB,包含常用的Toolchain,BDT,CMake)
安装后插件会自动检测Tools路径。
(2) 本地配置
如果已经安装Telink IoT Studio,复用Toolchain即可。
(3) 在线安装
文件比较大,可能限制于网络速度,需要耗费一些时间。
Toolchain本地配置
在构建过程中发现缺失对应Toolchain,右下侧会弹出选择框。
点击configure
, 选择对应toolchian
路径下的gcc
文件, riscv32-elf-gcc
或者tc32-elf-gcc
。
CMake软件安装和配置
如果电脑环境没有安装CMake:
(1) 从CMake 官网下载安装包 (2) 电脑环境变量如果配置CMake软件路径,需要手动配置。
CMake工程构成
(1) CMakeLists.txt
: CMake工程函数,TL和TC系列有区别。
(2) cmake_configs
: SDK配置文件(*_cmake.json
)。CMakeLists.txt会去读取配置生成工程,目前不要手动去修改,可能会导致功能异常。
(3) cmake_builds
: 工程编译中间文件。
如果没有安装CMake,需要用户手动安装cmake。
工程管理
增删工程和Target
PROJECT OUTLINE和工程名称节点旁边的+号分别对应“Add Project”, “Add target”。
在输入框输入新的名称,然后选择
- 新建空白工程/target
- 复制已有工程/target
复制已有工程相较新建工程的好处,相似的工程经过简单修改可完成。
工程文件增删改查
增加/删除文件
在对应文件夹右键菜单,在输入框输入新的名称。
导入/删除引用
导入引用:不实际创建文件,表示给target导入已经存在的文件到source中。
删除引用:不实际删除文件,从target的source中移除引用。
Toolchian参数配置
target右键进入工具链配置页面,配置界面与Telink IoT Studio一致。
关于Telink IoT Studio使用的参数说明
${ConfigName} ${ProjName}
在工程转换过程中会被展开为实际值。
${workspace_loc:/${ProjName}}
格式的路径会被转换成${CMAKE_CURRENT_SOURCE_DIR}
。
例如,shell语句
${workspace_loc:/${ProjName}}/../../../tools/tl_check_fw_tool/tl_check_fw.sh ${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 扩展支持在 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"
已知bug
- 选项可能没有100%全部转换,因为有些配置没有体现在工程文件.cproject中,是IDE默认行为。