Delay::measure function
Martin Schröder
martin.schroeder at openlimit.com
Tue Jul 1 17:36:32 CEST 2014
Hi Xavier,
Am 01.07.2014 17:04, schrieb Xavier LEBARS:
> Hi everyone,
>
> I’m currently trying to port Fiasco + L4re with the « Hello World »
> application on a Zedboard which has a Xilinx Zynq z7020 processor (ARM
> Cortex A9 MPCore).
>
> We already configure UART and Timer for the microkernel but boot crash
> after the step : Calibrating Timer loop… Our problem seems to occur
> during the execution of Delay::measure() function. Does anyone know what
> it exactly does and especially update_timer which seems to have no
> effect in our case.
This Delay::measure() function counts the number of calls to
Proc::pause() which can be made until the 1ms system time elapses.
I had the same problem while porting Fiasco on some other platform
(i.MX28). The reason why you are stuck in Delay::measure() is that the
system time of Fiasco does not advance and thus Delay::measure() does
not return. Most probably the driver of your timer device is not running
properly, your timer is not configured to generate the periodically 1ms
system clock and/or the driver of your interrupt controller does not
handle timer interrupts.
For the first testing steps you can probably skip this loop and return
some hardcoded arbitrary value to get the Hello World example running.
Martin
More information about the l4-hackers
mailing list