Delay::measure function

Xavier LEBARS xlebars at
Fri Jul 4 11:18:35 CEST 2014


Thanks for the answer, we can display Hello World only once. (I resend my message because I forgot to add the L4 mailing list ...)

We still have another questions. What kind of interrupts are you talking about ? Which module should actually throw this interrupt and when ?

Best regards

-----Message d'origine-----
De : l4-hackers [mailto:l4-hackers-bounces at] De la part de Martin Schröder
Envoyé : mardi 1 juillet 2014 17:37
À : l4-hackers at
Objet : Re: Delay::measure function

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.


l4-hackers mailing list
l4-hackers at

More information about the l4-hackers mailing list