I have been thinking about implementing some sort of OS on the AEMB. At the moment, the OMRP people have had some success with running a uCLinux OS on the AEMB. However, using uClinux may be a bit excessive for simple projects. Therefore, I have thought of implementing some form of micro-OS on the core.

I have already written a simple boot-strap programme that checks the memory for errors. It is a simple programme that can even fit entirely inside cache. This would be very useful as something that can be used immediately during power-on. The code can be loaded into the FPGA bitstream and configured for use immediately. This would allow some simple operations to be performed at start-up such as clearing all registers.

This idea naturally lead to the thought of including more functionality in early boot-strap code. While trying to fit everything under 2kb may be difficult, a micro-kernel could be developed to enable boot-strapping of various other software. In fact, a micro-kernel can do even more than that, including virtualising more hardware services.

Of course, everything is still just ideas at the moment.