# 什么是 RTEMS
- RTEMS (Real-Time Executive for Multiprocessor Systems) 是一个开源实时操作系统,可以用于太空飞行、医疗、网络和各类嵌入式设备,
具有下面的优点:
◆优秀的实时性能
◆支持硬实时和软实时(可抢占内核)
◆支持优先级继承,防止优先级反转
◆支持单调周期调度
◆支持优先级高度协议
◆非常的稳定
◆运行速度快
同时,RTEMS 也支持了大量的特性
◆高度可剪裁内核(目标系统小只有30KB;大可上百兆)1,2,3
◆占用系统资源小,在32位系统中最小的内核只有30Kb左右1,2
◆支持多处理器(不同于SMP,RTEMS中多个处理器是协作关系)
◆提供POSIX API,Linux/UNIX下的程序可以方便移植
◆提供完整的BSD的TCP/IP协议栈以及FTP、WebServer、NFS等服务
◆使用面向对象思想设计,可以大大缩短开发周期
◆核心代码使用C/C++写作,可移植性好
◆支持ISO/ANSI C库
◆支持ISO/ANSI C++库以及STL库
## 什么是飞腾派
- 飞腾派是由中电港萤火工场与飞腾合作推出的飞腾派,采用飞腾自主研发的高能效异构多核处理器技术,具有模块化、易上手、全开源、低成本的特点,大大降低了国产处理器的开发使用门槛,解决了国产处理器难以普及推广的问题。
## 如何使用 RTEMS
- 使用 Phytium-RTEMS-SDK: 本项目发布了 Phytium 系列 CPU 的 RTEMS 源代码,参考例程以及配置构建工具 (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)
- SDK 中提供了丰富的特性功能
| 特性 | 支持平台 | 例程 | | -------------------| ------------------------------------------ | ---------------------- | | Hello World | E2000D <br>E2000Q <br>PHYTIUMPI<br> D2000 <br> FT2000/4| examples/rtems | | POSIX | E2000D <br>E2000Q <br>PHYTIUMPI<br> D2000 <br> FT2000/4| examples/rtems | | C++ (with Standard Library) | E2000D <br>E2000Q <br>PHYTIUMPI<br> D2000 <br> FT2000/4| examples/rtems | | BSD Shell | E2000D <br>E2000Q <br>PHYTIUMPI<br> D2000 <br> FT2000/4| examples/rtems-libbsd | | Network | E2000D <br>E2000Q <br>PHYTIUMPI<br> D2000 <br> FT2000/4| examples/rtems-libbsd | | Telnet Shell | E2000D <br>E2000Q <br>PHYTIUMPI<br> D2000 <br> FT2000/4| examples/rtems-libbsd | | TCP/IP GDB | E2000D <br>E2000Q <br>PHYTIUMPI<br> D2000 <br> FT2000/4| rtems-libbsd/debugger01 | | SD/eMMC Filesystem | E2000D <br>E2000Q <br>PHYTIUMPI | examples/rtems-libbsd | | USB HID/MSC | E2000D <br>E2000Q <br>PHYTIUMPI | examples/rtems-libbsd | | USB HID/MSC (in PCIe) | E2000D <br>E2000Q <br>PHYTIUMPI<br> D2000 <br> FT2000/4| examples/rtems-libbsd | | NVMe FileSystem (in PCIe) | E2000D <br>E2000Q <br>PHYTIUMPI | examples/rtems-libbsd |
## 网络测试
## USB 3.0 (XHCI)
## PCIe NVMe