使用 xmake 工具编译 rt-thread 工程

RT-Thread Smart用户态开发:基于xmake的嵌入式高性能应用构建实践 在嵌入式系统开发中,从资源受限的单片机(MCU)迁移到带MMU的高性能处理器(如Cortex-A系列)时,开发模式往往面临分裂。传统上,内核驱动与用户态应用需使用不同的工具链,如Kbuild与复杂的Makefile或CMake,这增加了RTOS工程师的学习成本。其核心原理在于,高性能嵌入式开发需要兼顾实时性与丰富的应用生态,而POSIX API与标准C库的兼容性成为关键。xmake作为一种基于Lua的现代化构建工具,通过简洁的配置实现跨平台编译与依赖管理,其技术价值在于统一构建流程,提升开发效率。在RT-T 阅读详情

c251d47a7f33580ba14866f27f181e42.png

在最新的 rt-thread 主仓库,支持使用 xmake 工具来编译 rt-thread 工程。

xmake

介绍

xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。

203545401a51a66803b1f4603c865cd6.gif

安装

打开 powershell 管理员,输入下面的命令:

1Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content

输入 xmake --version,查看 xmake 是否安装成功:

1PS C:\Users> xmake --version
 2xmake v2.6.5+master.1c4b7d59a, A cross-platform build utility based on Lua
 3Copyright (C) 2015-present Ruki Wang, tboox.org, xmake.io
 4                         _
 5    __  ___ __  __  __ _| | ______
 6    \ \/ / |  \/  |/ _  | |/ / __ \
 7     >  <  | \__/ | /_| |   <  ___/
 8    /_/\_\_|_|  |_|\__ \|_|\_\____|
 9                         by ruki, xmake.io
10
11    👉  Manual: https://xmake.io/#/getting_started
12    🙏  Donate: https://xmake.io/#/sponsor
13

使用方法

下面介绍一下如何使用 xmake 工具来编译 rt-thread 工程。

设置工具链路径

这里以 gcc-arm-none-eabi-10.3 为例:

1set RTT_EXEC_PATH=E:\download\idm\gcc-arm-none-eabi-10.3-2021.10

生成工程文件

以 stm32f407-st-discovery 工程为例,在该 bsp 目录下打开 env 工具,输入命令 scons --target=xmake 生成 xmake.lua 文件:

25a8ddaef566026dda50c0eb3c8f125e.png

编译工程

输入命令 xmake -j 16 编译工程:

a7eb5193160bf3f8d363497b1505b187.png

编译成功显示

a174fa4e951752e6416acdafc08c40e0.png

最后

  • 关于 xmake.lua 的支持只是做了最基本的适配,如果社区开发者有自己的想法,欢迎提交 PR。

  • 2022 开源之夏,xmake 与 rt-thread 提出了一个关于<<基于xmake的面向RT-Thread Smart操作系统的系统构建工具>>的项目,各位有想法的同学,欢迎申请该项目。

开源之夏RT-Thread 项目已经上线,本次有8个课题包含了微内核、嵌入式AI、RTOS、蓝牙方面项目 ,同时与xmake社区联合设置了《基于xmake的面向RT-Thread Smart操作系统的系统构建工具》项目, 欢迎感兴趣的同学进群与项目导师交流,申请项目。

RT-Thread 社区项目列表:

https://summer-ospp.ac.cn/#/org/orgdetail/f338e884-b285-4c7c-b908-f931ba7dba82/ 

c416304018b4678ec64941064581e1ff.png

如无法进群,可以添加 13924608367 为微信好友拉进群


相关资料

  • 介绍 (xmake.io)

  • Summer-2022 (summer-ospp.ac.cn)

  • [入门指南 (rt-thread.org)]

    https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-smart/rt-smart-quickstart/rt-smart-quickstart

(以上链接请复制至外部浏览器打开)

内容仅供各位学习参考,文章仅代表作者个人看法,不代表本平台观点,版权归原作者所有,转载请联系作者,如有版权疑问,请联系本微信后台,我们会第一时间处理。

ebcb0062cc797ca225388c258200a093.png

关注我们

97652955e0460e109541e64d8f50c029.png

可加微信号 13632716562 报名师资培训!

dc582ec4a48cb9d5f51f3d99b8eb8d29.gif

0bc08d4acb8b25305e59e30eebd5ff94.gif

点击阅读原文进入官网

爱我就请给我在看f9a3a5d9f3ddfd24833a250fca76e527.gif

smart-build是一款基于xmake实现的类buildroot的交叉构建系统,用于RT-ThreadSmart开源操作系统 smart-build 是一款基于 xmake 实现的类 buildroot 的交叉构建系统,用于 RT-Thread Smart 开源操作系统。可以编译基础的软件包(调用xmake & xrepo的方式),构建出基本的应用程序,并输出相关文件到根文件系统文件夹下。支持两种以上架构的编译工具链,目前支持: arm、aarch64;支持不同版本的软件包;支持 release/debug 模式编译;支持按静态库模式编译,支持按动态库模式编译;支持在最终输出到根文件系统时 strip 掉多余的符号信息; 立即下载

相关推荐

AD9361 LVDS数据接口时序解析与FPGA实现

本文详细解析了AD9361 LVDS数据接口的时序特性与FPGA实现方法,重点探讨了DATA_CLK、Rx_FRAME等关键信号的时序关系及数据拼接技巧。通过Verilog代码示例和调试经验分享,帮助开发者解决跨时钟域处理、IQ数据重组等常见问题,提升射频收发系统的稳定性与性能。

weixin_29186249的博客 128

编译工具:XMake 和 CMake对比分析

关注+星标公众号,不错过精彩内容来源| TBOOX开源工程首先,不得不承认,cmake很强大,发展了这么多年,整个生态已经相当完善,功能也相当丰富,这点xmake目前是比不了的。当初作者(我,以下简称我)做xmake的目的,也并不是为了完全替代cmake,这没啥意义,只是觉得cmake的语法和易用性满足不了我,我还是更喜欢更简单直观的方式去描述和维护项目,在不同平台下提...

strongerHuang 6264

Zemax操作41--公差分析(一)

zemax公差

lzy750750的博客 5972

Xmake从入门到精通12:通过自定义脚本实现更灵活地配置

|作者:waruqi(本文来自 xmake 开发者的投稿)xmake 是一个基于 Lua 的轻量级现代化 c/c++ 的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,...

实验楼 1605

ENVI新手避坑指南:手把手教你搞定遥感影像的坐标系转换(附ArcGIS对比)

本文详细解析ENVI与ArcGIS在遥感影像坐标系转换中的关键差异与实战技巧,特别针对新手常见问题提供避坑指南。从基础概念到高级操作,涵盖定义投影、UTM转换等核心步骤,并对比两种软件的处理精度与效率,帮助用户高效完成遥感影像处理任务。

weixin_42531925的博客 377

直流耦合系统介绍

参考《SMA如何使用直流耦合技术实现更高效的光伏电站-白皮书》

圆桌骑士的博客 731

Xmake基础---多目标程序配置

Xmake基础---多目标程序配置

hx1113的博客 693

模型参考自适应控制(MRAC):让PID参数动态优化

本文深入解析模型参考自适应控制(MRAC)技术,它通过实时调整PID参数,使控制系统能自动适应系统特性变化和外部干扰。文章详细介绍了MRAC的工作原理、数学基础,并提供了用C语言实现的实战代码示例,帮助工程师解决传统PID控制在非线性、时变系统中参数整定繁琐的难题。

tequila的博客 902

采用arm-none-eabi-gcc交叉编译工具链 以及使用xmake构建 STM32 RT-Thread nano工程 笔记

xmake.lua 如果是其他工程拷贝过来的,可以删除.xmake文件夹和build文件夹,或者执行`xmake f -c`强制清除配置缓存,主要是.xmake缓存了上一个工程的配置信息等,会编译失

欲盖弥彰1314 2563

ROS从入门到精通0-4:VSCode 搭建 ROS 工程环境

为了提高开发效率,可以先安装集成开发工具和使用方便的工具,本教程用VSCode搭建ROS工程环境

FRIGIDWINTER的博客 1万+

Git救援:如何从误操作中恢复未提交的更改

摘要:本文探讨了误操作git reset --hard导致未提交更改丢失后的恢复方法。首先分析git reflog的局限性,随后介绍利用IDE本地历史记录(如IntelliJ IDEA和VS Code)进行文件恢复的具体步骤。最后建议使用文件系统恢复工具(如Linux的extundelete或Windows的Recuva)作为备选方案。文章强调定期提交的重要性,同时提供了意外发生时可行的恢复策略,帮助开发者尽可能挽回丢失的工作内容。(149字)

2501_90323865的博客 129

RT_Thread

RT_thread入门使用

weixin_39688493的博客 1555

第 9 篇:TMC2240 速度调节实战|STEP 信号生成 + 平滑调速算法(无抖动)

摘要:本文详细介绍了TMC2240电机调速方案,重点解决调速时电机抖动、丢步等问题。核心原理是通过STEP信号频率控制转速,结合平滑加减速算法避免电流冲击。文章从速度与STEP频率的数学关系入手,提供了定时器生成固定频率STEP信号的实现代码,并给出不同转速下的频率参数表。针对42步进电机+256微步细分场景,详细讲解了定时器初始化、中断处理及固定转速设置方法,帮助开发者实现稳定调速。全文包含可直接复用的代码片段,适合嵌入式开发者快速实现电机平滑调速功能。

BackCatK Chen的博客 1033

使用xmake构建RT-Thread Smart用户态应用:从环境配置到工程实践

在嵌入式系统开发中,构建工具的选择直接影响开发效率和项目维护性。构建系统作为软件开发的基石,负责管理编译、链接和依赖关系,其设计理念从传统的Makefile发展到现代的声明式配置。xmake作为一种基于Lua的现代化构建工具,通过简洁的脚本语言描述构建过程,提供了跨平台支持和灵活的扩展能力,显著降低了嵌入式开发的配置复杂度。在RT-Thread Smart微内核操作系统的用户态应用开发场景中,开发者常面临交叉编译环境配置繁琐、链接脚本适配困难等挑战。通过xmake的交叉编译工具链配置、依赖管理以及自动化构建

weixin_30394669的博客 495

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【RT-Thread】将BSP工程从RT-Thread源码中独立出来开发(4)

在VSCode下生成RT-Thread工程的配置文件,解决独立bsp工程在静态分析时代码未定义的问题。

ggeerraalldd 971

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

探索新升级!在 ART-Pi Smart 体验 RT-Thread Smart v5.1.0

1.引言RT-Thread Smart v5.1.0 已经正式发布。这一版本在内核和功能上做了大量的改进与增强。我们可以在ART-Pi Smart开发板尽情探索这一新版更完善更强大的RT-Thread Smart操作系统。ART-Pi Smart开发板搭载了米尔科技的i.MX6ULL核心板,硬件设计和制作由韦东山团队完成,整体的BSP板级支持包由社区完成。这是首个运行 RT-Thread Smar...

rtthreadiotos的博客 1631

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

RT-Thread Smart 用户态开发体验

自 V5.0.0 起,rt-smart 分支已合并至 master 分支上,下载 rt-thread 源码后,无需再切换至 rt-smart 分支,但需要为 BSP 配置 Smart 内核。RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间。RT-Thread Smart 在硬件平台的基础上通过 MMU、系统调用的方式把整个系统分成了内核态及用户态。进入 userapps, 配置环境变量。

ErikChan的博客 1225

从零构建嵌入式智能系统:ART-Pi Smart与RT-Thread Smart v5.1.0的开发实战之旅

本文详细介绍了如何从零开始构建嵌入式智能系统,使用ART-Pi Smart开发板和RT-Thread Smart v5.1.0操作系统。内容涵盖开发环境搭建、内核编译、应用开发、镜像烧录及外设调试,帮助开发者高效掌握ARM Cortex-A7平台上的实时系统开发,适用于物联网和智能设备项目。

xxx12的博客 668

RT-Thread Smart正式上线:源代码已开放下载

关注+星标公众号,不错过精彩内容转自|RT-Thread官方消息,RT-Thread Smart已正式上线,目前源代码可在Github、Gitee下载,采用Apache Licens...

strongerHuang 1264

QtScrcpy 快速上手手册:7 步完成 Android 投屏键鼠控制,参数与排障一次讲清

想在电脑上直接操控手机?QtScrcpy 把 Android 画面实时投到桌面,键盘鼠标反向操作手机,手机端不装任何应用。帧率 30~60fps、延迟 35~70ms、首帧约 1 秒出画面。 ## 🧭 动手前核对:这 5 点先过一遍 - 电脑能跑 `adb devices`,手机与数据线可用,缺什么先补什么; - 手机能进开发者选项并打开 USB 调试;部分小米机型必须同时打开"USB 调试

gitblog_00738的博客 587

dex2jar 上手指南:Dex 转 Java 的最短路径

dex2jar 是一套处理 Android .dex 与 Java .class 文件的开源工具集。它的核心动作是把 .dex(Android 上实际运行的字节码文件)转换回 .class 并打包成 .jar,方便你直接阅读和调试。下面按场景、安装、分工、排错、进阶的顺序带你跑通一遍。 ## 为什么需要 dex2jar:拿到 APK 看不到源码 你从手机上拉出来一个 APK,解压后只能看到 r

gitblog_01006的博客 239

mootdx 处理通达信财务数据:1 段代码批量下载财报并计算财务因子

mootdx 是通达信数据的 Python 封装,其中 `Affair` 模块专注 gpcw 财报包:批量下载财报、解析为中文表头 DataFrame、按 MD5 跳过重复文件。适合用 Python 处理通达信数据、做财务因子计算的量化开发者。 ## 痛点场景:批量下载财报时的三个卡点 - **拉文件全靠手工**:财报按季度以 `gpcwYYYYMMDD.zip` 发布,回测要几十个报告期,逐

gitblog_00175的博客 217

【XR806开发板试用】RT-Thread移植系列① - 必要文件及静态库准备

【XR806开发板试用】RT-Thread移植系列① - 必要文件及静态库准备

weixin_47569031的博客 527

RT-Thread 在 Milk-V Duo 系列上的 CVITEK BSP 构建与运行指南:大小核、RT-Smart 与根文件系统挂载实战

本篇技术指南以 RT-Thread 开源仓库中的 [bsp/cvitek/README.md](https://link.gitcode.com/i/5a3406611d35ffe02d10ac0a6eceff18) 为主体,系统讲解在 Milk-V Duo / Duo 256M / Duo S 开发板上使用 CV18xx 系列 SoC 运行 RT-Thread 的完整路径:从三种 BSP 的选型

gitblog_00025的博客 425

戴森球计划工厂布局怎么选:FactoryBluePrints 蓝图库使用指南

FactoryBluePrints 是一个《戴森球计划》的社区蓝图仓库,数千张玩家验证过的工厂布局按用途分好文件夹,从开荒小作坊到全球产线都有现成图纸。它能解决的具体问题是:不用自己画传送带、调布局,挑一张合适的戴森球计划蓝图导入游戏就能开工,仓库还自带 Git 更新脚本,第一次用也能跟上版本。 ## 戴森球计划新手工厂布局:按场景选布局 🗺️ 选蓝图前先看自己卡在哪,对号入座比从头翻目录快

gitblog_00540的博客 442
上一篇: 移植 LVGL STM32F407VGT6 8bit FSMC TFT-LCD
下一篇: NUC980开发板DIY项目大挑战:室内环境采集监测系统
RT-Thread物联网操作系统
博客等级 码龄6年 2万+粉丝 392原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值