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