0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows上使用ENV工具开发基于先楫MCU的RT-Thread应用

先楫半导体HPMicro ? 2025-08-29 12:22 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

Env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核组件软件包进行自由裁剪,使系统以搭积木的方式进行构建。

先楫 RT-Thread BSP v1.10.0不仅支持基于RT-Thread Studio的应用开发,也支持通过RT-Thread ENV来生成不同工具链和IDE进行应用开发。

本文介绍如何在Windows上基于RT-Thread ENV使用如下工具链来开发RT-Thread应用。包括:

使用RT-Thread ENV生成gcc工具链编译工程

使用RT-Thread ENV生成zcc工具链编译工程

使用RT-Thread ENV生成Segger Embedded Studio工程


1.环境搭建

1.1 相关软件安装

在segger官方下载并安装Segger Embedded Studio IDE。链接:https://www.segger.com/downloads/embedded-studio/,选择Embedded Studio for Arm and RISC-V最新版本即可。建议安装到无中文和空格的目录下。

--按如下链接申请License(非商用可跳过这一步)https://license.segger.com/hpmicro.cgi

按照https://www.rt-thread.org/document/site/#/development-tools/env/env搭建安装RT-Thread ENV,推荐阅读Env 的使用方法中的在文件夹中通过右键菜单打开 Env 控制台的部分。

--注意:先楫 RT-Thread BSP v1.10是基于RT-Thread v5.0.2开发的,必须使用RT-Thread Env v1.5.2来开发。下载RT-Thread官方env_release网盘时需要选择env-windows-v1.5.2.7z


1.2 相关编译工具链安装

下载RISC-V gcc工具链

下载链接:

https://github.com/helloeagleyang/riscv32-gnu-toolchain-win/archive/2022.04.12.zip
https://gitee.com/hpmicro/riscv-gnu-toolchain/releases/download/2022.04.12/riscv32-gnu-toolchain-win-2022.04.12.7z

解压到无中文和空格的目录下,记住解压后的路径的bin目录。

若不想使用gcc工具链只需要用Segger Embedded Studio可忽视此步骤

下载zcc工具链

从兆松科技的官网下载zcc工具链为4.0.0或者4.1.1及更高的版本

下载链接:https://www.terapines.com/download/zcc

解压到无中文和空格的目录下,记住解压后的路径的bin目录。

若不想使用zcc工具链只需要用Segger Embedded Studio可忽视此步骤

segger工具链

从上述软件安装好Segger Embedded Studio IDE之后,记住Segger Embedded Studio的安装路径下的bin目录。

ENV设置环境变量

右键打开Env控制台,点击右上角的system menu,选择settings

bd772f4a-848f-11f0-9080-92fbcf53809c.png

点击Environment,在编辑框分别按需输入RTT_RISCV_TOOLCHAINZCC_TOOLCHAIN_PATH还有SEGGER_TOOLCHAIN_PATH变量,变量值为上述的工具链路径。设置完毕点击Save settings保存。

bd814a0c-848f-11f0-9080-92fbcf53809c.png

RTT_RISCV_TOOLCHAIN对应上述的riscv32-gnu-toolchain-win-2022.04.12/bin目录

ZCC_TOOLCHAIN_PATH对应上述的zcc-4.0.0/bin目录

SEGGER_TOOLCHAIN_PATH对应上述的Segger Embedded Studio/bin目录

重启ENV,使环境变量生效。

注意:set =中的 = 前后不允许出现空格


2.基于RT-Thread ENV编译开发应用

2.1 下载安装先楫BSP包

根据自己的开发板下载对应的BSP包

开发板

仓库链接

hpm6750evkmini

https://github.com/hpmicro/rtt-bsp-hpm6750evkmini/archive/v1.10.0.zip

hpm6750evk2

https://github.com/hpmicro/rtt-bsp-hpm6750evk2/archive/v1.10.0.zip

hpm6300evk

https://github.com/hpmicro/rtt-bsp-hpm6300evk/archive/v1.10.0.zip

hpm6200evk

https://github.com/hpmicro/rtt-bsp-hpm6200evk/archive/v1.10.0.zip

hpm5300evk

https://github.com/hpmicro/rtt-bsp-hpm5300evk/archive/v1.10.0.zip

hpm5301evklite

https://github.com/hpmicro/rtt-bsp-hpm5301evklite/archive/v1.10.0.zip

hpm6800evk

https://github.com/hpmicro/rtt-bsp-hpm6800evk/archive/v1.10.0.zip

hpm6e00evk

https://github.com/hpmicro/rtt-bsp-hpm6e00evk/archive/v1.10.0.zip

hpm6p00evk

https://github.com/hpmicro/rtt-bsp-hpm6p00evk/archive/v1.10.0.zip

hpm5e00evk

https://github.com/hpmicro/rtt-bsp-hpm5e00evk/archive/v1.10.0.zip


2.2 导出BSP包的例程

需要安装python,推荐版本为Python 3.10以上

解压下载的BSP包,可以使用BSP包里的bsp_utils.py脚本导出例程

在BSP包的目录下,使用PowerShell或者git bash运行bsp_utils.py,当前该脚本支持的命令如下:

-v/--version Show version获取脚本版本

-l/--list Show supported examples in this BSP查看当前BSP支持的所有例程

-e/--export_proj Export project from this BSP to specified destination directory导出生成工程到指定目录

blink_led例程为例,假定需要导出的路径为D:\rtt_proj,可通过如下命令导出该例程。

python .\bsp_utils.py -e --project_name=blink_led --output=D:\rtt_proj

当导出成功后,会提示以下,并且在D:\rtt_proj目录下生成一个blink_led目录,该目录下就是导出的工程。

Successfully exported project 'blink_led' to 'D:\rtt_proj\blink_led'

注意:确保导出的路径存在。


2.3 配置工程

根据上述教程新建的工程,以blink_led为例

在工程的主目录下右键打开,选择ComEmu here,会弹出env窗口

bda07274-848f-11f0-9080-92fbcf53809c.png

env敲击menuconfig打开板级的kconfig相关配置,完成以下操作:

RT-Thread KernelRT-Thread内核配置

RT-Thread ComponentsRT-Thread组件配置

RT-Thread online packageRT-Thread软件包配置

Hardware Drivers Config板级硬件配置

操作示例如下:

bdba5112-848f-11f0-9080-92fbcf53809c.png

该操作和基于RT-Thread Studio中的图形化操作很类似。

关于RT-Thread构建与配置系统,包含Kconfig和scons。请参考如下链接:

https://www.rt-thread.org/document/site/#/development-tools/build-config-system/summary


2.4 按需更改工具链参数

1、配置RV_ARCHRV_ABI架构指令集

用户可在工程目录下的env命令行执行如下操作完成ABI的配置,若无该操作,默认值为RV_ABI=ilp32

set RV_ABI=

用户可在工程目录下的env命令行执行如下操作完成ARCH的配置,若无该操作,默认值为RV_ARCH=rv32imac

set RV_ARCH=

支持的RV_ARCH和RV_ABI的组合有:

rv32imac + ilp32

rv32imafc + ilp32f

rv32gc + ilp32d

注意:

此变量只对gcc和zcc生效


2、配置 RTT_BUILD_TYPE编译选项

用户可在工程目录下的env命令行执行如下操作,若无该操作,默认值为flash_debug。

set RTT_BUILD_TYPE=

通常支持的RTT_BUILD_TYPE选项为:

flash_debug

flash_release

ram_debug

ram_release

flash_hybrid_debug

flash_hybrid_release

详细支持的选项可从rtconfig.py中查询。

注意:

当使用segger工具链时,RTT_BUILD_TYPE选项可不设置,相关编译选项可在Segger Embedded Studio IDE进行切换


3、切换工具链

用户可以工程目录下使用如下操作完成工具链的切换,或无该操作,默认工具链为gcc

set RTT_TOOLCHAIN_PLATFORM=

其中,platform支持的选项为:

gcc

zcc

segger


2.5 生成、编译、调试工程

1、生成cmake工程

当使用gcczcc工具链时,可通过如下命令生成cmake工程

scons --target=cmake

之后,可使用自己熟悉的支持cmake的IDE(如vscode, CLion) 来打开cmake工程完成后续的开发和调试。
注意:在该模式下,如果需要重新更改RT-Thread相关的配置,可能需要反复执行如下操作:

menuconfig

scons --target=cmake


2、生成Segger Embedded Studio工程

当使用segger工具链时,可通过如下命令生成Segger Embedded Studio工程。

set RTT_TOOLCHAIN_PLATFORM=segger

scons --target=ses

注意:在该模式下,如果需要重新更改RT-Thread相关的配置,可能需要反复执行如下操作:

menuconfig

scons --target=ses

在生成工程后,可以在工程目录下打开project.emProject文件,即可使用Segger Embedded Studio进行开发和调试。可在左上角不同的配置窗口选择不同的编译选项窗口

bdcb95c6-848f-11f0-9080-92fbcf53809c.png

注:默认生成的proj.emProject中的RISC-V ISA和RISC-V ABI的组合为rv32imac及ilp32,如下图所示。用户可根据需要自己调整为相应的配置。

bdf093b2-848f-11f0-9080-92fbcf53809c.png

之后,可通过Segger Embedded Studio实现开发和调试。调试的体验和使用hpm_sdk一致。


3、基于env环境编译工程

Env 中携带了 Python & scons 环境,用户可在工程目录下的env命令行执行如下操作完成工程的编译。

使用scons 直接编译, 其中:N代表线程数。

scons -jN

编译完成后,会在工程目录下生成一个rtthread.elf文件,该文件就是可执行文件。

调试上,可以使用openocd + riscv32-unknown-elf-gdb 实现基于命令行的调试或者使用vscode的相关调试插件。也可使用jlink调试器配合Ozone来调试。


2.6 典型示例

使用rv32imac+ilp32+gcc基于scons完成代码的编译,编译选项为flash_release

按如下示例脚本所示:

set RTT_BUILD_TYPE=flash_release

set RTT_TOOLCHAIN_PLATFORM=gcc

set RV_ARCH=rv32imac set RV_ABI=ilp32

scons -j16


使用rv32gc+ilp32d+gcc基于scons完成cmake工程的生成

按如下示例脚本所示:

set RTT_TOOLCHAIN_PLATFORM=gcc

set RV_ARCH=rv32gc

set RV_ABI=ilp32d

scons --target=cmake


使用rv32imac+ilp32+zcc基于scons完成代码的编译,编译选项为ram_debug

按如下示例脚本所示:

set RTT_BUILD_TYPE=ram_debug

set RTT_TOOLCHAIN_PLATFORM=zcc

set RV_ARCH=rv32imac

set RV_ABI=ilp32

scons -j16


使用rv32gc+ilp32d+zcc基于scons完成cmake工程的生成

按如下示例脚本所示:

set RTT_TOOLCHAIN_PLATFORM=zcc

set RV_ARCH=rv32gc

set RV_ABI=ilp32d

scons --target=cmake


使用segger基于scons完成segger embedded studio工程的生成

按如下示例脚本所示:

set RTT_TOOLCHAIN_PLATFORM=segger

scons --target=ses


3.小结

本文提供了在Windows上使用ENV工具开发基于先楫MCU的RT-Thread应用的简要流程,实际体验下来,整个过程和体验还是简单和直观的。大家如果在使用过程中有任何疑问和建议,欢迎在公众号下留言,或者在相应的github仓库提issue。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18142

    浏览量

    372554
  • WINDOWS
    +关注

    关注

    4

    文章

    3620

    浏览量

    91905
  • RT-Thread
    +关注

    关注

    32

    文章

    1453

    浏览量

    42448
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RT-Thread BSP v1.2.0的主要功能

    各位关注的小伙伴们, 在hpm_sdk v1.2.0发布一个多月后,基于该版本SDK的 RT-Thread 板级支持包 v1.2.0
    发表于 08-14 11:13 ?701次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>RT-Thread</b> BSP v1.2.0的主要功能

    RT-Thread驱动开发指南进阶篇-动手驱动未适配的外设LCD

    经过上一篇的《《RT-Thread设备驱动开发指南》基础篇--以bsp的hwtimer设备为例》阐述,可以大致了解到RT-thread
    的头像 发表于 02-25 11:04 ?4285次阅读
    <b class='flag-5'>RT-Thread</b>驱动<b class='flag-5'>开发</b>指南进阶篇-动手驱动<b class='flag-5'>先</b><b class='flag-5'>楫</b>未适配的外设LCD

    开发者分享 | 基于RT-Thread BSP,使用CLion开发应用

    本期开发者:朱彦祖RT-Thread资深工程师,HPM6700/6400元老级开发者及骨灰级用户,辑生态社区常驻优秀开发者,江湖人称杭州吴
    的头像 发表于 06-07 08:17 ?3960次阅读
    <b class='flag-5'>开发</b>者分享 | 基于<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>RT-Thread</b> BSP,使用CLion<b class='flag-5'>开发</b>应用

    基于RT-Thread操作系统的Env开发辅助工具使用手册

    Env 用户手册EnvRT-Thread 推出的开发辅助工具,针对基于 RT-Thread
    发表于 03-28 10:07

    基于RT-Thread操作系统env开发工具的使用方法

    1、介绍envRT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配
    发表于 07-13 10:49

    如何使用RT-Thread操作系统中的ENV工具

    简介ENV 工具是由 RT-Thread 官方推出的开发辅助工具,针对基于 RT-Thread
    发表于 07-26 11:42

    基于RT-Thread操作系统的Env开发环境搭建

    Env是什么EnvRT-Thread 推出的开发辅助工具,针对基于 RT-Thread
    发表于 09-30 10:38

    RT-Thread env工具安装

    envRT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件
    的头像 发表于 01-11 09:00 ?2353次阅读
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>env</b><b class='flag-5'>工具</b>安装

    在Linux中使用RT-Thread Env工具的简明指南

    EnvRT-Thread 对源码进行配置和裁剪、生成工程的工具,然而文档中的配置过程主要针对 Windows 系统,并没有对 Linux 系统的配置进行详细的介绍,这里简要介绍其
    的头像 发表于 09-26 14:26 ?1946次阅读
    在Linux中使用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Env</b><b class='flag-5'>工具</b>的简明指南

    上海线下培训:RT-Thread× HPM5300 for RT-Thread ,高性能 RISC-V 平台开发快速上手

    RT-Thread的代表性产品和服务。 同时,我们也邀请到的资深工程师杨帆,他将为开发者们带来期待已久的热门技术主题培训,RT-Thread
    的头像 发表于 11-03 19:10 ?1187次阅读
    上海线下培训:<b class='flag-5'>RT-Thread</b>×<b class='flag-5'>先</b><b class='flag-5'>楫</b>  HPM5300 for <b class='flag-5'>RT-Thread</b> ,高性能 RISC-V 平台<b class='flag-5'>开发</b>快速上手

    线下活动|HPM5300 for RT-Thread ,高性能 RISC-V 平台开发快速上手

    公司最新技术和创新解决方案的机会。参与者将深入了解半导体和RT-Thread的代表性产品和服务。同时,我们也邀请到的资深工程师杨帆老
    的头像 发表于 11-08 08:18 ?954次阅读
    线下活动|<b class='flag-5'>先</b><b class='flag-5'>楫</b>HPM5300 for <b class='flag-5'>RT-Thread</b> ,高性能 RISC-V 平台<b class='flag-5'>开发</b>快速上手

    半导体亮相2023 RDC RT-Thread开发者大会

    2023年12月23日,上海临港中心 - 国产高性能微控制器厂商上海半导体科技有限公司(半导体,HPMicro)携其高性能MCU产品
    的头像 发表于 12-25 17:18 ?1089次阅读

    RT-Thread BSP v1.4.0 正式发布

    亲爱的小伙伴们:我们很高兴地通知您,RT-ThreadBSPv1.4.0正式发布了!!1个小转变:从这个版本开始,我们将更侧重于利用RT-Thread丰富的组件以及特色的在线包,基
    的头像 发表于 02-19 12:20 ?1106次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b> <b class='flag-5'>RT-Thread</b> BSP v1.4.0 正式发布

    半导体所有开发板已RT-Thread主线啦

    目前,半导体在RT-Thread主线支持的开发板包含以下这些
    的头像 发表于 06-05 08:17 ?1127次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体所有<b class='flag-5'>开发</b>板已<b class='flag-5'>上</b><b class='flag-5'>RT-Thread</b>主线啦

    在Ubuntu开发基于MCURT-Thread应用指南

    1、前言RT-ThreadEnv是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目工程,提供编译构建环境、图形
    的头像 发表于 08-29 12:22 ?185次阅读
    在Ubuntu<b class='flag-5'>上</b><b class='flag-5'>开发</b>基于<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>MCU</b>的<b class='flag-5'>RT-Thread</b>应用指南