Printer-Friendly
Version
|
Milestone 0: Familiarisation
This is a simple exercise designed to get you started on L4. It
contains very detailed instructions, together with the existing
source code and the L4 manual you should have no problem doing
it.
- Get yourself a copy of the skeleton
SOS.
- Build and run the example.
tar zxvf sos.tar.gz
cd sos
make
- This should create
/tftpboot/sos.$USER
- The example skeleton operating system includes an
application
tty_test which starts up, prints out
its thread id, and then goes into a loop.
- The example includes a
printf implementation
that outputs data to L4's debug console. In fact it uses the
provided l4e_print_string
function. This function should only be used for internal SOS
debugging, not as a console for applications, so, your task is
to modify the printf function to send data to the
other serial port.
The second part of milestone zero is to find a partner for the
rest of the project. The project is to be completed unless prior
permission has been obtained from the LiC.
Recommended procedure
- Read (and understand) the code in
sos/main.c
and the code in the tty_test application.
- Read the documentation on libserial.
- Design an IPC protocol to transfer data from the user
program to your operating system.
- Write a client side implementation called
tty_send_string (or similar) in
ttyout.c .
- Change the
syscall_loop in main.c
to handle recognise your new protocol, and print out a debug
message when you receive one of these messages.
- Edit
tty_test.c so that it tests your
tty_send_string function.
- Change the server side so that it now prints the data to the
serial port.
- Change the implementation of
printf to use your
new tty_send_string function.
- Test that all of
tty_test 's output now goes to
the second serial line, not the console debugger.
Assessment
You will need to demonstrate your solution, running on the U4600
hardware to the tutor during the demonstration period. You
should be prepared to show your tutor which files you modified
in your solution, and explain any design decisions you made.
You will let the tutor know who your partner is so that group
accounts can be created for you.
Last modified:
29 Aug 2003.
|