Jump to content

A0B36APO Virtual Hardware: Difference between revisions

From HW wiki
Lisovros (talk | contribs)
No edit summary
Lisovros (talk | contribs)
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 ===
= 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


Useful links

HD44780 DDRAM explained

PCI drivers on Linux