Files
For efficient access, the files used in this project are found in the file system of the university, at /it/kurs/compsys/HT2004/.
- compsys.tar - provides a tape archive containing a directory with an example mips-machine. It contains files which configure the system and launches Simics. The directory is to be placed in your ~/yourpath/simics-2.0.16/home directory. Untar using the tar xvf compsys.tar command (as detailed in the Simics installation instructions).
- example_files/ is a directory containing:
- example_syscall.c, example_timer.c and example_uart.c - three example programs
- Makefile - a makefile for cross-compiling mips code
- asm.S - some assembler code for trap handling
- syscall.S - some assembler code for handling system calls
- debug.c - some useful debug functions
- i8259.c - code for the i8259 device i8259.c
- run.sh, run.simics - scripts for starting Simics (see the compilation introduction lab for more on how to use these scripts)
- include/ - is a directory containing header-files for inclusion in your code.
- malta.h - contains the actual addresses used to access the devices of the MIPS machine.
- display.h - contains the definition of the interface of the LED display (used in example_timer). Note that the code uses a C struct to allow structured access to the LED display.
- ns16550.h - the C struct to use for accessing the NS16550 serial port.
- ds12887.h - the C struct for access to the DS12887 real-time clock.
- types.h - contains definition of 8, 16, and 32-bit signed and unsigned integers. Used in the structs used for device access in the other files.
- manuals/ - is a directory containing manuals about the processor, the controllers and devices. There is also a short description of the mips assembler instructions.