项目简介
本项目是针对Raspberry Pi 3的64位模式(ARMv8 AArch64)开发的实时操作系统(RTOS),基于TOPPERS/FMP内核进行移植。系统支持多核操作,可在Raspberry Pi 3的4核处理器上运行,启用了缓存和MMU(内存管理单元)。系统在EL3启动,于EL1NS下运行内核,通过软件模拟实现中断优先级功能。此外,项目支持QEMU模拟器,便于无实际硬件时开发调试。
项目的主要特性和功能
- 多核支持:可在Raspberry Pi 3的4核处理器上运行。
- 缓存和MMU启用:提升系统运行效率。
- 中断优先级模拟:通过软件模拟实现中断优先级功能。
- QEMU支持:支持在QEMU模拟器上运行,方便开发调试。
- 调试工具:提供二进制加载工具,支持通过USB - 串口通信将内核加载到Raspberry Pi上运行。
安装使用步骤
1. 开发环境搭建
1.1 编译器安装
从Linaro下载ARMv8 AArch64的编译器(如gcc - linaro - 6.3.1 - 2017.02 - xxx_aarch64 - elf
),解压后将其路径添加到系统环境变量。
1.2 配置工具安装
从TOPPERS官网下载配置工具,解压后放于项目目录的cfg/cfg
文件夹。
1.3 其他工具安装
确保系统安装make
、perl
、git
、gcc - core
、gcc - g++
。
2. 项目构建
bash
cd RPi64Toppers/fmp
mkdir -p cfg/cfg
mv <配置工具解压目录>/cfg cfg/cfg
chmod 755 cfg/cfg/cfg
mkdir build
cd build
perl ../configure -T rpi_arm64_gcc
make fmp.bin
3. 在Raspberry Pi上运行
3.1 SD卡准备
将FAT32格式化的SD卡插入电脑,把项目中的RPi64Toppers/fmp/targets/rpi_arm64_gcc/config.txt
和构建生成的fmp.bin
复制到SD卡根目录。
3.2 串口连接
将Raspberry Pi的GPIO14(TXD1)、GPIO15(RXD1)和Ground分别连接到USB - 串口转换器的RXD、TXD和Ground引脚,用终端应用程序(如Tera Term或GTKTerm)打开串口连接,波特率设为115200bps。
3.3 启动系统
将SD卡插入Raspberry Pi并接通电源,系统启动并输出日志到串口终端。
4. 在QEMU上运行
4.1 QEMU安装
bash
git clone git://git.qemu.org/qemu.git
cd qemu
git submodule init
git submodule update --recursive
cd ..
mkdir qemu_build
cd qemu_build
../qemu/configure --prefix=~/opt/qemu --target-list=aarch64 - softmmu
make
make install
将~/opt/qemu/bin
添加到系统环境变量。
4.2 启动QEMU
bash
qemu-system - aarch64 -M raspi3 -m 256 -serial null -serial mon:stdio -kernel fmp -nographic -smp 4
按Ctrl - a
,再按x
退出QEMU。
5. 调试工具使用
项目提供的二进制加载工具支持通过USB - 串口通信将内核加载到Raspberry Pi上运行,具体使用方法参考项目中的loader
目录。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】