A0B36APO Virtual Hardware: Difference between revisions
No edit summary |
No edit summary |
||
| Line 6: | Line 6: | ||
=== Qemu === | === Qemu === | ||
[https://en.wikipedia.org/wiki/Qemu Qemu] is a processor emulator which enables to run separate Operating System on Virtual Hardware. | [https://en.wikipedia.org/wiki/Qemu Qemu] is a processor emulator which enables to run separate Operating System on Virtual Hardware. | ||
== APOHW == | == APOHW == | ||
| Line 13: | Line 14: | ||
= Using APOHW = | |||
How to obtain source code: | How to obtain source code: | ||
git clone git://rtime.felk.cvut.cz/lisovros/qemu_apohw.git -b apohw | git clone git://rtime.felk.cvut.cz/lisovros/qemu_apohw.git -b apohw | ||
| Line 41: | Line 42: | ||
* Buzzer | * Buzzer | ||
= Useful links = | |||
=== Useful links === | |||
[http://web.alfredstate.edu/weimandn/lcd/lcd_addressing/lcd_addressing_index.html HD44780 DDRAM explained] | [http://web.alfredstate.edu/weimandn/lcd/lcd_addressing/lcd_addressing_index.html HD44780 DDRAM explained] | ||
[https://lwn.net/images/pdf/LDD3/ch12.pdf PCI drivers on Linux] | [https://lwn.net/images/pdf/LDD3/ch12.pdf PCI drivers on Linux] | ||
Revision as of 13:45, 4 April 2012
A0B36APO (Architektury pocitacu -- Computer architectures) is a course taught by Department of Computer Science and Engineering and Department of Control Engineering.
Students have to work with specialized hardware. This page describes how to use the virtual implementation of the specialized hardware -- this can help students to work at home without the access to the real hardware.
Qemu
Qemu is a processor emulator which enables to run separate Operating System on Virtual Hardware.
APOHW
APOHW comprises PCIe I/O card and Simple terminal (keyboard + text LCD).
Using APOHW
How to obtain source code:
git clone git://rtime.felk.cvut.cz/lisovros/qemu_apohw.git -b apohw
How to compile it:
./configure --enable-system --target-list=i386-softmmu --enable-sdl --enable-kvm make
How to run it:
./i386-softmmu/qemu-system-i386 -device apohw \
-hda ../../debian_lenny_i386_standard.qcow2 \
--boot c \
-enable-kvm
You need to have some image file with installed Linux on it. KVM command is optional.
In another terminal then run and perceive the miracle:
telnet localhost 55555
What is not implemented:
- I/O card is PCI, not PCIe -- however memory access is the same.
- HD44780 does not support 4bit access
- HD44780 does not support display shifting
- HD44780 does not support editable CGRAM
- Keyboard
- Buzzer