欢迎使用 软件
Telink IoT studio的安装程序会在桌面上创建以下两个快捷方式:
Telink IoT studio
: 用于启动 IoT Studio。Telink TC32 console
: 用于启动TLSR8的开发控制台,用户可以在里面输入tc32-elf-gcc
和make
等命令。本用户指南将涉及以下3种不同的IDE:
Telink IoT studio
: 本文档描述的IDE。Telink old IDE
: wiki页面展示的针对TLSR8系列芯片的IDE。(链接:IDE for TLSR8 Chips)Telink RDS IDE
: wiki页面展示的针对TLSR9系列芯片的IDE。(链接:IDE for TLSR9 Chips)上述3个IDE具有以下不同的桌面快捷方式图标:
Telink IoT studio:
Telink old IDE:
Telink RDS IDE:
这个选项用于配置是否使用DSP及其库。
此选项将在cc
和ld
中添加-mext-dsp
标志,同时也将在Telink RDS IDE中向链接器添加-lm
和-ldsp
标志。而Telink IoT studio只会在cc
和ld
中添加-mext-dsp
标志,而不添加-lm
和-ldsp
这两个额外的库标志。这使得配置更加灵活。
用户可以在链接器库设置页面上专门添加math
和dsp
库到链接器。
-msave-restore
和-msmall-data-limit
Telink RDS IDE
对-msave-restore
和-msmall-data-limit
都使用 IoT Studio 的内置值(默认),因此配置页上没有这些选项,而Telink IoT studio
对这些选项的配置则会更加灵活。
用户应该对TLSR9系列芯片使用Use toolchain default value
选项。
Telink IoT studio包含以下几个用于TLSR8和TLSR9的工具链:
我们假设Telink IoT studio安装在$IoTStudio
位置:
IoTStudio/opt/tc32/bin
$IoTStudio/RDS/V3.2.3/toolchains/nds32le-elf-mculib-v5
$IoTStudio/RDS/V3.2.3/toolchains/nds32le-elf-mculib-v5f
$IoTStudio/RDS/V5.1.1/toolchains/nds32le-elf-mculib-v5
$IoTStudio/RDS/V5.1.1/toolchains/nds32le-elf-mculib-v5f
由于TLSR8芯片仅包含一个工具链,因此本节仅适用于TLSR9芯片。
要改变一个工程的工具链,首先打开工程属性,导航到C/C++ Build
--> Settings
--> Toolchains
位置,并从下拉列表中选择不同的工具链。
列出的工具链有:
Telink TLSR9 D25F GCC
: 用于D25F架构芯片,来自RDS V3.2.3。Telink TLSR9 D25F GCC 7
: 与Telink TLSR9 D25F GCC
相同。Telink TLSR9 D25F GCC 10
: 用于D25F结构芯片,来自RDS V5.1.1。Telink TLSR9 N22 GCC
: 用于N22架构芯片,来自RDS V3.2.3。Telink TLSR9 N22 GCC 7
: 与Telink TLSR9 N22 GCC
相同。Telink TLSR9 D25F GCC 10
: 用于N22架构芯片,来自RDS V5.1.1。一般来说,用户不应该通过更改工具链路径来设置工具链。相反,应使用上一节中提到的方法设置工具链:为TLSR9芯片工程选择一个不同的工具链
。
本节适用于有特殊要求的高级用户。
通过点击右侧的属性菜单选项,来打开工程属性对话框,然后点击工程弹出的菜单:
依次选择C/C++Build
-->Settings
-->Toolchains
选项:
点击下面红框所圈出来的global
链接。
在Toolchain folder
后的编辑框中设置路径。
一般来说,用户只需要更改红线所划出来的版本和后缀信息。
第一条红线表示工具链的基本版本信息(在图中为V3.2.3
),用户可以将其更改为以下项目之一:
V3.2.3
: Telink RDS IDE V3.2.3版本。V5.1.1
: Telink RDS IDE V5.1.1版本。第二条红线表示工具链变体的版本(在图中为nds32le-elf-mculib-v5f
),用户可以将其改为以下项目之一:
nds32le-elf-mculib-v5f
: 用于Telink TLSR9 D25F芯片。nds32le-elf-mculib-v5
: 用于Telink TLSR9 N22芯片。一旦工具链路径信息发生变化,请点击apply and close
按钮进行保存。
构建工具版本和工具链基础版本(上图工具路径中的V3.2.3或V5.1.1)必须相同。在更改工具链版本后,请参阅以下部分以验证和更改构建工具版本。
你可以从工程属性中检查当前工程使用的工具链版本。
在工程上单击右键,在弹出的菜单上选择Property
。
在选项中,我们可以从路径中看到build tool
版本和toolchain
版本:
从构建工具和工具链的路径中,我们可以找到在RDS
后面的以V
开头的版本信息,在上图中,build tool
版本和toolchain
版本都是V3.2.3
。
应在全局范围内设置构建工具版本。
用户可以在Set Build tool according to Chip type for TLSR9
选项中根据芯片类型设置构建工具版本。
在改变芯片类型后,需点击Save and Set
按钮使改变生效,再重新启动IDE。
想要查看当前的全局构建工具版本,可以单击Telink
菜单中的Settings and Log
选项。
在Set build Tool(make) Version
中将会显示构建工具版本。
上节图中的构建工具版本是V5.1.1
。
要将其更改为其他版本,请从组合列表中选择目标版本。目前只有V3.2.3
和V5.1.1
可用。然后单击Save selected version
,最后需要重新启动 IoT Studio。你可以根据消息框提示选择手动或自动重新启动。
Telink IoT studio支持SDK或像Telink old IDE 这样的工程导入功能。
用户可以使用File
->Import...
来导入SDK或工程。
用户可以参考这个Telink wiki页面。
对于Telink RDS IDE
格式的工程(例如,泰凌官方wiki网站 上的TLSR9芯片SDK),在将其导入工作区之前,必须将其转换为Telink IoT studio
格式。
用户可以参考下面Telink 菜单
小节中的RDS转换为IDE格式
部分,查看如何操作。
如果你从泰凌官方wiki网站 中获得TLSR9芯片 B91
的SDK或工程,它们是Telink RDS IDE
格式,你可以使用此功能将其转换为Telink IoT studio
格式,然后将其导入到Telink IoT studio,B92
的SDk或工程则不需要转换
单击Telink
菜单中的Telink RDS to IDE Converter
:
单击对话框中的Select .cproject file
按钮,选择Telink RDS IDE格式的.cproject
文件。
在Linux操作系统中,用户可以使用Ctrl + h
或其他快捷键来显示隐藏的(.cproject
)文件,筛选框中应更改为*
:
.cproject
文件选择完之后,会显示文件路径:
然后单击convert
按钮,结果将在下面的日志文本框中显示:
如果失败,日志文本框的背景将显示为红色。用户可以复制日志并将其发送到Telink IoT studio
开发者或FAE以获得帮助。
转换器可以作为一个独立的实用程序使用,用户可以在命令行中使用它。
转换器安装在:
在Windows操作系统中,为了从命令行转换.cproject
文件,用户可以使用以下命令:
$IoTStudio_PATH/tools/Converter/TelinkRDS2IDE.exe Path/To/.cproject
在Linux操作系统中:
$IoTStudio_PATH/tools/Converter/TelinkRDS2IDE Path/To/.cproject
默认情况下,转换后的项目(.cproject
)会将工具链设置为Telink TLSR9 D25F GCC
,为了D25F会使用Telink RDS IDE
GCC 7.4版本交叉编译器。
Jtag_Burn
功能与Telink RDS IDE
Jtag_Burn功能相似,都是利用JTAG接口将图像烧录到TLSR9X芯片。
除了Jtag_Burn
,TLSR9还可以用Burning EVK
通过SWS
协议,使用Windows BDT
软件进行烧录,这是比较推荐的方法。
SWS
协议只需要一个GPIO就可以将二进制图像烧录到TLSR8和TLSR9芯片,而JTAG对于TLSR9芯片来说,会使用2个或4个GPIO引脚。
Jtag_Burn窗口打开后,用户可以填写或设置Jtag_Burn和ICEMan参数:
可以在Jtag_Burn driver Arguments
中设置Jtag_Burn
参数.
ICEMan是管理TLSR9 JTAG ICE的工具(支持4线和2线模式)。
用户可以通过查阅doc
目录中的文档文件来获取更多的信息。
用户可以在Flashing Drivers and ICEMan
部分设置其他ICEMan和Jtag_Burn ELF,设置/选择的值将被保存并在下次重新打开对话框时继续使用。
下面列出了标准的ELF文件名称以供参考:
ICEMan.exe
,以及Linux操作系统中的ICEMan
。Jtag_Burn.exe
,以及Linux操作系统中的Jtag_Burn
。烧录程序时,要注意配置Jtag_Burn的路径和芯片类型,然后点击 Start ICEman,ICEman 准备好后,确保 telnet port 和 burner port 与 ICEman 保持一致,再点击烧录,如下图:
其中,Jtag_Burn 位于 $IoTStudio/RDS/V3.2.3/flash/ 目录下,其帮助文档也在同一目录.
若需要使用 Jtag_Burn 的安全下载功能,在 Misc Arguments 输入框中输入选项 --encrypt 即可
用户可以点击Open/Show Log file info
按钮查看工作区日志文件内容,并设置日志文件路径。
用户在向Telink提交问题反馈时应附上此日志文件。
用户可以在Windows BDT部分设置Windows BDT
exe路径,设置的路径将保存并在Windows BDT (SWS and JTAG)
菜单中重复使用。
在Telink links的子菜单中,用户可以快速访问Telink相关网站以获取开发资源或信息:
此选项将会启动Telink tools launcher
,如果显示以下对话框,则意味着此版本的 IoT Studio 尚未提供Telink tools
,因此用户无法使用它。
libusb version BDT
是一种新的烧录工具,类似于Windows操作系统和Linux操作系统中的Windows BDT
,但是这个工具需要使用新的固件来烧录EVK。此工具可用于通过SWS将图像烧录到TLSR8和TLSR9芯片。该工具仍处于测试阶段。如果这个工具在某些Windows操作系统中不起作用,请改用Windows BDT
(在下面的Windows BDT
部分中提到)。
用户可以启动此工具,然后点击libUSB BDT菜单上的“Help”来了解如何使用。
点击菜单项打开BDT的libusb版本,如果已经选择工程并且可以找到artifact,那么artifact bin文件路径可以传递过来,所以用户无需手动复制artifact路径:
如果未选择任何工程,则会跳出一个错误对话框,用户可以将其关闭,libusb BDT程序同样可以正常启动:
这是一个子菜单,它有好几个菜单项可以启动Toolchain控制台或ICEMan控制台,用户可以在这些shell中输入命令(例如:riscv-elf-gcc
或ICEMan
)。
Windows BDT (SWS and JTAG)
菜单项会打开一个单独的程序Windows BDT
。用户可以使用此工具烧录或调试TLSR8和TLSR9芯片。
可以参考这个wiki页面 了解如何使用。
Linux tcdb for TLSR8
菜单项有2个子菜单项,tcdb
将打开gnome-terminal
以使用tcdb。用户可以使用tcdb
工具来烧录TLSR8芯片。
tcdb user guide
会打开PDF格式的用户指南以供用户参考。
工具栏上有一个图标,用来打开artifact目录。
如果工程没有配置正确(.cproject
文件),这个图标无法工作,这个情况在许多之前的TLSR8 SDK中都会发生。
而大多数TLSR9 SDK工程都能够如期工作。
在点击图标之前必须选择工程或工程文件,否则它将无法工作。
Telink IoT studio增加了一个方便的菜单选项,可以帮助用户复制artifact路径。
用户可以点击上图中箭头指向的这个图标,将artifact路径复制到系统剪贴板上。
在点击图标之前必须选择工程或工程文件,否则它将无法工作。
Copy artifact path
这个选项会显示在工具栏和右键弹出的菜单中,如下所示:
此工具可以用来在 Telink 文档中心网站中搜索特定的关键词,在工程文件中双击选中某关键词后,点击 Search on DocSite
,即可跳转至文档中心搜索页面。
当link脚本文件的路径为相关格式时,这种类型的错误就会出现。它在Telink RDS IDE
中不会报错,但在Telink IoT studio
中会显示错误。
错误日志的提示如下:
要解决上述问题,用户可以打开工程属性,然后找到Tool Settings
选项中的General
页面,如下图所示,然后双击link脚本文件:
在打开的对话框中,从workspace
中选择link文件:
点击OK
和apply and close
按钮,然后重新构建工程以检查结果。
这个插件允许从导航树或编辑器视图的弹出菜单中打开一个shell窗口或文件管理器。此外,它可以在shell中运行选定文件、复制文件或目录路径、运行用户定义的外部工具。
一个多功能计算器,包括:
用户可以从菜单中打开:Window
--> Show view
--> other...
,然后输入Ecalculator
搜索并打开:
该终端可用于输入git命令和串口调试。
用户可以从菜单中打开:Window
--> Show View
--> Terminal
:
如果你的串口调试日志输出频率非常快,请使用其他专用工具代替。
这个插件用来打开二进制文件。
用户可以双击一个二进制文件,在 IoT Studio 中打开并查看。
Error 127
这个错误会在控制台窗口显示Error 127
:
这个问题是由于构建工具版本的不正确设置引起的,设置正确即可解决这个问题。
这些问题通常是由于将Telink RDS IDE格式的工程直接导入到Telink IoT studio而没有进行转换造成的。
要解决这个问题,请先删除该工程并在导入前将其转换为Telink IoT studio。
发生这种情况时,工程属性会出现如下情况:
此问题的原因与前面的FAQ相同,在导入之前请将其转换为Telink RDS格式工程。
用户可以在工程属性中设置以下命令来作为Post-build命令:
然后构建项目,控制台将输出GCC版本:
make tools
用户可以在工程属性中设置以下命令 (echo "${PATH}"
) 来作为Post-build命令。
然后构建项目,控制台会输出路径,其中第一个就是make tool路径。
在上面的示例结果中,make tool
路径为C:\TelinkIDE\RDS\V3.2.3\cygwin\bin
,基础版本为V3.2.3
。
用户应以管理员
的身份权限打开Telink TC32 console
。
Open artifact path
会导致 IoT Studio 退出出现这种情况是因为 IoT Studio 无法找到artifact路径。用户应避免在短时间内多次点击工具栏上的Open artifact path
图标。
这是一个正常的情况,因为 IoT Studio 需要花费一段时间来执行code indexing
和扫描编译器文件(例如工具链系统头文件和目录)。
这个过程将持续几秒钟。用户应该在其他操作(例如:构建)之前等待这项工作完成。这是一个一次性的动作,发生在改变工具链设置或导入工程的时候。
如果用户在工程刚刚导入,makefile还没有完全生成的情况下就开始构建配置,就会出现这个问题。
当这种情况发生时,类似于以下情况的日志将显示在控制台的日志窗口。
想要解决这个问题,用户应该等待几秒钟,然后重新构建配置。
为了避免此类问题,用户应该等待makefiles的生成和索引完成。可以在 IoT Studio 的右下方查看具体完成进度。
当点击 Telink 工具栏中的工具之前,先双击选中一个工程,即可避免此问题
默认显示打印边距,在代码编辑器中显示为一条垂直线。
如果想要隐藏它,你可以在首选项的Text Editors
页面上取消勾选Show print margin
选项。
注意:这个 JTAG 调试工具仅仅针对 TLSR9 系列芯片使用
为了使用调试功能,构建可执行程序时,要加上 -g 选项,并且删除编译或者链接时的影响调试的优化选项,如 -O2.
这里要注意一点,选择优化级别时,要选择 -Og,不要选择 -O0,因为在测试中发现,烧写过某些使用了 -O0 选项编译出的程序后,想要再次利用 Jtag 擦除烧写时,会发生下面的错误:
在构建程序的过程中,有可能会遇到类似下图所示的语法错误,解决方法是删掉编译器的 -Wall -Werror 等选项(同时注意检查 assembler 和 linker 的参数):
要注意的一点是,在构建 V5.1.1 N22 的程序时,因为工具链的缘故,使用 GCC 10 版本的 N22 工具链时,要删掉 -mabi=ilp32f 选项(同时注意检查 assembler 和 linker 的参数):
烧录程序时,要注意配置Jtag_Burn的路径和芯片类型,然后点击 Start ICEman,ICEman 准备好后,确保 telnet port 和 burner port 与 ICEman 保持一致,再点击烧录,如下图:
其中,Jtag_Burn 位于 $IoTStudio/RDS/V3.2.3/flash/ 目录下,其帮助文档也在同一目录
在进行 Debug 之前,需要先执行 ICEman。点击上方工具栏 Telink --> Toolchain Shell or ICEman Shell --> Open ICEman(RDS V5.1.1) shell
在终端输入命令:
sudo ./ICEman -Z v5
执行结果如下:
1111 就是我们需要监听的 TCP 端口号,调试过程中需要保证 ICEman 在运行,不能关闭终端。
ICEman 位于 $IoTStudio/RDS/V5.1.1/ice/ 目录下,也可以自行打开 ICEman.
ICEman 之后,点击工具栏 Debug 图标下拉箭头,选择 Debug Configuration
选择 C/C++ Remote Application
, 配置 main 选项卡,选择编译出的 elf 文件作为 gdb 的输入文件,并选择 Disable auto build
然后点击下方的 Select other, 默认为 Automatic, 选成 Manual
点击 Debugger 选项卡,配置相应的 debugger, 这里是 riscv32-elf-gdb
,注意不要勾选 Stop on startup at
点击 Connect 子选项卡,将 TCP 端口号填写为 ICEman 得到的 1111
配置完成,点击调试按钮,添加断点即可开始调试,界面如下:
目前 TLSR9 系列 Soc 支持最多两个硬件断点,当你发现你的程序运行的起始地址是 0x20000000 时,说明它运行在 flash 里面,需要使用硬件断点,而 step in
或 step over
等命令本身就会用到一个断点,所以用户调试时只能自定义一个断点,否则就会发生异常。这也是为什么不建议勾选 Stop on startup at,因为这个选项实际上的工作是设置了一个断点
当你调试时发生了 cannot access memory at address xx 异常时,可以使用 info br
命令检查一下断点数量
断点调试的过程中,可能会发生找不到源文件的错误,此时点击 Edit Source Path... , 如下图:
点击 Add, 选择 Path Mapping, 编辑如下:
左边需要手打输入,右边则是选择路径
此问题的原理是,将 IoT Studio 中的路径正确映射到本地路径,所以最简单的映射方式也可以是将 /cygdrive/c/ 直接映射到 C:\ (因为此例中我们的 SDK 放在C盘)
上述配置完成后,即可正常调试
该工具的作用是将原 Telink RDS IDE 的工程文件格式转换为现在的 Telink IoT Studio 的工程格式。
其命令行的使用方法是,切换至需要转换的 .cproject
工程文件的目录,在此目录下执行 $(converter_path)/TelinkRDS2IDE.
converter 的所在目录是 $IoTStudio/tools/Converter/.
例如:
该工具的作用是将 binary 文件烧写至 TLSR9 芯片中,使用之前需要先使用 ICEman. Jtag Burn 工具位于 $IoTStudio/RDS/V3.2.3/flash/ 中,用户手册也在该目录下,下面是使用示例:
./Jtag_Burn --chip B92 --reset-and-run --verify --addr 0 --image /home/wang/UART_Demo.bin --port 2354 --telnet_port 4444 --unlock
其中,--port 和 --telnet_port 选项的参数需要和 ICEman 的 Burner_port 和 telnet_port 参数保持一致,若你看到 ICEman 的运行结果表明它的 burner_port 和 telnet_port 分别是 2354 和 4444(如下图):
这种情况下,运行 Jtag_Burn 时,可以省略 --port 和 --telnet_port 这两个选项
Published by
Telink Semiconductor
Bldg 3, 1500 Zuchongzhi Rd,
Zhangjiang Hi-Tech Park, Shanghai, China
© Telink Semiconductor
All Rights Reserved
Legal Disclaimer
This document is provided as-is. Telink Semiconductor reserves the right to make improvements without further notice to this document or any products herein. This document may contain technical inaccuracies or typographical errors. Telink Semiconductor disclaims any and all liability for any errors, inaccuracies or incompleteness contained herein.
Copyright © 2023 Telink Semiconductor (Shanghai) Co., Ltd.
Information
For further information on the technology, product and business term, please contact Telink Semiconductor Company www.telink-semi.com
For sales or technical support, please send email to the address of:
版本 修订日期 作者 更改内容
V1.0.0 2022-06 何雄军 首次发布
V1.0.1 2022-07 何雄军 添加更多已知问题
添加IDE设置章节
V1.0.2 2022-09 何雄军 选择带有芯片类型的版本
V1.0.3 2022-11 何雄军,王飞 添加 Jtag 调试章节
V1.0.4 2023-03 何雄军,王飞 Telink IDE 更名为 Telink IoT Studio
添加一些工具的使用说明
邮箱
邮箱
The new password
Confirm password