Hi Tomasz,
Thanks for your input! I plan on testing the software on an RPI in the future as well so this might prove useful.
Anyways, regarding your timing problems, how exactly did you measure them? My current setup consists of taking a start and stop timestamp via a timer-connection but I only seem to get milliseconds-precision (I tried using elapsed_us() but it seems to always produce "microsecond"-values ending with three zeroes.). I currently run everything inside QEMU so I don't know whether real hardware will simply fix this.
Cheers, Simon
On 02.10.20 14:32, Tomasz Gajewski wrote:
Simon Himmelbauer himmelba@in.tum.de writes:
I'm currently writing a time sensitive-program using Fiasco.OC as a kernel. For debugging purposes I wanted to use Genode::raw in order to avoid the overhead of Genode::log.
Although you confirmed that Christian's answer solved your problem you can look at trace logger and a feature to redirect logs to trace buffer. I used it to diagnose timing problems in USB driver for RPI and it may be useful for you too.
It is described in section "Redirection of LOG output to TRACE events" in release notes for versoin 20.05. In this case calls to log just write to memory eliminating any overhead and trace logger can read it asynchronously later and output to console.
Cheers, Tomasz