跳到主要内容

RT-Thread 搭建 Linux 开发环境

RT-Thread 搭建 Linux 开发环境

概述

本文主要介绍如何在 Linux 操作系统(以 Ubuntu 为例)中搭建 RT-Thread 的开发环境。同时,嵌入式软件开发离不开硬件开发板,因此我们还会介绍如何使用 QEMU 来模拟开发板,在 QEMU 中启动 RT-Thread 操作系统。

QEMU 是一个支持跨平台虚拟化的虚拟机,它可以虚拟很多开发板。为了方便大家在没有开发板的情况下体验 RT-Thread,RT-Thread 使用 QEMU 模拟了 ARM vexpress A9 开发板,并提供了相关的板级支持包(BSP)。本文将介绍在 Linux 平台使用 RT-Thread 提供的 qemu-vexpress-a9 BSP。

安装依赖

安装 GCC 编译器

sudo apt install gcc-arm-none-eabi
sudo apt install gdb-arm-none-eabi
sudo apt install binutils-arm-none-eabi

安装 QEMU 虚拟机

sudo apt install qemu
sudo apt install qemu-system-arm

安装 Scons 构建工具

sudo apt install scons

安装 ncurses 库

sudo apt install libncurses5-dev

获取源码

我们有多种获取 RT-Thread 源代码的方式,可以参考官方下载页面选择适合你的方式。

由于 RT-Thread 是完全开源,因此这里推荐使用 Git 方式获取 RT-Thread 源代码。

git clone https://github.com/RT-Thread/rt-thread.git

构建工程

获取 RT-Thread 源码后,进入对应的 bsp 目录。

cd rt-thread/bsp/qemu-vexpress-a9/

执行 scons --dist 命令搭建项目框架,执行完后会生成 dist 目录,接下来我们会下该目录下进行操作,这样就不会破坏原有的 RT-Thread 仓库。当然,你也可以把 dist 工程目录拷贝到任意磁盘位置。

进入工程目录:

cd dist/qemu-vexpress-a9/

构建工程:

scons

看到如下提示则说明构建成功。

LINK rtthread.elf
arm-none-eabi-objcopy -O binary rtthread.elf rtthread.bin
arm-none-eabi-size rtthread.elf
text data bss dec hex filename
581110 2092 85532 668734 a343e rtthread.elf
scons: done building targets.

如果想要配置 RT-Thread 工程,可以执行下面命令:

scons --menuconfig

注意:如果是第一次执行该命令,会自动安装 Env 工具(安装目录为 ~/.env),运行 source ~/.env/env.sh 可使 Env 工具生效。为了方便在 Shell 终端使用 Env 工具,我们可以将其添加到 ~/.bashrc 文件末尾。

启动系统

编译完成后,执行 qemu.sh 脚本启动虚拟机。

./qemu.sh

如下:

Linux QEMU 启动 RT-Thread

其他工具