RT-Thread Studio 用户手册

界面介绍

界面简介

RT-Thread Studio 基于 eclipse 平台开发,界面设计和风格继承自 eclipse,RT-Thread Studio 启动后主界面结构如下图所示:

studio-frame

透视图简介

透视图定义了当前界面呈现的菜单栏,工具栏,以及功能窗口集合及其布局。不同透视图提供了完成特定类型任务的功能集合。例如 C 透视图组合了项目开发,源文件编辑,项目构建等常用的开发功能窗口,菜单和功能按钮,调试透视图包含了调试项目程序常用的调试功能窗口,菜单和功能按钮。

RT-Thread Studio 已实现启动调试时自动切换到调试透视图,停止调试时自动恢复到 C 透视图,用户平时也可以根据需要从 透视图切换栏 手动进行透视图切换,切换到其它透视图进行相关工作。

功能窗口特性

可移动

RT-Thread Studio 在初次打开的时候功能窗口位置呈现的是默认布局,但所有功能窗口位置都不是固定的,可以在窗口标题处按住鼠标左键,随意拖动窗口的位置,如下图所示左键按住 属性 窗口,拖动到 项目资源管理器 窗口下方,会出现一个灰色方框指示 属性 窗口将要被放置的位置,此时松开鼠标按键即可将 属性 窗口放置在该位置:

shuxing

当窗口拖乱了,或者整体布局不满意想恢复回默认布局的样子时,可以通过 复位透视图 菜单功能恢复默认窗口布局,如下图所示:

reset-see

可关闭

每个功能窗口标题旁边都有一个 X 可以通过点击该处,关闭功能窗口,如下图所示:

can-close

若想再次打开已关闭的功能窗口,可通过菜单栏的 窗口 菜单的子菜单 显示视图 菜单中再次打开对应功能窗口,如果当前菜单中没显示想要打开的功能窗口,可以点击从 其他 菜单中查找。

open-set

最大化

每个功能窗口都有自己单独的工具栏,工具栏最右边是最小化和最大化功能按钮,如下图所示:

max-size

在功能窗口的标题上双击或者点击功能窗口栏上最大化按钮,即可将窗口最大化,占满整个功能窗口区域,其它窗口将会暂时最小化到侧栏内,如下图所示:

max-pic

再次双击 项目资源管理器 功能窗口即可恢复之前的功能窗口位置和状态。

最小化

点击功能窗口最小化按钮,功能窗口将会暂时缩小到侧栏位置放置,点击 恢复 按钮即可恢复原来状态,如下图所示:

restore

工具栏按钮介绍

编译

选中一个项目,然后点击 编译 按钮即可完成编译,如下图所示:

构建配置

构建项目之前如果需要对项目进行构建参数配置,点击工具栏上 打开构建配置 按钮对项目进行构建参数配置,如下图所示:

build-entry

调试配置

进行下载或启动调试之前如果需要对项目进行相关调试参数配置,通过点击工具栏上的 调试配置 按钮,可打开调试配置对话框界面,如下图所示:

debugentry

启动调试

选中一个项目,然后点击 启动调试 按钮即可进入调试模式,如下图所示:

打开元素

打开元素 按钮其实就是一个搜索功能,可以指定搜索的类型,如下图所示:

搜索

通过搜索菜单或者搜索按钮,选择对应的搜索功能,如下图所示:

search-menu

打开终端

通过点击工具栏 打开终端 按钮即可打开终端选择界面,如下图所示:

terminal

打开 RT-Thread RTOS API 文档

通过点击工具栏 打开 RT-Thread RTOS API 文档 按钮即可打开 RT-Thread API 参考手册,如下图所示:

下载程序

下载程序 按钮除了可以下载程序以外,还可以通过旁边的三角下拉按钮来切换调试器,如下图所示:

switchdebug

SDK Manger

SDK Manger 可以管理源码包、芯片支持包、工具链资源包、调试工具包,可以根据需要进行下载相应的资源。

欢迎页

RT-Thread Studio 每次启动打开软件主界面后会展示一个最大化的欢迎页窗口,如下图所示:

welcome-page

欢迎页左侧有四个便利的功能入口:创建 RT-Thread 项目RT-Thread 论坛视频教程帮助文档,直接点击相应的功能名称即可使用对应功能。欢迎页右侧展示了三类内容:最新动态视频教程最新 PR,点击对应的标签即可查看或者浏览对应标签页的内容。

新建

新建资源功能包括新建各类资源,例如工程,文件,文件夹等,新建入口有菜单,工具栏按钮,和工程右键菜单如下图所示:

new-resource

导入

RT-Thread Studio 的导入功能不仅支持导入现有的 RT-Thread Studio 工程,还支持用户将 MDK/IAR 格式的工程导入到 RT-Thread Studio 中,便于用户迁移开发环境。

RT-Thread Studio 项目导入

在 Studio 资源管理器窗口中点击右键,在下拉菜单中选择导入功能:

select_import

打开导入功能向导,选择导入 RT-Thread Studio 工程:

select_rtt_project

点击 下一步 后,点击 浏览 按钮选择要导入项目所在的工程目录,导入程序会自动扫描该目录下所有可导入的工程,将结果列出在项目列表中。在工程列表中勾选要导入的工程,然后点击 完成 即可。

importdone

MDK/IAR 项目导入

开发者可以将现有的 RT-Thread MDK/IAR 工程直接导入到 RT-Thread Studio 中,然后就可以使用 RT-Thread Studio 提供的更多工程配置功能。

MDK/IAR 工程在导入到 RT-Thread Studio 后,将有如下特性:

  • 保持原有项目的目录结构
  • 保持保持原有项目的源文件
  • 保持原有项目的头文件路径
  • 保持原有项目的宏定义
  • 将原工程中使用的 libc 库相关配置转换为 newlibc
  • 可以使用 RT-Thread Studio 提供的 RT-Thread 系统配置及软件包配置功能

注意 :目前仅支持 STM32 系列芯片的工程导入,后续会支持更多芯片。

导入示例

本小节将以 bsp/stm32/stm32f429-atk-apollo 工程为例,演示如何导入一个 MDK 工程到 RT-Thread Studio 中,导入前工程目录如下图所示:

apollo_project

在 Studio 资源管理器窗口中点击右键,在下拉菜单中选择导入功能,然后选择导入 MDK/IAR 项目到工作空间,然后点击下一步, 如下图所示:

mdk_iar_import

点击浏览选择工程目录下要导入的 MDK/IAR 工程,然后输入导入后的工程名,点击完成即可, 如下图所示:

import_project_name

导入成功后,会在原工程目录下创建 RT-Thread Studio 的工程目录文件夹,如下图所示:

generate_dirs

项目资源管理器此时显示界面, 如下图所示 :

windows_express

此时直接点击编译按钮编译成功后,如下图所示:

build_project

导入工程管理

当一个 MDK/IAR 工程被导入到 RT-Thread Studio 之后,原工程的组织结构会保持不变,如下图所示:

project_structure

与原 MDK 工程相同,RT-Thread Studio Group 中的源文件也可以存放在工程的各个位置,而不必实际上按照这种组织结构而存放文件。

可以注意到导入的 Group 和源文件右下角有一个小方块和箭头指示,表示区别于原生 eclipse 那种所见即所得的文件组织形式。这种右下角带方框或者箭头标识的文件夹或者文件,在 RT-Thread Studio 中分别称为虚拟文件夹和链接文件。

添加与删除源文件

如果想在导入的工程中添加源文件,此时只需要保证该文件存在于工程目录中,然后手动拖入到相应的 group 中。如果想要从工程中删除某个源文件,则可以右键点击该文件,在下拉菜单中选择删除即可,如下图所示:

add_file_1

即可在工程中看到 README.md 文件:

add_file_2

如果想要创建一个虚拟文件夹 (虚拟文件夹并不是真实存在的文件夹,并没有实际的逻辑结构,其显示的内容可能实际上是分散于若干个真实的文件夹中,虚拟文件夹只是起到了一个归纳和汇总的作用),可以采用如下方式:

create_folder_1

create_folder_2

即可在工程中看到新创建的文件夹:

create_folder_3

导入错误说明

本小节将介绍在导入过程中可能出现的错误,以及遇到这类问题该如何解决。由于在导入的过程中要根据用户所导入的工程进行芯片检查以及一些文件的替换,有时会遇到芯片不支持或者文件找不到的情况,此时用户可以自行手动替换某些缺少的文件,使得工程可以构建成功。

常见的错误提示信息如下:

  • ERROR STM32MP157AAAx doesn't support import to RT-Thread Studio now

说明 RT-Thread Studio 暂不支持导入当前系列的芯片。

  • ERROR get IAR version failed. Please update the IAR installation path in rtconfig.py!

说明找不到 IAR 的安装路径 打开工程目录下 rtconfig.py 文件 , 修改 IAR 的 EXEC_PATH

```c
elif CROSS_TOOL == 'iar':
    PLATFORM    = 'iar'
    EXEC_PATH   = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0'
```
  • WARNING Can't auto specific link.lds file, Please specific a linker file mannually.

出现这种错误意味着在导入过程中不能自动替换链接脚本文件,需要手动指定链接脚本的位置。

specific_linker_file

  • WARNING Can't find xxx_startup_stm32fxxx.s, replace startup files failed.

    出现这种错误意味着在导入过程中不能找到可自动替换的芯片启动文件,需要手动添加启动文件到工程中。此时直接将可用的 gcc 启动文件拷贝到工程中,然后拖到相应的 group 中即可。

RT-Thread 配置

打开 RT-Thread 配置界面

通过双击工程根目录下的 RT-Thread Settings 文件,可以打开 RT-Thread 配置界面,如下图所示:

pro-set

软件包中心

通过点击 立即查看 进入软件包中心,软件包中心首先展示了软件包的大分类,在软件包中心,可以先选择一个分类,也可以直接搜索软件包,点击搜索到的软件包进入软件包详情页面后,可以通过点击 添加软件包到工程 按钮将软件包添加到工程,如下图所示:

add-packages

当软件包成功添加到工程后,软件包中心会提示 软件包添加成功,同时添加的软件包会显示在软件包层,该软件包依赖的组件也会被自动启用,例如添加 pahomqtt 软件包,DFS,SALPOSIXlibc 组件会自动被启用,如下图所示:

pahomqtt

组件和服务层

在图标上双击可直接启用该组件。启用的组件是亮色图标,未启用组件为灰色图标。通过在组件和服务层的图标上右键弹出可操作的右键菜单,如果该组件已经启用,则该组件的右键菜单有 停用查看依赖详情配置 三个选项,如果该组件未启用,则该组件右键菜单只有 启用 选项,如下图所示:

component

查看依赖

在启用的组件上右键选择 查看依赖,可以查看该组件被哪些组件依赖,例如查看 libc 组件的依赖,依赖关系图 窗口显示 POSIX 组件依赖了 libc 组件,如下图所示:

see-depend

查看详细配置

在启用的组件上右键选择 详细配置,可以打开该组件的详细配置树形界面,例如在 DFS 上右键选择 详细配置,打开的属性配置界面如下图所示:

detail-set

详细配置

当打开 RT-Thread 配置界面的时候,详细配置默认是隐藏的,通过启用的组件的右键菜单 详细配置 或者 RT-Thread 配置界面侧栏按钮,可以将详细配置界面调出来,侧栏按钮位置如下图所示:

open-detail

详细配置界面即右侧的树形配置界面,树形配置界面分成了四大类配置: Kernel, Components, Packages, Hardware 。通过标签可以切换不同的配置类别, 点击侧栏按钮可以隐藏该属性配置界面, 如下图所示:

look-detail

搜索配置

当需要搜索某个配置的时候,需要在详细配置里选中任意配置树节点右键,会弹出 搜索 菜单,或者在详细配置里选中任意配置树节点后,按下快捷键 Ctrl + F 即可弹出配置搜索对话框,输入搜索关键词点击搜索即可搜索出所有匹配关键词的配置,在结果列表里选择不同结果查看时,配置树会自动跳转到对应配置位置,如下图所示:

search-set

保存配置

当配置修改后,RT-Thread Configuration 标签会有脏标记,配置完后要记得点击 保存 按钮,将配置保存并应用到工程中。保存的时候会弹出进度提示框,提示保存进度,如下图所示:

save-set

代码编辑

编码修改

  • 设置当前文件的编码格式

在当前文件中,按Alt+Enter,会出现下图所示界面。可以看到设置编码格式的选项(如图中红色矩形所示)。下拉列表中可以选择想要的编码格式。

  • 设置当前项目工程(Project)的编码格式

选中你所创建的项目,右键点击会弹出以下界面,选择最下面的一个选项属性(图中红色矩形样式),点击进入。

点击属性之后,弹出以下页面,默认的是从容器继承,我们选择其他, 下拉框选择编码,然后点击Apply and Close即可

  • 设置工作区间的编码格式

通过窗口菜单打开首选项窗口弹出如下图界面:

​ 点击常规选项后再点击工作空间会出现设置编码格式的选项。默认的是缺省值(GBK),这里我们选择其他,下拉框选择编码,然后点击Apply and Close即可

编辑

通过 编辑 菜单或者直接在源码编辑器内右键菜单,可以选择对应的编辑系列功能,如下图所示:

code-edit

源码

通过 源码 菜单或者直接在源码编辑器内右键菜单,可以选择对应的源码系列功能,如下图所示:

source

重构

通过 重构 菜单或者直接在源 码编辑器内右键菜单,可以选择对应的重构系列功能,如下图所示:

rebuild

导航

通过 导航 菜单或者直接在源码编辑器内右键菜单,可以选择对应的导航系列功能,如下图所示:

start-menu

搜索

通过搜索菜单或者搜索按钮,选择对应的搜索功能,如下图所示:

search-menu

辅助键

通过 帮助 菜单的子菜单 辅助键 查看所有的快捷键,如下图所示:

help-bottom

构建配置

构建配置入口

构建项目之前如果需要对项目进行构建参数配置,点击工具栏上 打开构建配置 按钮对项目进行构建参数配置,如下图所示:

build-entry

配置头文件包含

若要增删改头文件路径,在 工具设置 配置页,点击 GNU ARM Cross C Compiler 下的 Includes 配置项即可打开头文件路径配置参数,点击 Inlucde paths(-I) 配置栏相应的按钮即可进行头文件的增删改操作,如下图所示:

path-include

配置宏定义

若要增删改宏定义,在 工具设置 配置页,点击 GNU ARM Cross C Compiler 下的 Preprocessor 配置项即可打开宏定义配置参数,点击 Define symbols(-D) 配置栏相应的按钮即可进行宏定义的增删改操作,如下图所示:

setmicro

配置链接脚本

若要增删改链接脚本配置,在 工具设置 配置页,点击 Cross ARM C Linker 下的 General 配置项即可设置链接脚本文件,点击 Script files(-T) 配置栏相应的按钮即可进行链接脚本的增删改操作,在 Script files(-T) 下方有一些基本的链接参数可配置,如下图所示:

setlinkscripts

配置外部二进制库文件

若要增删改外部二进制库文件,在 工具设置 配置页,点击 Cross ARM C Linker 下的 Libraries 配置项即可设置外部二进制库文件,点击 Libraries(-l) 配置栏相应的按钮即可进行库文件的增删改操作,在 Library search path(-L) 配置栏配置库文件相应的路径。

如下图所示:

  • 项目本地新增 GCC 二进制库文件,命名为:libxxx.a(如图中示例 libwifi_1.0.0_gcc.a)。
  • Libraries(-l) 配置栏增加二进制库文件名称:xxx(如图中示例 wifi_1.0.0_gcc),注意需要去掉前缀 lib 与后缀 .a
  • Library search path(-L) 配置栏,添加该库文件所在的路径。

add binary library

add binary library cfg

配置其它

配置其它构建参数可直接在 工具设置 配置页面中选择相应类型配置树节点,并设置其提供的详细配置项,配置完成后,点击 应用并关闭 按钮配置即可生效。如下图所示:

setother

调试配置

调试配置入口

进行下载或启动调试之前如果需要对项目进行相关调试参数配置,通过点击工具栏上的 调试配置 按钮,可打开调试配置对话框界面,如下图所示:

debugentry

调试配置项

选中一个调试配置后,调试配置对话框将展示所有配置项,配置项通过 配置项分类标签页 进行了分类,通过点击不同 标签页 展示不同类别配置项,修改配置项后,点击 确定 按钮即可保存配置修改,如下图所示:

debugset

下载功能

切换调试器

目前 RT-Thread Studio 支持 JLink 、ST-Link、DAP-Link 以及软件仿真器 QEMU,新建工程的时候可以在新建工程向导里选择硬件调试器也可以选择软件仿真器 QEMU。工程创建好之后,如果想切换硬件调试器或直接进行软件仿真,可以通过工具栏下载程序按钮旁边的三角下拉按钮来切换硬件调试器或软件仿真器 QEMU,如下图所示:

switchdebug

调试

调试常用操作

当调试启动成功后,程序会在 main 方法处挂起,这时可以通过工具栏上的调试相关操作按钮或者快捷键进行常用的调试操作,如下图所示:

debugopt

启用汇编单步调试模式

点击工具栏上的 汇编单步模式 按钮,会自动打开 反汇编 功能窗口,此时 汇编单步模式 按钮呈凹下去的状态,代表此时处于汇编单步模式,如下图所示:

asmstep

当进入 汇编单步模式 后,所有单步调试操作将变为以一条汇编指令为单位进行单步执行,此时指令跳转情况可以在 反汇编 窗口进行查看。

若要退出 汇编单步模式,直接再次点击 汇编单步模式 按钮即可。

查看寄存器

通过 窗口 菜单的 显示视图 子菜单,选择打开 寄存器 窗口即可查看核心寄存器,如下图所示:

seereg

查看外设寄存器

点击 Peripherals 窗口,让 Peripherals 窗口显示在最前面,若 RT-Thread Studio 存在相应的 svd 文件,该窗口将会显示所有外设名称及其地址和描述。可在 Peripherals 窗口勾选要查看的外设,内存窗口将会显示该外设的所有寄存器的名称及其地址和当前值,如下图所示:

seeperial

若需要修改某个寄存器的当前值,可以直接点击进入寄存器 Value 那一列,输入想要修改的值后,敲击回车键即可执行修改。(注:只有可读可写的寄存器可以修改值,只读寄存器无法修改值。)

editreg

查看变量

点击 变量 窗口,让 变量 窗口显示在最前面,即可查看当前程序挂起时所有可见的变量,点击 变量 窗口最右边的三角下拉菜单,可以设置变量显示的数值格式,如下图所示:

seevalue

查看内存

点击 内存 窗口,让 内存 窗口显示在最前面。点击 添加内存监视器 按钮,在弹出的输入框内,输入要查看内存的起始地址,点击 确定 即可添加要查看的内存,如下图所示:

seememreg

添加内存监视器后,内存窗口会立即展示刚输入的内存起始地址的一段内存,如下图所示:

seemem

断点

在源码编辑窗口边栏,双击即可设置断点,再次双击即可删除断点,打开 断点 窗口即可查看和管理所有断点,通过 断点 窗口工具栏可以进行删除,取消等断点管理操作,如下图所示:

breakpoint

表达式

在源码内选中表达式后点击右键,选择 添加监看表达式 即可将表达式添加到 表达式 窗口,或者直接点击 表达式 窗口内的 添加新的表达式 通过直接输入的方式,添加想要查看的表达式的值。

addformat

模拟器仿真

QEMU 模拟器仿真

QEMU 是一个支持跨平台虚拟化的虚拟机,它可以虚拟很多开发板。为了方便在没有开发板的情况下体验 RT-Thread,RT-Thread Studio 提供了 QEMU 模拟仿真调试器。 本文主要介绍在 Windows 平台上使用 RT-Thread Studio QEMU 模拟器进行仿真。

创建工程

点击新建一个工程,选择或者设置各个配置选项,Adapter 配置项可以先选择 QEMU,并且配置适合的模拟器。目前的最新版本中,系列、子系列需要手动选择,还未与模拟器支持的系列关联起来。点击完成,即会在工作空间中创建一个 QEMU 调式的工程。

qemu

切换调试器到 QEMU

如果当前工程为老工程或者当前选择的调试器是 QEMU 以外的调试器,想使用 QEMU 进行调试,可点击下载按钮右边的下拉框,选择 QEMU :

qemu

若当前工程还未配置 QEMU ,那么在选择 QEMU 后,会弹出【跳转到配置界面】的提示,点击【是】,会显示 QEMU 配置界面,具体详情将在下一节介绍。

qemu

QEMU 配置

点击【打开调试配置】或者其他情况下跳转到 QEMU 配置界面,需要配置的参数如下:

参数 英文 命令
开发板型号 Board Name -M
支持 Cpu 的数量 Cpu Quantity -smp
是否支持网络 Enable Network -net
是否支持图形 Don't open grapgic windows -nographic
SD 卡内存大小 SD Card Memory -sd
额外的命令 Extra Commands

填写完整后,点击确定,即可正常进行调试和运行。

qemu

仿真调试

在编译正常的情况下,点击调式按钮,IDE 会自动启动 QEMU 并打开串口,并进入断点调试模式,在此模式中,可一步一步观察每次断点的输出情况,亦可在串口中执行自己的命令。

  • 注:在 windows 上 QEMU 不支持上下键查看历史命令。

qemu

终端

通过点击工具栏 终端 按钮即可打开终端选择界面如下图所示:

terminal

点击 确定 按钮后,即会自动打开对应的终端功能窗口,如下图所示:

seeterminal

SDK Manager

SDK Manager 简介

通过 SDK Manager 维护 RT-Thread Studio 内部的 RT-Thread SDK 资源包,包括安装,卸载,升级各类资源包。通过工具栏的 SDK Manager 按钮即可打开 SDK Manager 功能界面,如下图所示:

sdkmanager

SDK Manager 功能

安装资源包

勾选状态为 Not installed 的资源包,点击 Install packages 按钮即可启动资源包安装过程,如下图所示:

installsdk

卸载资源包

勾选状态为 Installed 的资源包,点击 Delete packages 按钮即可启动卸载过程,如下图所示:

deletesdk

升级资源包

点击资源包对应的 升级 按钮,可以将资源包同步更新到最新状态。如下图所示:

updatesdk

MarkDown 编辑

RT-Thread Studio 自带 MarkDown 编辑器,若工程里有 md 文件,只需要双击即可打开 md 文件进行编辑,如下图所示:

editmd

常用快捷键

代码阅读

  • Ctrl+H 全局 打开搜索对话框
  • Ctrl+Shift+T 全局 打开类型
  • Ctrl+Shift+R 全局 打开资源
  • Ctrl+Shift+"+" 放大字体
  • Ctrl+"-" 缩小字体

代码编辑

  • Ctrl+D 删除当前行

  • Ctrl+/ 注释当前行, 再按则取消注释

  • Ctrl+Shift+F 格式化

  • Alt+→ /← 全局 前进 / 后退历史记录

  • Ctrl+Q 定位到最后编辑的地方

  • Ctrl+K 参照选中的 Word 快速定位到下一个

  • Ctrl+L 定位在某行

  • Alt+→ /← 前一个 / 下一个编辑的页面

  • Shift+Enter 在当前行的下一行插入空行

首选项

首选项介绍

RT-Thread Studio 基于 eclipse 平台开发,eclipse 是一个高度可定制的平台,基于 eclipse 实现的功能都会提供大量的配置项,来定制功能的行为方式,来满足用户自身的使用习惯,这些配置项 eclipse 称为首选项。

通过点击 窗口 菜单的字菜单 首选项 即可进入首选项配置界面,如下图所示:

firstopt

由于首选项数量大,种类多,首选项对话框左侧以树形的形式展示所有的首选项,点击对应的首选项类别即可展开对应的首选项配置树,若要查找某个首选项,可直接在 输入过滤文本 框中,输入关键字,进行查找。

首选项右侧即为具体的可配置项页面,修改 后直接点击 应用 即可保存配置,若想恢复当前配置页默认值,点击 恢复默认值 按钮即可。

首选项配置还可以通过左下角 导入导出 功能,将配置进行保存或者在不同用户间传递或者共享配置,导出功能将把所有配置导出到 .epf 文件中,其它用户直接导入这个 .epf 文件,即可使用该文件记录的所有配置。

optmenu

设置主题

通过 首选项外观 配置项选择 “DevStyle Theme” 即可启用新的黑色主题,切换主题后需要重启 Studio 后才会生效

devstyle1

通过 DevStyle ThemeColor Themes 配置项选择 “Editor theme” 可以切换其他黑色主题,切换主题后需要重启 Studio 后才会生效

devstyle2

Question && Feedback