iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

予焦啦!Hoddarla 專案起步:使用 Golang 撰寫 RISC-V 作業系統的初步探索 系列

筆者以這次鐵人賽為契機,啟動一個作業系統計畫,它的名字叫做 Hoddarla。
儘管它本身還有很多模糊且未定義清楚的目標,但有兩點作為專案的基石,將會一直維持的:

* 只支援單一計算機架構:RISC-V。
* 只包含 Golang 程式碼,以及 Golang 工具鏈所能允許的組合語言。

在這次 30 天的篇幅內,將會涵蓋的是 Golang 如何支援 RISC-V 上的系統開發。雖然沒有實用性,但筆者會引用一些參考文獻,使得有心想要深入

* RISC-V S-mode 操作
* Golang 執行期

的讀者也能夠有個小型範本可以參考。

技術寫落去,予焦啦!

鐵人鍊成 | 共 33 篇文章 | 16 人訂閱 訂閱系列文 RSS系列文 團隊晶心壯士 II:SOLAR System
DAY 11

予焦啦!在 ethanol 中啟用虛擬記憶體

本節是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 予焦啦!昨日直接瞄準一組虛擬...

2021-09-20 ‧ 由 高魁良 分享
DAY 12

予焦啦!虛擬記憶體啟用後的除錯

本節是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 予焦啦!昨日啟用了虛擬位址的...

2021-09-21 ‧ 由 高魁良 分享
DAY 13

予焦啦!裝置樹(DTB)解析

本節是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 予焦啦!昨日打通了 thro...

2021-09-22 ‧ 由 高魁良 分享
DAY 14

予焦啦!Ethanol 記憶體映像規劃

本節是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 本節所對應的修補當中,有些...

2021-09-23 ‧ 由 高魁良 分享
DAY 15

予焦啦!Golang 記憶體初始化

本節是以 Golang 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 予焦啦!在昨日基本地完成 sysA...

2021-09-24 ‧ 由 高魁良 分享
DAY 16

予焦啦!參數與環境變數

本節是以 Golang 上游 8854368cb076ea9a2b71c8b3c8f675a8e19b751c 為基準做的實驗 予焦啦!經過了第零章確保開發...

2021-09-25 ‧ 由 高魁良 分享
DAY 17

予焦啦!問題分析

本節是以 Golang 上游 8854368cb076ea9a2b71c8b3c8f675a8e19b751c 為基準做的實驗 予焦啦!正式進入下半場之前,...

2021-09-26 ‧ 由 高魁良 分享
DAY 18

予焦啦!RISC-V 的計時器中斷機制

本節是以 Golang 上游 8854368cb076ea9a2b71c8b3c8f675a8e19b751c 為基準做的實驗 予焦啦!在前兩天的斷章當中,...

2021-09-27 ‧ 由 高魁良 分享
DAY 19

予焦啦!scratch 控制暫存器

本節是以 Golang 上游 8854368cb076ea9a2b71c8b3c8f675a8e19b751c 為基準做的實驗 予焦啦!上下文(contex...

2021-09-28 ‧ 由 高魁良 分享
DAY 20

予焦啦!Golang 當中的訊號(signal)機制

予焦啦!正如 Golang 自己維護了記憶體管理機制(競技場、記憶體抽象層、垃圾回收、...)般,讓 ethanol 核心取用 RISC-V 硬體功能的部分可以...

2021-09-29 ‧ 由 高魁良 分享