[okl4-developer] Hello World on arm926ejs (continued) and some questions on temporal partitioning and on POSIX.

Hugues Balp hugues.balp at thalesgroup.com
Tue Nov 18 22:33:31 EST 2008


Peter Howard wrote:
> Hugues,
>
> Checking round here, the SDK for the versatile is not set up, in the
> _debug_ kernel, for use with qemu.  It (the debug kernel) is configured
> for use on the hardware (with JTAG).  This needs to be made clear on the
> wiki.
>
> To get the example going, you should use the make line
>
> make BUILD=production
>
> and then change the qemu line to refer to
> build.micro-production/images/image.elf (or image.sim)
>   
Ok, it's ok with the production build, except it is less suited for 
debugging.
> That should allow you to see the examples running.  Going back to your
> original email(s) I understand your intended target _is_ versatile.  If
> you want to contact me off-list we can go through in more detail how to
> build either from the source or re-build the SDK to have it set up as
> you want.
>
>   
Yes, I think I will have to rebuild the SDK with the qemu set up.
The objective would be to enable debugging on the host with gdb and qemu.
Can I try to compile from the kernel sources ?
Is there some tricky things to do for that purpose ?
I imagine the main build scripts are already present.

>   
> One other thing.  We haven't seen the readelf errors that you are seeing
> (running on the image you provided).  I suggest you try the
> arm-unknown-linux-gnueabi-readelf in the toolchain.
>   
I have tried with arm-unknown-linux-gnueabi-readelf and get the same 
kind of warning
both on the image.elf available for JTAG and on the one for qemu...

Notes at offset 0x00033b08 with length 0x0000031e:
Owner Data size Description
readelf: Warning: corrupt note found at offset 0 into core notes
readelf: Warning: type: 1, namesize: 00000011, descsize: 00000300

So I think it's not really blocking...

Now after having tried the Hello World example successfully,
I wonder if its possible to configure precisely the temporal
scheduling of a multi-cells system.

So I had a look at the multicell example and didn't see any configuration
value related to time slices in the declarations of the cells...
I that possible to add such kind of temporal constraints ?
exemple: to force the chatterbox to be scheduled during the first 
demi-period
and the echo during the second...
Perhaps you have some other examples more focused on temporal partitioning ?

Another quetion I asked me is to know how it is possible to respect a 
strict temporal
partitioning while having a synchronous communication mechanism between two
different partitions.
In other words, synchronisation without buffering implies some kind of 
"context switching"
from one address space to the other each time an OKL4 IPC call occurs...
How is it possible to respect a fixed temporal partitioning with that 
kind of communication
mechanism ( for example to force execution of adress space 1 the first 
milliseconds and of the address
space 2 after etc... ) ?

Here is an extract of a presentation of OKL4 from Gernot Heiser

Message-passing in OKL4 is always synchronous (rendez-vous)
• Message gets transferred when sender and receiver are both ready
• The party attempting the operation first blocks until the other is ready
 Implications:
• Implicit synchronisation
• No buffering of data in the kernel
• Data copied at most once

I have another general question on the relationships between the OKL4 
API and POSIX...
Is it possible to have some kind of "adaptation layer" between POSIX and 
OKL4 in order
to enable a POSIX source code to run on top of an OKL4 address space ?

Another question deals with the support of linux-based drivers...
Do we need to install an OKLinux OS inside an address space to be able 
to use a
linux-based driver... In that case how can we share the driver between 
different adress spaces ?

Thanks in advance for your answers,

Best regards,

Hugues Balp.

>
> On Fri, 2008-11-14 at 11:15 +0100, Hugues Balp wrote:
>   



More information about the Developer mailing list