如何開始編寫在arm架構上運行的操作系統?如果可能的話,我想寫一個引導程序和我自己的內核。任何人都可以幫助我開始嗎?爲arm架構編寫操作系統
回答
我會先熟悉一下已經存在的東西 - Linux是一個好的開始。查看rPi發行版中使用的引導程序 - 例如,在Debian Squeeze中使用的是uBoot和BareBox。另一種選擇是CFE - 它在BSD許可下,在調試/早期開發期間很好。
另一件事就是看看ucLinux和ucLibC系統,以及buildroot和OpenWRT--所有這些都是爲了將其擠壓到一個小型系統上而設計的。當然 - 構建你自己的內核 - 你會想要深入得多 - 花費時間理解MMU的,流程管理/多任務處理,中斷等等。編程微控制器的良好背景知識,彙編語言和CPU/SOC架構知識將是必不可少的。有了ARM系列,您將需要了解支持的各種指令集,以及哪些芯片具有MMU,FPU和類似功能。
祝你好運 - 這聽起來像一個有趣的項目。
Grub可能是一個非常糟糕的地方,因爲它是一個x86引導加載程序,圍繞着大腦死亡,現在非常過時(但仍然使用)的PC體系結構預引導環境和BIOS。它的很大一部分與ARM SoC系統無關。 [uBoot](http://www.denx.de/wiki/U-Boot)和[Barebox](http://barebox.org)是ARM引導加載程序 - 後者更具可破解性。順便提一句,任何ARM設備上都沒有微碼。 – marko
感謝Marco的糾正。我會將更正編輯爲答案 - 我知道Grub和Lilo,以及一些我不打算透露的內部引導程序。至少起點已經導致了一些討論。 –
如果他們構建在x86平臺上,GRUB和Multiboot標準是最好的選擇,但對於ARM來說,uBoot和Barebox是很好的建議。 – Linuxios
- 1. 爲x86架構開發操作系統
- 2. 開放源代碼雲操作系統/操作系統架構
- 3. 操作系統架構檢測腳本
- 4. 爲ARM架構編譯Ada
- 5. 用UEFI編寫操作系統
- 6. 如何編寫操作系統
- 7. 編寫定製的Android操作系統
- 8. 使用C++編寫操作系統
- 9. 關於編寫操作系統
- 10. 庫編譯爲體系結構x64,具有ARM架構錯誤
- 11. 系統架構
- 12. 是否可以爲手機編寫操作系統?
- 13. Windows操作系統體系結構書
- 14. Firefox操作系統體系結構
- 15. 爲ARM體系結構編譯libcivil
- 16. 預定義爲iPhone操作系統和Mac操作系統
- 17. 不同體系結構的操作系統彙編語言
- 18. 移動操作系統及其編寫的編程語言
- 19. 操作系統
- 20. CPU溫度的Linux操作系統/英特爾64位架構
- 21. 這是確定操作系統架構的好方法嗎?
- 22. 如何在Google Dart中查找操作系統架構?
- 23. 在64位架構上的32位操作系統
- 24. 當前操作系統和架構的BCPL編譯器/解釋器?
- 25. 數據庫架構作爲Skype作爲管理系統
- 26. Android操作系統中的多操作系統引擎構建失敗
- 27. 根據操作系統或框架跳過方法的編譯
- 28. 操作系統獨立構建路徑
- 29. 自定義Android操作系統構建
- 30. UNIX操作系統結構層功能
如果您有與編程相關的具體和可回答的問題,您應該以* some *方式開始,然後在本網站上發帖。祝你的操作系統順利! – dasblinkenlight
另請參閱[如何開始爲ARM處理器編寫我自己的移動操作系統?](http://stackoverflow.com/questions/9954184/how-can-i-get-started-on-writing-my-own -mobile-os-for-arm-processors) – Justin