为arm架构编写操作系统

Tul*_*are 3 operating-system arm

如何开始编写在arm架构上运行的操作系统?如果可能的话我想编写一个bootloader和我自己的内核.任何人都可以帮助我开始吗?

Dan*_*ple 6

我首先要熟悉已有的内容 - Linux是一个良好的开端.查看rPi上的发行版中使用的引导加载程序 - 在Debian Squeeze中使用的内容,例如uBootBareBox.另一个选择是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设备上都没有微代码. (2认同)