diff --git a/development-tools/rtthread-studio/faq/figures/build_part_0.png b/development-tools/rtthread-studio/faq/figures/build_part_0.png new file mode 100644 index 0000000000000000000000000000000000000000..efac2eda9ccbb2bc8d10593242448d29d7c5e33f Binary files /dev/null and b/development-tools/rtthread-studio/faq/figures/build_part_0.png differ diff --git a/development-tools/rtthread-studio/faq/figures/build_part_1.png b/development-tools/rtthread-studio/faq/figures/build_part_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e838cee9733ba8e7f4c8a9fe2d3d0ee8512f35f7 Binary files /dev/null and b/development-tools/rtthread-studio/faq/figures/build_part_1.png differ diff --git a/development-tools/rtthread-studio/faq/figures/build_part_2.png b/development-tools/rtthread-studio/faq/figures/build_part_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4a125783b0259d6887b7dc367188b36898b945a9 Binary files /dev/null and b/development-tools/rtthread-studio/faq/figures/build_part_2.png differ diff --git a/development-tools/rtthread-studio/faq/figures/cmdline_limit_0.png b/development-tools/rtthread-studio/faq/figures/cmdline_limit_0.png new file mode 100644 index 0000000000000000000000000000000000000000..9bab99307374778cd8d45ecd7c9674c3cc4c210b Binary files /dev/null and b/development-tools/rtthread-studio/faq/figures/cmdline_limit_0.png differ diff --git a/development-tools/rtthread-studio/faq/studio-faq.md b/development-tools/rtthread-studio/faq/studio-faq.md index c3f919e1650408b2b6a394dda0d3883e6eb8fe9f..e919f5c45f368b774348473fa348b41f0151a84b 100644 --- a/development-tools/rtthread-studio/faq/studio-faq.md +++ b/development-tools/rtthread-studio/faq/studio-faq.md @@ -12,29 +12,7 @@ ![showline](figures/showline.png) -## 导入项目的入口在哪里 -通过`项目资源管理器`窗口右键`导入`菜单打开导入向导窗口,选择 `现有项目到工作空间中`,如下图所示: - -![importpro](figures/importpro.png) - -点击`下一步`后,通过`浏览`按钮,选择要导入的项目所在目录,向导会自动扫描目录下所有可导入的工程并列在项目列表中,勾选要导入的工程,然后点击`完成`即可完成导入工程,如下图所示: - -![importdone](figures/importdone.png) - -## 如何生成 HEX 文件 - -选中工程后,点击工具栏上的`打开构建配置`按钮,将相应的输出文件格式设置成 hex 文件格式,即可实现输出 hex 文件,如下图所示: - -![hexfile](figures/hexfile.png) - -如果需要同时生成 bin 文件和 hex 文件,需要在`构建后步骤`里添加构建后生成 HEX 文件的命令,如下图所示: - -![binfile](figures/binfile.png) - -构建后生成的 hex 文件,在工程的`Debug`目录下,如下图所示: - -![buildhe](figures/buildhe.png) ## 串口出现丢失字符怎么办 @@ -91,7 +69,15 @@ Studio 的编译结果如下图所示 ## 打开RT-thread settings窗口,为什么看不到图标界面 -新建工程选择RT-Thread非Nano版本源码即可, Nano是极简版,没有组件概念 +### 1.选择非Nano版本源码 + +新建工程选择RT-Thread非Nano版本源码即可, Nano是纯净版,没有组件概念 + +### 2.切换到项目资源管理器视图 + +如果选择了非Nano版本源码,还看不到RT-thread settings,看看视图是否是`项目资源管理器`视图。如果不是,可以选择`窗口`,点击`显示视图`,选择`项目资源管理器`即可,如下图所示: + +![](figures/Project_Explorer_View.png) ## RT-Thread Studio 升级失败 @@ -108,42 +94,6 @@ RT-Thread Studio 升级前请先关闭科学上网工具,或尝试删除安装 ![upadte_error3](figures/upadte_error3.png) -## 如何启用黑色主题和设置编辑器配色 - -通过`首选项`的`外观`配置项选择“DevStyle Theme”即可启用新的黑色主题,切换主题后需要重启Studio后才会生效 - -![devstyle1](figures/devstyle1.png) - -![devstyle2](figures/devstyle2.png) - -## 如何修改双击选中时高亮的相同代码颜色 - -`窗口`->`首选项`: -- `常规`->`编辑器`->`文本编辑器`->`注解`,在“注释类型”中找到“C/C++ Write Occurrences”,修改右侧的“颜色”,`应用并关闭` -- 或直接在`输入过滤器文本`框中搜索`注解`,在“注释类型”中找到“C/C++ Write Occurrences”,修改右侧的“颜色”,`应用并关闭` - -![occurrences](figures/occurrences.png) - -修改前: - -![before](figures/occurrences1.png) - -修改后: - -![after](figures/occurrences2.png) - -## 如何查看和修改快捷键 - -通过`帮助`菜单打开`键辅助`可查看快捷键 - -![lookkey1](figures/look_key1.png) - -![lookkey2](figures/look_key2.png) - -## 如何恢复界面 - -![resetpage](figures/resetpage.png) - ## 如何打开关闭的项目 右键菜单,`打开项目`即可,如下图所示: @@ -157,11 +107,7 @@ RT-Thread Studio 升级前请先关闭科学上网工具,或尝试删除安装 - 解决方法:请手动安装 Visual C++ Redistributable, [点我下载](https://realthread.cowtransfer.com/s/96d5e5928fc54e) -## 如何取消启动调试前的自动构建 - -首先通过`窗口`菜单打开`首选项`窗口,然后展开`运行/调试`选项并点击进入`启动`选项,最后将`在启动之前构建(如必需)`选项取消勾选即可取消启动调试前的自动构建,如下图所示: -![bulid_cancel](figures/bulid_cancel.png) ## 项目资源管理器如何 显示/隐藏 被排除构建的资源 @@ -177,53 +123,29 @@ RT-Thread Studio 从 V 1.1.4 版本开始支持`显示/隐藏`被排除构建的 ![exclude_build_2](figures/exclude_build_2.png) -## 如何解决 studio 编译链接时命令行超出 windows 长度限制的问题 - -编译工程链接的时候,若出现如下图所示【 CreateProcess : No such file or directory 】的错误,可能是因为工程文件过多或者目录名过长等原因导致链接时命令行过长,部分 .o 被截断产生的问题。 +## 如何解决 studio 编译或者清理时命令行超出 windows 长度限制的问题 -![link-cmd](figures/link-cmd.png) +### windows 命令行长度限制导致的问题 -Windows 下命令行的字符串长度限制为 8191 个字符,当然我们也有办法去解决此限制,请使用以下一种或者多种方法来解决这个问题(根据您的具体情况): +Windows 下命令行的字符串长度限制为 8191 个字符,在 windows 系统上进行编译或者清理的时候,可能出现以下问题: - - 缩短链接文件的路径 - - 为文件夹和文件使用较短的名称 - - 减少文件夹树的深度 - - 将文件存储在更少的文件夹中 - - - 修改工程链接配置命令**(推荐)** - - 在 C/C++ Build/Settings/Gnu ARM Cross C++ Linker 中配置 Command line pattern 为 - - ``` - @$(file >link.temp,${cross_toolchain_flags} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}) ../project_linker.exe link.temp ${COMMAND} - ``` - - ![settings-link-cmd](figures/settings-link-cmd.png) - - 在工程目录下添加 project_link.exe 可执行文件,可在此下载 [project_linker.exe](../figures/project_linker.exe) +- 编译工程链接的时候,若出现如下图所示【 CreateProcess : No such file or directory 】的错误,可能是因为工程文件过多或者目录名过长等原因导致链接时命令行过长,部分 .o 被截断产生的问题。 - ![project_linker](figures/project_linker.jpg) - - - 重新编译工程,即可正常进行链接 + ![link-cmd](figures/link-cmd.png) -## 如何解决 studio 清理工程时命令行超出 windows 限制的问题 +- 在清理 ( Clean ) 工程的时候,当工程过大时,可能会和链接时一样出现 process_begin : CreateProcess 的问题,由于命令 rm 后的参数过长,导致 windows 不能处理此命令。 -在清理 ( Clean ) 工程的时候,当工程过大时,可能会和链接时一样出现 process_begin : CreateProcess 的问题,由于命令 rm 后的参数过长,导致 windows 不能处理此命令。 + ![clean_error](figures/clean_error.png) -![clean_error](figures/clean_error.png) +### 在 RT-Thread Studio 中如何解除命令行长度的限制 -推荐您使用以下方法解决这个问题: +RT-Thread Studio 为用户提供了一键解决命令行长度限制的方法,此方法仅对编译和清理有效: -- 点击下载 [clean_script.exe](../figures/clean_script.exe) +- 打开项目菜单,可看见 解除命令行长度限制的 子菜单,点击选中,打勾的情况即为选中了。再次编译或者清理工程,就不会再出现以上问题: -- 将 clean_script.exe 置于工程根目录下 +![image-20210312112104075](figures/cmdline_limit_0.png) -- 修改工程根目录下的 makefile.targets 中的 clean2 命令为 : - - ``` - clean2: - @$(file > clean, $(OBJS) $(C_DEPS) $(CPP_DEPS))../clean_script.exe clean - -$(RM) $(CC_DEPS) $(C++_DEPS) $(C_UPPER_DEPS) $(CXX_DEPS) $(SECONDARY_FLASH) $(SECONDARY_SIZE) $(ASM_DEPS) $(S_UPPER_DEPS) *.elf - -@echo ' ' - ``` +- 如果不想解除命令行限制,只要将上图菜单取消选中即可。 注:clean2 下的命令前的空格是 Tab ,不能使用空格键 @@ -251,14 +173,40 @@ Windows 下命令行的字符串长度限制为 8191 个字符,当然我们也 ![image-20201111183636804](figures/project_root.png) + + +## 如何解决第一次启动Studio时登录页面不显示的问题 + +进入Studio安装目录,打开`studio.ini` 文件,将Dorg.rtthread.studio.browser.systemdefault=false 值修改为Dorg.rtthread.studio.browser.systemdefault=true (该方法仅支持V2.0及以后的版本) + +## 如何只编译当前选中的文件 + +在实际开发中,大家可能有这样一个需求:只编译部分文件,而不是编译整个工程。如果您有这个需求,请按照以下方式来操作: + +- 取消自动构建 + + 选择菜单【项目】,下拉后,大家会看到自动构建的菜单,如果当前是勾选上的,请取消勾选 + + ![image-20210401173630012](figures/build_part_0.png) + +- 选中需要编译的文件 + + 如果您需要编译以下文件,请按住 Ctrl 依次选中它们,请注意:只能选中可编译的文件,例如:.c、.cpp、.S 等,不可编译的文件例如:目录、.h、.md 请不要选中,这些不可编译的文件一起选中会导致下一个步骤无法进行 + + ![image-20210401173043457](figures/build_part_1.png) + +- 选中以上文件之后,右键点击【构建选择的文件】即可 + + ![image-20210401173441805](figures/build_part_2.png) ## settings 保存配置后项目资源管理器中自定义的源文件消失的解决办法 -这是由于settings保存配置后这些源文件被排除编译导致的,请尝试一下办法: -打开并编辑对应目录下的 SConscript 文件,在 src = Split(''' ''') 中添加需要加入编译的源文件的名字,例如加入 application.c ,之后邮件点击工程,更新软件包 +这是由于 settings 保存配置后这些源文件被排除编译导致的,请尝试以下办法: -![](figures/SConsAddFile.png) +- 打开并编辑对应目录下的 SConscript 文件,在 src = Split(''' ''') 中添加需要加入编译的源文件的名字,例如加入 application.c , + ![](figures/SConsAddFile.png) -​ +- 之后右键点击工程,更新软件包 -![](figures/UpdatePack.png) + ![](figures/UpdatePack.png) + \ No newline at end of file diff --git a/development-tools/rtthread-studio/um/studio-user-manual.md b/development-tools/rtthread-studio/um/studio-user-manual.md index 892d096d08e2e9f5ad23a7e76847816bf7f52a1c..50a6778ae8fe593faf5d13cdaa23eedb9624875d 100644 --- a/development-tools/rtthread-studio/um/studio-user-manual.md +++ b/development-tools/rtthread-studio/um/studio-user-manual.md @@ -22,6 +22,8 @@ RT-Thread Studio 在初次打开的时候功能窗口位置呈现的是默认布 ![shuxing](figures/shuxing.png) +#### 可恢复 + 当窗口拖乱了,或者整体布局不满意想恢复回默认布局的样子时,可以通过 ` 复位透视图 ` 菜单功能恢复默认窗口布局,如下图所示: ![reset-see](figures/reset-see.png) @@ -158,11 +160,78 @@ RT-Thread Studio 的导入功能不仅支持导入现有的 RT-Thread Studio 工 ![importdone](figures/importdone.png) -### MDK/IAR 项目导入 +### MDK 项目导入 + +开发者可以将现有的 RT-Thread MDK 工程直接导入到 RT-Thread Studio 中,MDK 工程在导入到 RT-Thread Studio 后,将有如下特性: + +- 保持原有项目的目录结构 +- 保持保持原有项目的源文件 +- 保持原有项目的头文件路径 +- 保持原有项目的宏定义 + +#### 导入示例 + +本小节将以 `bsp/stm32/stm32l475-atk-pandora` 工程为例,演示如何导入一个 MDK 工程到 RT-Thread Studio 中,导入前工程目录如下图所示: + +![image-20210311151949938](figures/mdk_0.png) + +在 Studio 资源管理器窗口中点击右键,在下拉菜单中选择导入功能,然后选择导入 MDK 项目到工作空间,然后点击下一步, 如下图所示: + +![image-20210311152111005](figures/mdk_1.png) + +点击浏览选择工程目录下要导入的 MDK 工程,选择 MDK的可执行文件,然后输入导入后的工程名,点击完成即可, 如下图所示: + +![image-20210315105833737](figures/mdk_2.png) + +导入成功后,会在原工程目录下创建 .rtt-studio 的工程目录文件夹,如下图所示: + +![image-20210311152405473](figures/mdk_3.png) + +项目资源管理器此时显示界面, 如下图所示 : + +![image-20210311152544090](figures/mdk4.png) + +当一个 MDK 工程被导入到 RT-Thread Studio 之后,原工程的组织结构会保持不变,如下图所示: + +![image-20210315104707598](figures/mdk_5.png) + +与原 MDK 工程相同,RT-Thread Studio Group 中的源文件也可以存放在工程的各个位置,而不必实际上按照这种组织结构而存放文件。 + +可以注意到导入的 Group 和源文件右下角有一个小方块和箭头指示,表示区别于原生 eclipse 那种所见即所得的文件组织形式。这种右下角带方框或者箭头标识的文件夹或者文件,在 RT-Thread Studio 中分别称为虚拟文件夹和链接文件。 + +此时直接在 RT-Thread Studio 中点击编译按钮编译成功后,如下图所示: + +![image-20210311152817183](figures/mdk_6.png) + +#### RT-Thread Studio 与 MDK 工程同步 + +为了方便工程可以畅通无阻地在 RT-Thread Studio 和 MDK 之间切换使用,在工程右键菜单中有 同步 MDK 工程的菜单,并且分为两个子菜单,可分别从 MDK 同步到 RT-Thread Studio 和从 RT-Thread Studio 同步到 MDK,如下图所示: + +![image-20210312103256691](figures/mdk_7.png) + +#### MDK 工程配置 + +RT-Thread Studio 定制了一套配置 MDK 工程的界面,只要打开工程设置按钮即可: + +![image-20210312103657961](figures/mdk_8.png) + +配置界面中主要包含有:全局配置,、C/C++ 配置、汇编语言配置、链接配置。在 C/C++ 配置中,配置包含路径和符号时,可以打开 Settings 来添加、编辑、删除已有的值,下图以配置包含路径 ( Include Paths ) 为例演示: + +![image-20210312104002319](figures/mdk_9.png) + +#### MDK 工程编译、下载、调试 + +与普通的 RT-Thread Studio 工程一样,直接点击下图三个按钮,即可执行编译、下载、调试,如果遇到下载或者调试没有反应,请在下载按钮右侧选择正确的调试器。 + +![image-20210312104616966](figures/mdk_10.png) + -开发者可以将现有的 RT-Thread MDK/IAR 工程直接导入到 RT-Thread Studio 中,然后就可以使用 RT-Thread Studio 提供的更多工程配置功能。 -`MDK/IAR` 工程在导入到 RT-Thread Studio 后,将有如下特性: +### IAR 项目导入 + +开发者可以将现有的 RT-Thread IAR 工程直接导入到 RT-Thread Studio 中,然后就可以使用 RT-Thread Studio 提供的更多工程配置功能。 + +`IAR` 工程在导入到 RT-Thread Studio 后,将有如下特性: - 保持原有项目的目录结构 - 保持保持原有项目的源文件 @@ -175,17 +244,17 @@ RT-Thread Studio 的导入功能不仅支持导入现有的 RT-Thread Studio 工 #### 导入示例 -本小节将以 `bsp/stm32/stm32f429-atk-apollo` 工程为例,演示如何导入一个 MDK 工程到 RT-Thread Studio 中,导入前工程目录如下图所示: +本小节将以 `bsp/stm32/stm32f429-atk-apollo` 工程为例,演示如何导入一个 IAR 工程到 RT-Thread Studio 中,导入前工程目录如下图所示: ![apollo_project](figures/apollo_project.png) -在 Studio 资源管理器窗口中点击右键,在下拉菜单中选择导入功能,然后选择导入 MDK/IAR 项目到工作空间,然后点击下一步, 如下图所示: +在 Studio 资源管理器窗口中点击右键,在下拉菜单中选择导入功能,然后选择导入 IAR 项目到工作空间,然后点击下一步, 如下图所示: -![mdk_iar_import](figures/mdk_iar_import.png) +​ ![image-20210311151216392](figures/iar_1.png) -点击浏览选择工程目录下要导入的 MDK/IAR 工程,然后输入导入后的工程名,点击完成即可, 如下图所示: +点击浏览选择工程目录下要导入的 IAR 工程,然后输入导入后的工程名,点击完成即可, 如下图所示: -![import_project_name](figures/import_project_name.png) +​ ![image-20210311151747705](figures/iar2.png) 导入成功后,会在原工程目录下创建 RT-Thread Studio 的工程目录文件夹,如下图所示: @@ -201,14 +270,6 @@ RT-Thread Studio 的导入功能不仅支持导入现有的 RT-Thread Studio 工 #### 导入工程管理 -当一个 MDK/IAR 工程被导入到 RT-Thread Studio 之后,原工程的组织结构会保持不变,如下图所示: - -![project_structure](figures/project_structure.png) - -与原 MDK 工程相同,RT-Thread Studio Group 中的源文件也可以存放在工程的各个位置,而不必实际上按照这种组织结构而存放文件。 - -可以注意到导入的 Group 和源文件右下角有一个小方块和箭头指示,表示区别于原生 eclipse 那种所见即所得的文件组织形式。这种右下角带方框或者箭头标识的文件夹或者文件,在 RT-Thread Studio 中分别称为虚拟文件夹和链接文件。 - ##### 添加与删除源文件 如果想在导入的工程中添加源文件,此时只需要保证该文件存在于工程目录中,然后手动拖入到相应的 group 中。如果想要从工程中删除某个源文件,则可以右键点击该文件,在下拉菜单中选择删除即可,如下图所示: @@ -237,28 +298,25 @@ RT-Thread Studio 的导入功能不仅支持导入现有的 RT-Thread Studio 工 - **ERROR STM32MP157AAAx doesn't support import to RT-Thread Studio now** - 说明 RT-Thread Studio 暂不支持导入当前系列的芯片。 + 说明 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' - ``` + 说明找不到 IAR 的安装路径 打开工程目录下 rtconfig.py 文件 , 修改 IAR 的 **EXEC_PATH** 。 + > 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](figures/specific_linker_file.png) + ![specific_linker_file](figures/specific_linker_file.png) - **WARNING Can't find xxx_startup_stm32fxxx.s, replace startup files failed.** - 出现这种错误意味着在导入过程中不能找到可自动替换的芯片启动文件,需要手动添加启动文件到工程中。此时直接将可用的 gcc 启动文件拷贝到工程中,然后拖到相应的 group 中即可。 - + 出现这种错误意味着在导入过程中不能找到可自动替换的芯片启动文件,需要手动添加启动文件到工程中。此时直接将可用的 gcc 启动文件拷贝到工程中,然后拖到相应的 group 中即可。 ## RT-Thread 配置 @@ -318,6 +376,36 @@ RT-Thread Studio 的导入功能不仅支持导入现有的 RT-Thread Studio 工 ![save-set](figures/save-set.png) +## CubeMX 配置 + +RT-Thread Studio 为 STM32CubeMX 提供了快捷的配置入口,可将 STM32CubeMX 配置的内容应用到 RT-Thread Studio 的工程中,不需要用户手动去搬运代码。**前提是您的电脑上已经安装了 STM32CubeMX 软件**。目前只支持完整版或者 Nano 版的基于芯片创建的 ST 系列的工程。 + +### 启动 STM32CubeMX + +这里以 stm32f411RE 为例,演示如何打开 CubeMX 配置。 + +双击工程目录下的 CubeMX Settings, 可以看到执行 CubeMX 的进度框: + +![image-20210312105629551](figures/cubemx_0.png) + +等待十几秒,第一次打开可能时间会稍长,可以看到 STM32CubeMX 已经打开。 + +### 配置 STM32CubeMX + +您可以根据你的需求进行配置,配置完成后,点击 GENERATE CODE,然后点击右上角关闭: + +![image-20210312110838150](figures/cubemx_1.png) + +关闭时,STM32CubeMX 会提示您 cubemx.ioc 已经被修改,是否要保存配置,请点击 Yes,这样您做的配置才会在 RT-Thread Studio 的工程中生效: + +![image-20210312110054727](figures/cubemx_2.png) + +查看工程目录,您会发现在工程目录下自动生成了 STM32CubeMX 的代码: + +![image-20210312110932425](figures/cubemx_3.png) + +接下来,您就可以正常的编译啦。 + ## 代码编辑 ### 编码修改 @@ -424,6 +512,20 @@ RT-Thread Studio 的导入功能不仅支持导入现有的 RT-Thread Studio 工 ![add binary library cfg](figures/add-binary-library.png) +### 如何生成 HEX 文件 + +选中工程后,点击工具栏上的`打开构建配置`按钮,将相应的输出文件格式设置成 hex 文件格式,即可实现输出 hex 文件,如下图所示: + +![hexfile](../faq/figures/hexfile.png) + +如果需要同时生成 bin 文件和 hex 文件,需要在`构建后步骤`里添加构建后生成 HEX 文件的命令,如下图所示: + +![binfile](../faq/figures/binfile.png) + +构建后生成的 hex 文件,在工程的`Debug`目录下,如下图所示: + +![buildhe](../faq/figures/buildhe.png) + ### 配置其它 配置其它构建参数可直接在 ` 工具设置 ` 配置页面中选择相应类型配置树节点,并设置其提供的详细配置项,配置完成后,点击 ` 应用并关闭 ` 按钮配置即可生效。如下图所示: @@ -515,6 +617,12 @@ RT-Thread Studio 的导入功能不仅支持导入现有的 RT-Thread Studio 工 ![addformat](figures/addformat.png) +### 取消启动调试前的自动构建 + +首先通过`窗口`菜单打开`首选项`窗口,然后展开`运行/调试`选项并点击进入`启动`选项,最后将`在启动之前构建(如必需)`选项取消勾选即可取消启动调试前的自动构建,如下图所示: + +![bulid_cancel](../faq/figures/bulid_cancel.png) + ## 模拟器仿真 ### QEMU 模拟器仿真 @@ -767,8 +875,17 @@ RT-Thread Studio 自带 MarkDown 编辑器,若工程里有 md 文件,只需 ![editmd](figures/editmd.png) +## 快捷键 + +### 如何查看和修改快捷键 + +通过`帮助`菜单打开`键辅助`可查看快捷键 + +![lookkey1](../faq/figures/look_key1.png) + +![lookkey2](../faq/figures/look_key2.png) -## 常用快捷键 +### 常用快捷键 **代码阅读**