Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
vscode插件
RT-Thread项目助手v0.3 | Ubuntu与MacOS平台的RT-Thread Env
发布于 2025-03-18 22:10:38 浏览:17
订阅该版
[tocm] # RT-Thread项目助手v0.3 | Ubuntu与MacOS平台的Env ## 扩展特性 - 可直接打开项目目录在终端运行`scons`、`pkgs`、`sdk`、`menuconfig`命令(无须先打开ComEmu输入`code .`)。 - 菜单配置:可视化操作代替终端menuconfig。 ## 测试方法 为了学习各种环境的RT-Thread构建方法,克隆[RT-Thread master分支](https://github.com/RT-Thread/rt-thread),使用git分别回退到v3.1、v4.0、v4.1、v5.1、v5.2的最后一个补丁版本: | RT-Thread版本 | 哈希值 | 日期 | |----------------------|------------|------------| | v5.2.0
[1]
| 9b05fc5913 | 2025-03-15 | | v5.1.0 | 4f7940167d | 2024-04-22 | | v4.1.1 | aab2428d41 | 2022-08-22 | | v4.0.5 | 158bb5e9d5 | 2021-12-29 | | v3.1.5 | 92beddf3bc | 2021-05-28 | > **标注** > > [1] RT-Thread v5.2.0未正式发布,任选一个提交测试。 选择正点原子探索者开发板V3(主控芯片:STM32F407ZGT6),使用RT-Thread Studio v2.2.9的BSP导入功能将`bsp/stm32/stm32f407-atk-explorer`转为标准目录结构。 ### 构建环境 - **RT-Thread Studio Makefile**: RT-Thread Studio基于eclipse的CDT Makefile构建方式。 - **Env Windows v1.x**: [《ENV-Windows v2.0.0版本发布》](https://club.rt-thread.org/ask/article/af8952fcf0ca464b.html)网盘中的各个v1.x版本(v1.2.0、v1.2.4、v1.3.5、v1.5.0、v.1.5.2)。 - **Env Windows v2.x**: [《ENV-Windows v2.0.0版本发布》](https://club.rt-thread.org/ask/article/af8952fcf0ca464b.html)网盘中的v2.0.0版本的离线安装方式(需要安装在`C:\env-windows`)、联网安装方式。 - **Env v2.x - Windows**:
的powershell安装方式(目前是安装在`用户主目录\.env`)。 - **Env v2.x - Ubuntu**: 参考
的install_ubuntu.sh安装方式,并改成了使用虚拟环境: ```bash cat << 'EOF' > install_ubuntu.sh #!/usr/bin/env bash sudo apt-get update sudo apt-get -qq install python3 python3-venv gcc git libncurses5-dev -y url=https://raw.githubusercontent.com/RT-Thread/env/master/touch_env.sh if [ $1 ] && [ $1 = --gitee ]; then url=https://gitee.com/RT-Thread-Mirror/env/raw/master/touch_env.sh fi wget $url -O touch_env.sh chmod 777 touch_env.sh ./touch_env.sh $@ rm touch_env.sh python3 -m venv ~/.env/.venv source ~/.env/.venv/bin/activate pip install scons requests tqdm kconfiglib pyyaml pyocd python3 -m pip install -U pyocd EOF chmod +x install_ubuntu.sh ./install_ubuntu.sh --gitee rm ./install_ubuntu.sh ``` - **Env v2.x - MacOS**: 参考
的install_macos.sh安装方式,并改成了使用虚拟环境: ```bash cat << 'EOF' > ./install_macos.sh #!/usr/bin/env bash if ! [ -x "$(command -v brew)" ]; then echo "Installing Homebrew." /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" fi brew update brew upgrade RTT_PYTHON=python3 $RTT_PYTHON --version >/dev/null 2>&1 || { echo "Installing python3." brew install python3 } if ! [ -x "$(command -v git)" ]; then echo "Installing git." brew install git fi brew list ncurses >/dev/null || { echo "Installing ncurses." brew install ncurses } if ! [ -x "$(command -v arm-none-eabi-gcc)" ]; then echo "Installing GNU Arm Embedded Toolchain." brew install gnu-arm-embedded fi url=https://raw.githubusercontent.com/RT-Thread/env/master/touch_env.sh if [ $1 ] && [ $1 = --gitee ]; then url=https://gitee.com/RT-Thread-Mirror/env/raw/master/touch_env.sh fi curl $url -o touch_env.sh chmod 777 touch_env.sh ./touch_env.sh $@ rm touch_env.sh python3 -m venv ~/.env/.venv source ~/.env/.venv/bin/activate $RTT_PYTHON -m pip list >/dev/null || { echo "Installing pip." $RTT_PYTHON -m ensurepip --upgrade } if ! [ -x "$(command -v scons)" ]; then echo "Installing scons." $RTT_PYTHON -m pip install scons fi if ! [ -x "$(command -v tqdm)" ]; then echo "Installing tqdm." $RTT_PYTHON -m pip install tqdm fi if ! [ -x "$(command -v kconfiglib)" ]; then echo "Installing kconfiglib." $RTT_PYTHON -m pip install kconfiglib fi if ! [ -x "$(command -v pyocd)" ]; then echo "Installing pyocd." $RTT_PYTHON -m pip install -U pyocd fi if ! [[ $($RTT_PYTHON -m pip list | grep requests) ]]; then echo "Installing requests." $RTT_PYTHON -m pip install requests fi EOF chmod +x ./install_macos.sh ./install_macos.sh --gitee rm ./install_macos.sh ``` ### 测试结果 把生成的每个项目初始化git仓库并提交。在每个环境测试完成后,使用`git reset --hard HEAD && git clean -fdx`清理以排除干扰。 编译工具工具链统一使用arm-none-eabi-gcc v10.3.1,测试各个环境的构建、下载运行结果: | 环境\RT-Thread版本 | v3.1.5 | v4.0.5 | v4.1.1 | v5.1.0 | v5.2.0 | |----------------------------|:---------------:|:------:|:-------:|:---------------:|:---------------:| | RT-Thread Studio Makefile | √
[1]
| √ | √ | √ | √
[2]
| | Env Windows v1.x | √ | √ | √ | √ | ×
[3]
| | Env Windows v2.x | √ | √ | √ | √
[4]
| √ | | Env v2.x - Windows | √ | √ | √ | √ | √ | | Env v2.x - Ubuntu | √ | √ | √ | √ | √ | | Env v2.x - MacOS | √ | √ | √ | √ | √ | > **标注** > > [1] 直接构建报错无`
`文件,使用Env方式构建一次后正常。 > > [2] 用RT-Thread Studio构建报错:`fatal error: stm32f4xx_hal.h: No such file or directory 40 | #include "stm32f4xx_hal.h"`,使用Env 2.x的执行`scons --target=eclipse`后正常。 > > [3] 报错: > > ```sh > scons: Reading SConscript files ... > Cannot found RT-Thread root directory, please check RTT_ROOT > ``` > > [4] 使用`pkgs --update`显示警告: > > ```sh > ** WARNING ** > env v2.0 only FULL SUPPORT RT-Thread > v5.1.0 or master branch. > but you are working on RT-Thread V5.1.0, please use env v1.5.x > ``` RT-Thread Studio Makefile构建方式也在Windows、Ubuntu、MacOS分别测试了,结果一样。似乎在Ubuntu上特别快,重新构建整个项目耗时不到1秒。 > **说明** > > - 在之前的测试中,用Env Windows v1.x构建RT-Thread < v5.0.0版本居然报错`scons: *** [xxx.c] ValueError : unsupported pickle protocol: 4`,这次发现是因为先用了Env v2.x构建产生的`.sconsign.dblite`导致的,删除掉就没问题了。 > > - 之前在Win10的vscode集成终端中使用menuconfig发现上下方向键不能移动菜单项;这次在Win11中测试是可以用的。 > > - 虽然在这个BSP上用Env 2.x能正常使用各个版本,但未测试其它BSP,还是**建议按照官方指示,RT-Thread <= v5.1.0版本使用Env 1.x、RT-Thread > v5.1.0版本使用Env 2.x。** --- 另外,在Ubuntu中测试了使用不同调试服务器(默认参数)擦写同样大小程序的耗时: - Segger Jlink ```sh * 正在执行任务: /opt/SEGGER/JLink/JLinkExe -CommandFile .vscode/download.jlink SEGGER J-Link Commander V8.18 (Compiled Mar 5 2025 14:47:32) DLL version V8.18, compiled Mar 5 2025 14:46:29 J-Link Command File read successfully. Processing script file... J-Link>ExitOnError 1 J-Link Commander will now exit on Error J-Link>SelectInterface SWD J-Link connection not established yet but required for command. Connecting to J-Link via USB...O.K. Firmware: J-Link V9 compiled May 7 2021 16:26:12 Hardware version: V9.40 J-Link uptime (since boot): N/A (Not supported by this model) S/N: 69408717 License(s): RDI, GDB, FlashDL, FlashBP, JFlash VTref=3.274V Selecting SWD as current target interface. J-Link>Speed 4000 Selecting 4000 kHz as target interface speed J-Link>Device STM32F407ZG J-Link>R Target connection not established yet but required for command. Device "STM32F407ZG" selected. Connecting to target via SWD InitTarget() start SWD selected. Executing JTAG -> SWD switching sequence. DAP initialized successfully. InitTarget() end - Took 43.6ms Found SW-DP with ID 0x2BA01477 DPIDR: 0x2BA01477 CoreSight SoC-400 or earlier Scanning AP map to find all available APs AP[1]: Stopped AP scan as end of AP map has been reached AP[0]: AHB-AP (IDR: 0x24770011, ADDR: 0x00000000) Iterating through AP map to find AHB-AP to use AP[0]: Core found AP[0]: AHB-AP ROM base: 0xE00FF000 CPUID register: 0x410FC241. Implementer code: 0x41 (ARM) Found Cortex-M4 r0p1, Little endian. FPUnit: 6 code (BP) slots and 2 literal slots CoreSight components: ROMTbl[0] @ E00FF000 [0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7 [0][1]: E0001000 CID B105E00D PID 003BB002 DWT [0][2]: E0002000 CID B105E00D PID 002BB003 FPB [0][3]: E0000000 CID B105E00D PID 003BB001 ITM [0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU [0][5]: E0041000 CID B105900D PID 000BB925 ETM Memory zones: Zone: "Default" Description: Default access mode Cortex-M4 identified. Reset delay: 0 ms Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies) Reset: Halt core after reset via DEMCR.VC_CORERESET. Reset: Reset device via AIRCR.SYSRESETREQ. J-Link>Halt PC = 1FFF3DA0, CycleCnt = 00000000 R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000 R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000 R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000 R12= 00000000 SP(R13)= 20001D80, MSP= 20001D80, PSP= 00000000, R14(LR) = FFFFFFFF XPSR = 01000000: APSR = nzcvq, EPSR = 01000000, IPSR = 000 (NoException) CFBP = 00000000, CONTROL = 00, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 00 FPS0 = 00000000, FPS1 = 00000000, FPS2 = 00000000, FPS3 = 00000000 FPS4 = 00000000, FPS5 = 00000000, FPS6 = 00000000, FPS7 = 00000000 FPS8 = 00000000, FPS9 = 00000000, FPS10= 00000000, FPS11= 00000000 FPS12= 00000000, FPS13= 00000000, FPS14= 00000000, FPS15= 00000000 FPS16= 00000000, FPS17= 00000000, FPS18= 00000000, FPS19= 00000000 FPS20= 00000000, FPS21= 00000000, FPS22= 00000000, FPS23= 00000000 FPS24= 00000000, FPS25= 00000000, FPS26= 00000000, FPS27= 00000000 FPS28= 00000000, FPS29= 00000000, FPS30= 00000000, FPS31= 00000000 FPSCR= 00000000 J-Link>Loadfile rt-thread.elf 'loadfile': Performing implicit reset & halt of MCU. Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies) Reset: Halt core after reset via DEMCR.VC_CORERESET. Reset: Reset device via AIRCR.SYSRESETREQ. Downloading file [rt-thread.elf]... J-Link: Flash download: Bank 0 @ 0x08000000: 3 ranges affected (262144 bytes) J-Link: Flash download: Total: 1.064s (Prepare: 0.114s, Compare: 0.036s, Erase: 0.000s, Program & Verify: 0.847s, Restore: 0.065s) J-Link: Flash download: Program & Verify speed: 302 KB/s O.K. J-Link>R Reset delay: 0 ms Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies) Reset: Halt core after reset via DEMCR.VC_CORERESET. Reset: Reset device via AIRCR.SYSRESETREQ. J-Link>Qc Script processing completed. OnDisconnectTarget() start OnDisconnectTarget() end - Took 2.23ms jswyll-vscode-rtthread: download finished. (took 2.130s) * 终端将被任务重用,按任意键关闭。 ``` - OpenOCD ST-Link ```sh * 正在执行任务: openocd -f .vscode/openocd.cfg -c 'program rt-thread.elf verify reset exit' Open On-Chip Debugger 0.12.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD Info : clock speed 2000 kHz Info : STLINK V2J45S7 (API v2) VID:PID 0483:3748 Info : Target voltage: 3.263874 Info : [stm32f4x.cpu] Cortex-M4 r0p1 processor detected Info : [stm32f4x.cpu] target has 6 breakpoints, 4 watchpoints Info : starting gdb server for stm32f4x.cpu on 3333 Info : Listening on port 3333 for gdb connections Info : Unable to match requested speed 2000 kHz, using 1800 kHz Info : Unable to match requested speed 2000 kHz, using 1800 kHz [stm32f4x.cpu] halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc Info : Unable to match requested speed 8000 kHz, using 4000 kHz Info : Unable to match requested speed 8000 kHz, using 4000 kHz ** Programming Started ** Info : device id = 0x10076413 Info : flash size = 1024 KiB ** Programming Finished ** ** Verify Started ** ** Verified OK ** ** Resetting Target ** Info : Unable to match requested speed 2000 kHz, using 1800 kHz Info : Unable to match requested speed 2000 kHz, using 1800 kHz shutdown command invoked jswyll-vscode-rtthread: download finished. (took 8.777s) * 终端将被任务重用,按任意键关闭。 ``` Jlink ```sh * 正在执行任务: openocd -f .vscode/openocd.cfg -c 'program rt-thread.elf verify reset exit' Open On-Chip Debugger 0.12.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : J-Link V9 compiled May 7 2021 16:26:12 Info : Hardware version: 9.40 Info : VTarget = 3.280 V Info : clock speed 2000 kHz Info : SWD DPIDR 0x2ba01477 Info : [stm32f4x.cpu] Cortex-M4 r0p1 processor detected Info : [stm32f4x.cpu] target has 6 breakpoints, 4 watchpoints Info : starting gdb server for stm32f4x.cpu on 3333 Info : Listening on port 3333 for gdb connections Error: [stm32f4x.cpu] clearing lockup after double fault Polling target stm32f4x.cpu failed, trying to reexamine Info : [stm32f4x.cpu] Cortex-M4 r0p1 processor detected Info : [stm32f4x.cpu] target has 6 breakpoints, 4 watchpoints [stm32f4x.cpu] halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc ** Programming Started ** Info : device id = 0x10076413 Info : flash size = 1024 KiB ** Programming Finished ** ** Verify Started ** ** Verified OK ** ** Resetting Target ** shutdown command invoked jswyll-vscode-rtthread: download finished. (took 10.506s) * 终端将被任务重用,按任意键关闭。 ``` CMSIS-DAP ```sh * 正在执行任务: openocd -f .vscode/openocd.cfg -c 'program rt-thread.elf verify reset exit' Open On-Chip Debugger 0.12.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : CMSIS-DAP: SWD supported Info : CMSIS-DAP: JTAG supported Info : CMSIS-DAP: FW Version = 1.0 Info : CMSIS-DAP: Interface Initialised (SWD) Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 0 Info : CMSIS-DAP: Interface ready Info : clock speed 2000 kHz Info : SWD DPIDR 0x2ba01477 Info : [stm32f4x.cpu] Cortex-M4 r0p1 processor detected Info : [stm32f4x.cpu] target has 6 breakpoints, 4 watchpoints Info : starting gdb server for stm32f4x.cpu on 3333 Info : Listening on port 3333 for gdb connections Error: [stm32f4x.cpu] clearing lockup after double fault Polling target stm32f4x.cpu failed, trying to reexamine Info : [stm32f4x.cpu] Cortex-M4 r0p1 processor detected Info : [stm32f4x.cpu] target has 6 breakpoints, 4 watchpoints [stm32f4x.cpu] halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc ** Programming Started ** Info : device id = 0x10076413 Info : flash size = 1024 KiB ** Programming Finished ** ** Verify Started ** ** Verified OK ** ** Resetting Target ** shutdown command invoked jswyll-vscode-rtthread: download finished. (took 17.568s) * 终端将被任务重用,按任意键关闭。 ``` - pyocd ST-Link ```sh * 正在执行任务: pyocd flash rt-thread.elf --target STM32F407ZG Waiting for a debug probe to be connected... 0069773 I Loading rt-thread.elf [load_cmd] [==================================================] 100% 0100547 I Erased 262144 bytes (6 sectors), programmed 132096 bytes (129 pages), skipped 0 bytes (0 pages) at 4.19 kB/s [loader] jswyll-vscode-rtthread: download finished. (took 105.969s) * 终端将被任务重用,按任意键关闭。 ``` Jlink ```sh * 正在执行任务: pyocd flash rt-thread.elf --target STM32F407ZG 0005267 I Loading rt-thread.elf [load_cmd] [==================================================] 100% 0079013 I Erased 262144 bytes (6 sectors), programmed 132096 bytes (129 pages), skipped 0 bytes (0 pages) at 1.75 kB/s [loader] jswyll-vscode-rtthread: download finished. (took 84.440s) * 终端将被任务重用,按任意键关闭。 ``` CMSIS-DAP ```sh * 正在执行任务: pyocd flash rt-thread.elf --target STM32F407ZG Waiting for a debug probe to be connected... 0011275 I Loading rt-thread.elf [load_cmd] [==================================================] 100% 0030752 I Erased 262144 bytes (6 sectors), programmed 132096 bytes (129 pages), skipped 0 bytes (0 pages) at 6.62 kB/s [loader] jswyll-vscode-rtthread: download finished. (took 36.147s) * 终端将被任务重用,按任意键关闭。 ``` 求解:是哪里不对,为什么pyocd需要那么久? ### QEMU 使用Env Windows,选择主仓库master分支的`bsp/qemu-vexpress-a9`。 构建后在终端运行`.\qemu.bat`、`.\qemu-nographic.bat`:  Env Windows <= v1.3.5,可以`.\qemu-nographic.bat`,但运行`.\qemu.bat`直接退出:  看了安装目录,区别是Env Windows <= v1.3.5的是qemu32、后面版本的是qemu64。 ### 更新详情 > **提示** > > 这里是更新说明。点击[《vscode插件 - RT-Thread项目助手 | 跨平台开发》](https://club.rt-thread.org/ask/article/ce74ef49bc11e858.html)返回原帖。 - 新增 对接Ubuntu与MacOS平台的RT-Thread Env。 先决条件:已安装编译工具链、调试服务器、RT-Thread Env(可参考
)。 导入项目(生成项目配置文件)、菜单配置、终端等的操作方式与在Windows平台的一致。 > **提示** > > vscode终端使用的python版本的优先级是`Microsoft Python扩展激活的虚拟环境的 > 在此扩展选择的env安装目录中的 > 系统中环境变量PATH中最靠前的`。如果使用Env Windows 1.x,应关闭Python扩展自动激活虚拟环境。 > > 如果使用Env 2.x且没有使用虚拟环境,应确认最高优先级的python已安装了Env 2.x所需的pip库。 - 新增 生成RT-Thread Env配置时,如果没有`.vscode/c_cpp_properties.json`文件则自动调用`scons --target=vsc`生成。 - 新增 生成RT-Thread Env配置时,Windows平台Env 2.x如果未初始化虚拟环境时弹出提示。  > **提示** > > 如果是Env Script安装方式,调用`env.ps1`: > >  > > Env Windows联网安装方式则调用`env.exe`: > >  - 新增 打开移动的RT-Thread Studio项目时,根据`rt-thread/src/subdir.mk`文件推测原项目的根路径,项目被移动后猜测原项目文件夹并让用户输入确认。 在RT-Thread Studio构建项目时,自动生成的Makefile中的头文件等路径都是绝对路径,如果项目被复制或移动到其它地方(或其它平台),RT-Thread Studio Makefile方式就不能正常构建了。之前的版本的处理是读取`.settings/projcfg.ini`来将所有路径处理为相对路径,但是如果项目不是使用RT-Thread Studio新建的,例如是使用从BSP导入的,从这个文件能获得的信息是参差不齐的。 现在的逻辑是根据`rt-thread/src/subdir.mk`文件猜测,让用户修改或确认:  - 新增 将Env Windows中的qemu64或qemu32的路径添加到环境变量,以支持运行QEMU脚本。 - 新增 加载菜单配置时显示kconfiglib解析警告。 kconfiglib库解析Kconfig时会显示一些警告,这很可能意味着Kconfig编写不规范,现在打开菜单配置面板时会和手动执行`menuconfig`命令一样显示警告:  - 调整 生成配置面板中,默认的Env根路径(从`c:/env-windows`)改为`${userHome}/.env`。 现在官方已经不建议使用Env Windows,建议使用Env Script,所以默认的配置路径改为了`用户主目录/.env`。 - 调整 默认不启用诊断RT-Thread中断函数。 由STM32CubeMX生成的有些文件会触发警告,但是这些文件可能并不会加入构建,所以默认不启用。 - 调整 不自动结束打开的ConEmu(请自行关闭)。 - 优化 从环境变量中检测可用的调试服务器以供选择。  - 优化 检测MacOS的GCC编译器路径以供选择。 检测`/Applications/ARM/bin/arm-none-eabi-gcc`。 - 优化 降低Env Windows中git.exe的优先级。 Env Windows中git.exe的版本可能比较低,不支持一些新的命令。现在在集成终端中将优先使用环境变量PATH中的`git`命令。 - 优化 配置的Env路径发生变化时,自动删除`.sconsign.dblite`文件。 - 优化 保存问题匹配器到设置文件,允许配置完成后脱离(禁用)此扩展。 此扩展的目标是降低新手的学习门槛、兼容旧版本的RT-Thread Env Windows,非官方实现。 尽管有一定的权限机制,vscode的扩展(尤其是Windows平台的)仍具有比较大的权限。如果你不完全信任此扩展或担心扩展存在BUG导致不可预料的行为,可以在生成项目配置文件后完全脱离此扩展。 禁用此扩展后将不能使用此扩展的状态栏按钮(可通过`vscode菜单栏 - 终端 - 运行任务...`或其它方式运行)、可视化的菜单配置(可以通过选择打开RT-Thread Env终端运行命令)、监测源文件目录结构变化修改Makefile文件。 > **提示** > > 点击[这里](https://club.rt-thread.org/ask/article/ce74ef49bc11e858.html#%E9%9A%90%E7%A7%81%E4%BF%9D%E6%8A%A4%E6%8C%87%E5%BC%95)转至隐私保护指引。 - 修复 多根工作区时,从状态栏按钮打开终端时,工作路径应为选择的工作区文件夹。 - 修复 RT-Thread Stuio Makefile构建方式清除任务不正确的问题。 - 修复 打开菜单配置面板后扩展进程的环境变量有丢失的问题。 - 修复 Ubuntu平台下不能正确显示中文界面的问题。 - 移除 选择调试服务器为Segger Jlink时在Makefile规则生成hex文件。 **(破坏性变更,请选择或安装Segger Jlink至V7.90以上以支持下载`.elf`文件。)**
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
聚散无由
jswyll
文章
4
回答
13
被采纳
6
关注TA
发私信
相关文章
1
RTT-VSCODE插件编译RTT工程与RTT Studio结果不符
2
RT-Thread Studio For Vscode占满上行网络
3
linux下使用RT-Thread Studio插件如何进行stlink下载
4
vscode编译rtt工程报错
5
求助一下,vscode插件提示“未搜索到设备”,无法连接
6
vscode使用rtt插件编译空白芯片工程报错
7
vscode中studio插件编译报错
8
vscode RT Thread micropython 插件找不到串口
9
vscode插件如何更改Target interface
10
vscode下RT-thread插件出现SyntaxError问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
rt-smart
RTC
FAL
I2C_IIC
ESP8266
UART
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
Debug
keil_MDK
SFUD
msh
ulog
C++_cpp
MicroPython
本月问答贡献
lchnu
3
个答案
2
次被采纳
张世争
1
个答案
2
次被采纳
三世执戟
7
个答案
1
次被采纳
crystal266
4
个答案
1
次被采纳
JonasWen
2
个答案
1
次被采纳
本月文章贡献
jinchanchan
8
篇文章
13
次点赞
ssdd45555
3
篇文章
2
次点赞
聚散无由
1
篇文章
2
次点赞
rvcore
1
篇文章
1
次点赞
lvdongchina
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部