基于xmake的RT-Thread Smart用户态开发教程

大怪科学 20230913

  • 智能硬件
  • 嵌入式开发
  • 操作系统

RT-Thread-Smart
RT-Thread Smart(以下简称 Smart) 是基于 RT-Thread 操作系统上的混合操作系统,简称为 rt-smart,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间(32 位系统上是 4G 的独立地址空间)。

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

快速入门
此次以 qemu-virt64-aarch64 为例讲解

克隆仓库

将 Smart 的 userapps 仓库克隆下来:
安装 xmake

请根据xmake 官方文档进行安装

以下为 ubuntu 安装方式

sudo add-apt-repository ppa:xmake-io/xmake
sudo apt update
sudo apt install xmake

安装 qemu

userapps 已提供 qemu 7.1.0 的安装包,位于目录 tools/qemu/qemu_7.1.0-2022111713_amd64.deb

sudo apt-get install -y libglib2.0-dev libpixman-1-dev
sudo dpkg -i ./qemu_7.1.0-2022111713_amd64.deb

如若想安装最新版本,请自行下载 qemu 源码进行编译安装

编译

由于 smart 采用 xmake 编译用户态环境,因此 smart 的编译方式非常简单。

首先运行 env.sh 添加一下环境变量

source env.sh
进入 apps 目录进行编译

cd apps
xmake f -a aarch64 # 配置为 aarch64平台
xmake -j8

镜像制作

运行 xmake smart-rootfs 制作 rootfs ,运行 xmake smart-image 制作镜像

xmake smart-rootfs
xmake smart-image -o ../prebuilt/qemu-virt64-aarch64-ext4/ext4.img # 将镜像输出至 qemu-virt64-aarch64-ext4 目录

运行 qemu

进入 userapp/prebuilt/qemu-virt64-aarch64-ext4,运行 qemu.sh 脚本启动 qemu

cd prebuilt/qemu-virt64-aarch64-ext4/
./qemu.sh

在 qemu 中 输入 ctrl+a 抬起后,再输入 x 即可退出 qemu。

查看全文

点赞

大怪科学

作者最近更新

  • Aigtek功率放大器在传感器测试领域研究中的应用
    大怪科学
    1天前
  • 泰科电子座椅位置传感器如何实现可靠保护
    大怪科学
    1天前
  • 中微爱芯推出高精度零漂移运算放大器AiP856X系列
    大怪科学
    3天前

期刊订阅

相关推荐

  • 用加速度传感器预测用户情绪变化被证明是可行的

    2018-12-21

  • 谷歌手部运动传感器获批 可进行虚拟触控

    2019-01-04

  • 世界睡眠日,人工智能该如何改善我们的睡眠?

    2019-03-25

  • 新国标正式实施,电动车安全性能面临新挑战

    2019-04-30

评论0条评论

×
私信给大怪科学

点击打开传感搜小程序 - 速览海量产品,精准对接供需

  • 收藏

  • 评论

  • 点赞

  • 分享

收藏文章×

已选择0个收藏夹

新建收藏夹
完成
创建收藏夹 ×
取消 保存

1.点击右上角

2.分享到“朋友圈”或“发送给好友”

×

微信扫一扫,分享到朋友圈

推荐使用浏览器内置分享功能

×

关注微信订阅号

关注微信订阅号,了解更多传感器动态

  • #{faceHtml}

    #{user_name}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 查看评论 回复

    共#{comment_count}条评论

    加载更多

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} #{reback} 回复

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 回复

  • 关闭
      广告