mirror of
https://github.com/cccriscv/mini-riscv-os.git
synced 2025-11-16 12:34:33 +00:00
2.6 KiB
2.6 KiB
mini-riscv-os -- 一步一步自製 RISC-V 處理器上的嵌入式作業系統
簡介
mini-riscv-os 是仿照 jserv 的 mini-arm-os 所做出來的專案。
陳鍾誠 ccckmit 參考 mini-arm-os 專案,改寫成 RISC-V 處理器的 mini-riscv-os,然後在 Windows 10 作業系統中編譯並執行 。
安裝指引
目前只在 windows 10 平台中建置並測試,請安裝 git bash 與 FreedomStudio。
下載 FreedomStudio 的 windows 版後,請將 riscv64-unknown-elf-gcc/bin 和 riscv-qemu/bin 加入系統路徑 PATH 設到 中。
舉例而言,在我的電腦中,我將下列兩個資料夾加入 PATH 中。
D:\install\FreedomStudio-2020-06-3-win64\SiFive\riscv64-unknown-elf-gcc-8.3.0-2020.04.1\bin
D:\install\FreedomStudio-2020-06-3-win64\SiFive\riscv-qemu-4.2.0-2020.04.0\bin
然後請用 git bash 來建置編譯本課程的專案。我是在 vscode (Visual Studio Code) 中開終端機 Select Default Shell 設成 bash ,然後編譯這些專案的。
自製 RISC-V 嵌入式作業系統課程
- 01-HelloOs
- 使用 UART 印出
"Hello OS!"訊息
- 使用 UART 印出
- 02-ContextSwitch
- 從 OS 切到第一個使用者行程 (user task)
- 03-MultiTasking
- 可以在作業系統與兩個行程之間切換 (協同式多工,非強制切換 Non Preemptive)
- 04-TimerInterrupt
- 示範如何引發時間中斷 (大約每秒一次)
- 05-Preemptive
- 透過時間中斷強制切換的 Preemptive 作業系統。
建置方法
- 先切到對應資料夾,例如
cd 01-HelloOs,然後執行下列指令。
make
make qemu
如果你沒有 make,請嘗試下列方式:
- 用 choco 安裝 make
- choco install make
- 當然在此之前得先 安裝好 choco
- 或者下載 CodeBlocks ,然後加入
CodeBlocks\MinGW\bin到 PATH 中。- 例如我的系統裡 make 是在
C:\Program Files (x86)\CodeBlocks\MinGW\bin
- 例如我的系統裡 make 是在
授權聲明
mini-riscv-os 在遵守 BSD 授權協議的情況下,可以被自由的複製、散布與修改,詳細授權聲明請看 LICENSE。