Testing and Debugging
In this section we describe how we validate our implementation using tracing with logic
analyser. We then show how we report error using a logic analyser.
We have also implemented a kernel tracing mechanism. We set aside a circular trace buffer
where function_id, enter/exit, and time of call is stored.
The following listing shows the function prototype for adding a trace to the kernel.
This kernel trace can be used to prove the validity of our implementation. However, we preferred to use logic analyser as it is visually more intuitive.
void add_trace(uint8_t process_number, uint8_t enter, uint16_t time);
This kernel trace can be used to prove the validity of our implementation. However, we preferred to use logic analyser as it is visually more intuitive.