Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

rcitach/userapps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

178 Commits

Repository files navigation

介绍与快速入门

本文档环境为 ubuntu 20.04

介绍

RT-Thread-Smart

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

Xmake

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

快速入门

此次以 qemu-virt64-aarch64 为例讲解

  1. 安装 xmake

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

    以下为 ubuntu 安装方式

    sudo add-apt-repository ppa:xmake-io/xmake
    sudo apt update
    sudo apt install xmake
  2. 克隆仓库

    将 Smart 的 userapps 仓库克隆下来, 假定我们的工作路径是 $WS:

    cd $WS
    git clone https://github.com/RT-Thread/userapps.git
  3. 编译用户态应用程序

    文件系统由多个应用程序组成,这些应用程序都放在 apps 目录下。由于 smart 采用 xmake 编译用户态环境,因此 smart 的编译方式非常简单。

    首先进入 userapps 并运行 env.sh 添加一下环境变量。

    cd $WS/userapps
    source ./env.sh

    进入 apps 目录进行编译

    cd apps
    xmake f -a aarch64 # 配置为 aarch64平台,如果不执行该条指令进行配置,则默认为 aarch64
    xmake -j$(nproc)

    目前支持的平台:arm、aarch64、riscv64gc。

    image-20230531173059551

  4. 制作文件系统

    运行 xmake smart-rootfs 制作 rootfs,所谓制作文件系统,就是将上一步编译生成的用户程序按照文件系统的布局拷贝到 $WS/userapps/apps/build/rootfs 路径下。

    xmake smart-rootfs
  5. 制作镜像

    运行 xmake smart-image 制作镜像,将上一步制作的 $WS/userapps/apps/build/rootfs 目录下的文件系统打包生成特定格式的 image 文件。

    xmake smart-image -f ext4 #制作 ext4 镜像

    目前支持的镜像格式包括 ext4/fat/cromfs。

    这里的例子会在 $WS/userapps/apps/build 路径下生成 ext4.img 文件。

    image-20230531173829621

prebuilt 的版本

会在每天凌晨生成 aarch64/riscv64 for qemu 的 prebuilt 版本,包括内核和 rootfs 文件系统:

可以使用 qemu 来运行起来。

About

user applications for rt-smart

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • C 38.0%
  • Lua 25.3%
  • Xmake 25.1%
  • C++ 11.3%
  • Shell 0.3%

AltStyle によって変換されたページ (->オリジナル) /