- RTEMS 是一个开放源代码的实时操作系统,适用于嵌入式系统。而 FreeBSD 是一个功能强大且稳定的操作系统,广泛应用于各种网络和服务器环境,RTEMS-libbsd 是一个使 RTEMS 能够利用 FreeBSD 网络栈、文件系统和驱动程序的库。通过 RTEMS-libbsd,我们可以体验 FreeBSD-Style 的 RTOS
- 目前飞腾派已经提供了 RTEMS-libbsd 的支持,可以运行网络、PCIe、NVMe、XHCI(USB 3.0)、SDMMC 等一系列来自 FreeBSD 12.2 的驱动
Phytium-RTEMS-SDK: 本项目发布了 Phytium 系列 CPU 的 RTEMS 源代码,参考例程以及配置构建工具 (gitee.com)
# 系统环境准备
- 飞腾派(Phytium 开发板)
- 电源适配器
- 串口线和串口上位机
- MicroSD 卡
- XHCI PCIe 卡
- USB 3.x Hub, USB 2.x Hub
- 键盘、鼠标、U 盘
- NVMe 硬盘
- 网线
- 具体可以参考 examples/rtems-libbsd/README.md · Phytium嵌入式软件/Phytium-RTEMS-SDK - 码云 - 开源中国 (gitee.com)
# 软件环境
- RTEMS 最新版本 rtems: RTEMS is a real-time executive in use by embedded systems applications around the world and beyond (gitee.com)
- RTEMS LibBSD 最新版本rtems-libbsd: FreeBSD on RTEMS - Networking, USB, Filesystems, Media (gitee.com)
- RTEMS SDK Phytium-RTEMS-SDK: 本项目发布了 Phytium 系列 CPU 的 RTEMS 源代码,参考例程以及配置构建工具 (gitee.com)
- 通过 RTEMS SDK ,可以轻松地搭建 RTEMS 开发环境,制作 RTEMS 交叉编译工具,编译 RTEMS 镜像
# 具体方法
# 配置 RTEMS 开发环境 (Ubuntu/Debian x64)
- 本文介绍 Ubuntu 21.04 (x64)、WSL 1/2 Ubuntu/Debain 环境下,通过交叉编译构建 RTEMS 镜像的方法
## 1. 安装环境依赖
- 安装 GCC 编译链,注意 python3.6-dev 根据主机的上的 Python 版本定,如果是 python 3.11 就用 python3.11-dev
```
python --version
sudo apt-get update
sudo apt-get build-dep binutils gcc g++ gdb unzip git python3.8-dev
```
- apt-get build-dep 需要将 /etc/apt/sources.list 的 deb-src 打开
- 有些系统 python --version 没有效果,需要额外创建 python 软链接
```
sudo ln -s /usr/bin/python3 /usr/bin/python
```
## 2. 获取 SDK 源码
- 下载 Phytium RTEMS SDK 源码
```
git clone https://gitee.com/phytium_embedded/phytium-rtems-sdk.git ./phytium-rtems-sdk
```
- 源码构建 AARCH64 用的交叉编译工具,构建前会下载 gcc,gdb 等一系列源码包到 ./rtems/rtems-source-builder/rtems 目录下,可能会由于网络问题下载较慢,可以下载源码包 [toolchain_sources.tar.xz, 提取码:RTTL](https://pan.baid