littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于现代C++的裸金属操作系统框架

项目简介

SC是一个现代C++裸金属框架,提供类似操作系统的原语和库,让开发者能像编写用户空间应用程序一样编写代码。该框架支持C++20标准,运用了C++20的四大特性(协程和范围尚未支持)。其设计紧凑,适用于闪存100KB以上、RAM 60KB以上的微控制器。

项目的主要特性和功能

  • 采用C++20标准编写,支持C++20的四大特性。
  • 支持动态内存分配。
  • 支持C++异常处理。
  • 支持QEMU模拟器和Raspberry Pi 4硬件平台。
  • 使用基于Makefile的自定义构建系统,因主流构建系统对C++20模块支持不足。

安装使用步骤

1. 安装依赖

SC仅支持clang编译器,推荐使用clang - 11版本。

MacOS

sh brew install llvm@11 brew install qemu brew install binutils

Ubuntu

sh sudo apt-get install clang-11 sudo apt-get install lld-11 sudo apt-get install qemu-system-arm

2. 编译项目

使用Makefile进行编译,支持QEMU模拟器和Raspberry Pi 4目标平台。

编译QEMU目标

sh make TARGET=qemu-aarch64 -j8

编译Raspberry Pi 4目标

sh make TARGET=rpi4 -j8

3. 运行项目

在QEMU中运行

sh qemu-system-aarch64 -M virt,secure=on,virtualization=on -cpu cortex-a53 -m 512 -smp 1 -nographic -semihosting -kernel build-qemu-aarch64/sc.bin 或者使用Makefile中的QEMU目标: sh make TARGET=qemu-aarch64 qemu -j8

在Raspberry Pi 4上运行

将生成的sc.bin文件作为kernel8.img放入SD卡中,系统将启动到SC shell。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】