Draft: Writing an operating system for ARM hardware from scratch
I’m currently participating in an operating system lab at my university where we write an operation system for ARM hardware from the ground up. Here I will try to port it to my OLinuXino and explain it as detailed as possible so that you can do it on your OLinuXino too.
It was stated in the lab that you need sufficient resistance to frustration and that it is not worth the credit points that you will get but following this guide here should be a lot simpler.
We are using an ARM9 board in the lab, so it should be not that complicated to port it to the iMX233 on the OLinuXino.
- ARM Architecture Reference Manual
- ARM920T Technical Reference Manual
- ARM Instruction Set - Quick Reference Card
- AT91RM9200 - Overview
- AT91RM9200 - Complete
- Application Note - Interrupt Management
- We know already how to use the debugger: Debugging the iMX233-OLinuXino via SJTAG with OpenOCD
Instead of debugging our program on the real hardware we can also use QEMU, which is a generic and open source machine emulator and virtualizer.