Thread View: net.micro.6809
1 messages
1 total messages
Started by angela
Mon, 15 Sep 1986 15:22
OS9/68K F$STrap system call
Author: angela
Date: Mon, 15 Sep 1986 15:22
Date: Mon, 15 Sep 1986 15:22
38 lines
2227 bytes
2227 bytes
I'd like to pose several questions concerning F$STrap to the os-9
experts. I'm currently using OS-9/68K, version 1.2.
I'm writing several real-time processes which need to communicate with
MC68008-based boards via dual port memory. It is conceivable (heaven-
forbid) that somebody could come along and pull out one of these boards,
causing a bus error the next time the cards dual-port memory is addressed.
I would like to use the F$STrap system call to catch the bus error and
do some other processing. It would be nice to know which process and
which external I/O address caused the bus error (ie. tells me which board
shouldn't be addressed).
1. Can anybody give me a clearer example than the documentation gives
on how to use F$STrap when dealing with a bus error? If possible
could it include example register values and how the stack image
would look too.
2. Is it feasible to find out the process and external I/O address
causing the bus error? I can imagine a way of doing this by
using the PC against the module directory information to identify
the process and presumably, the address can be got from one of the
address registers in the stack image. This, however, sounds long-
winded and complicated to me.
3. How could I determine a suitable position to restart the erring process
so that it can, at least, deal with other boards correctly, and
ignore the faulty one? (the process is written in C). I don't
really want to terminate the process and then restart it, as it has
an initialisation phase I don't want repeating.
I would greatly appreciate any suggestions that may push me in the right
direction.
Angela Smith
CERN, Geneva
angela@cernvax.UUCP
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads