Xilinx offers a custom QEMU branch for their development boards, which can be used as a starting point:
http://www.wiki.xilinx.com/QEMU
Goals:
- boot unmodified Beta firmware image (Arch Linux with a custom kernel)
- emulate the hardware devices required for initialization
- emulate image capture (memory mapping)
- emulate HDMI output(s) (memory mapping)
- emulate some sort of user interface?
- other hardware devices worth emulating?
maybe IMU
Note: FPGA emulation is probably not practical (likely very slow), so it may have to be emulated at functional level.
Difficulty: hard
Mentors: Alex, Herbert?