Slos
SLO代表简单的轻OS。该存储库用于在ARM处理器中运行的SLO的源代码。它在Xilinx Zynq7000芯片组的Cortex-A9中进行了测试(目前在Coraz7板上进行了测试),但似乎已扩展到其他产品。
实现列表
- 过程管理
- TCB(任务控制块)
- 任务叉 - forkyi()
- GIC-中断处理程序(上半部 /下半部分)
- 任务同步(旋转锁)
- 任务状态-task_running,task_waiting
- 计时器框架工作
- 实时计时器,调度计时器,Oneshot计时器
- 计时器中断处理程序
- RT任务的实时调度程序
- CFS调度程序其他
- 运行Q并等待Q
- 模仿Linux运行Q和CFS调度程序
- 使用虚拟运行时计划实体
- 外壳任务,工人任务,CPU空闲任务和虚拟任务
- 内存管理
- 页面框架池
- 小页桌步行
- 虚拟内存管理器
- 页故障处理程序
- 要求分页
- SLF(简单的轻文件系统)
- 基于Ramdisk
- 2级文件系统:最高800kb的文件大小
- RAM磁盘和精灵加载程序用于使用应用程序
- 通过SVC指令-LIBSLOS.A
- 硬件软件代码
- PL子系统中的自定义外围HW的两个FPGA(ModCore,ODEV)实现
- 脚本基础Vivado项目实施
- 带有DMA中断处理程序的设备驱动程序
- 用于流程设备的设备驱动器
- SMP(对称多处理器)
- CPU 0和CPU 1与相同的内核启动并运行
- PERCPU资源存储
- CPU 0和CPU 1之间的SGI(软件中断)
- 用于CPU 0和CPU 1之间通信的邮箱1
构建系统:
- cmake构建,使构建都在起作用
- KCONFIG
- 设备驱动程序的静态链接的设备树
有关更多信息,请参阅Scratch.pdf的自定义OS开发的小书。
注意:使用Cora Z7的Petalinux-ackage,使用并验证了Petalinux V2023.2