常见问题
如何添加文件到工程
可以直接通过复制粘贴往RT-Thread Studio工程里添加文件,甚至可以直接可以往工程里复制粘贴整个文件夹,也可以通过右键新建向导选择新建文件夹,新建C源码文件或H头文件,如果添加文件后构建提示文件找不到,请到工程构建配置里将添加的文件添加Include包含头文件路径
如何让源码显示行号
在源码编辑窗口的左边栏上右键,选择显示行号
,即可显示行号,如下图所示:
串口出现丢失字符怎么办
排除程序的原因外,串口线的质量,波特率是否设置过高都是需要考虑的因素,可以尝试换个串口线,或者将波特率调低点试试。
删除工程的时候删不掉怎么办
由于工程里可能有 git 文件被 git 程序占用造成工程有时删除部分后失败,提示占用问题,可以试试删除工程先前先关闭工程,等待一会后再删除,或者删除失败后,通过重启菜单重启一下 RT-Thread Studio 就可以正常删除了,重新启动菜单入口(菜单栏文件菜单内)和关闭项目(项目上右键菜单内)入口如下图所示:
用户是否可以修改 rt-thread 及 packages 目录下的文件及配置
不可以。rt-thread 及 packages 目录下的文件统一使用 RT-Thread Setting 文件来管理和配置,当需要这两个目录下的相关文件参与编译时,应该在 RT-Thread Setting 文件中来打开相关功能。
例如用户想让当前 rt-thread 目录下的 dfs 参与编译,如下图所示
用户不能直接修改文件属性让 dfs 文件参与编译,而是通过 RT-Thread Setting 文件打开 DFS 的配置,保存配置后 dfs 的配置后,Studio 会自动将 dfs 文件添加到构建文件中,如下图所示
Studio 编译结果中 text,data,bss,dec 和 hex 的各个含义是什么
Studio 的编译结果如下图所示
-
text:代码段,用来存放代码及一些只读常量,一般是只读的区域
-
data:数据段,用来存放全局初始化变量,以及全局或局部静态变量
-
bss:BSS 段,用来存放所有未初始化的数据,用 0 来初始化
-
dec:是 decimal 即十进制的缩写,是 text,data 和 bss 的算术和 本例中:51344 + 372 + 2808 = 54524
-
hex:是 hexadecimal 即十六进制的缩写,本例中:十进制数 54524 对应的十六进制就是 d4fc
-
filename:编译生成的目标文件名,本例中即为:rtthread.elf
编译生成的目标文件占用内存的计算方法
程序占用的 FLASH 大小 = text 段的大小 + data 段的大小
程序占用的 RAM 大小 = data 段的大小 + bss 段的大小
ST-LINK烧写端口被占用怎么办
当弹出错误对话框提示“TCP Port 61234 not available”时, 打开调试配置修改 ST-LINK端口号即可, 如下图所示:
打开RT-thread settings窗口,为什么看不到图标界面
1.选择非Nano版本源码
新建工程选择RT-Thread非Nano版本源码即可, Nano是纯净版,没有组件概念
2.切换到项目资源管理器视图
如果选择了非Nano版本源码,还看不到RT-thread settings,看看视图是否是项目资源管理器
视图。如果不是,可以选择窗口
,点击显示视图
,选择项目资源管理器
即可,如下图所示:
RT-Thread Studio 升级失败
总共分两种情况:
-
如果更新失败提示信息里有 “org.eclipse.equinox.internal.p2.engine.phases.CheckTrust” RT-Thread Studio 升级前请先关闭翻墙工具,或尝试删除安装目录下的“artifacts.xml”文件重启再试
-
如果更新失败提示信息里有 “No Repository found”或发生下图所示错误,请手动探测更新。在更新页面内,取消勾选 “Group items by category”和“Contact all update sites during install to find required software” 并勾选"Eclipse Platform Launcher Executables",然后尝试安装studio更新,若安装过程中出错,关闭后重试一次即可 。
如何打开关闭的项目
右键菜单,打开项目
即可,如下图所示:
创建工程失败 装载 python DLL 出错 怎么办
- 问题描述: Error loading Python DLL
xxx/MEI85262/python36.dll
. LoadLibrary:找不到指定程序
- 解决方法:请手动安装 Visual C++ Redistributable, 点我下载
项目资源管理器如何 显示/隐藏 被排除构建的资源
RT-Thread Studio 从 V 1.1.4 版本开始支持显示/隐藏
被排除构建的资源,如下图所示,这些被排除构建的资源显示为灰色,并且资源图标上有斜杠标志,被排除构建的资源将不会在启动编译时参与编译,Studio 默认隐藏了这些资源。
- 如果想
显示/隐藏
这些资源,请先点击项目资源管理器右上角的倒三角,会展示如下菜单,点击过滤器和定制:
- 在过滤器和定制中,有很多可以选择过滤的资源,
勾选/取消勾选
RTT Excluded Resource ,即可隐藏/显示
被排除构建的资源。
如何解决 studio 编译链接时命令行超出 windows 长度限制的问题
编译工程链接的时候,若出现如下图所示【 CreateProcess : No such file or directory 】的错误,可能是因为工程文件过多或者目录名过长等原因导致链接时命令行过长,部分 .o 被截断产生的问题。
Windows 下命令行的字符串长度限制为 8191 个字符,当然我们也有办法去解决此限制,请使用以下一种或者多种方法来解决这个问题(根据您的具体情况):
-
缩短链接文件的路径
- 为文件夹和文件使用较短的名称
- 减少文件夹树的深度
- 将文件存储在更少的文件夹中
-
修改工程链接配置命令(推荐)
- 在 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}
- 在工程目录下添加 project_link.exe 可执行文件,可在此下载 project_linker.exe
- 重新编译工程,即可正常进行链接
如何解决 studio 清理工程时命令行超出 windows 限制的问题
在清理 ( Clean ) 工程的时候,当工程过大时,可能会和链接时一样出现 process_begin : CreateProcess 的问题,由于命令 rm 后的参数过长,导致 windows 不能处理此命令。
推荐您使用以下方法解决这个问题:
-
点击下载 clean_script.exe
-
将 clean_script.exe 置于工程根目录下
-
修改工程根目录下的 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 ,不能使用空格键
- 重新清理工程
添加软件包后在 packages 目录找不到的解决办法
如果在 RT-Thread Settings 添加软件包后,在 packages 目录下找不到软件包或者软件包被排除编译,请尝试以下方法:
-
以 network_samples-v0.3.0 软件包为例:
-
双击打开 RT-Thread Settings
-
右键不能显示的软件包,打开详细配置
-
为该软件包配置至少配置一个子选项,不然和没勾选的参与编译情况是一样的
-
保存该配置即可
如何解决第一次启动Studio时登录页面不显示的问题
进入Studio安装目录,打开studio.ini
文件,将Dorg.rtthread.studio.browser.systemdefault=false 值修改为Dorg.rtthread.studio.browser.systemdefault=true (该方法仅支持V2.0及以后的版本)