[ECOS] Interrupt arbitration on MPC555

Bob Koninckx bob.koninckx@mech.kuleuven.ac.be
Fri Feb 25 02:03:00 GMT 2000


I agree, It would be nice if you could fit it into the eCos configuration,
however, I don't see how to do this, since changing priorities also means
changing code.

Suppose you assign priority 3 to toucan A (the first can controller) and
priority 15 to toucan B. Every can controller has a total of 19 interrupt
sources, sou you have to setup an arbiter on level3 that checks and further
decodes the interrupt, same thing on level 7.

Another configuration (for another application) could assign priorities 15
and 16, meaning that a completely different arbiter is now needed on level7
(one that checks both can controllers).

The arbiter surely cannot be integrated into the device drivers, it might be
that besides the can controllers also TPUs are using level 7.

For the powerpc, you were able to write these general arbiters for TimeBase,
RTC etc ... You can still do this on the MPC555 for these sources, you
cannot do it for the TOUCAN, TPU, MIOS, SCI, SPI since they are not
connected directly to the SIU. They are connected to the SIU by means of the
IMB3.

The point I am trying to make is :
if you write a general arbiter for toucan, tpu, mios, sci etc ..., these
will only work fine for priorities lower than 7. If two devices are assigned
priorities above 6, you should be able to connect more than one arbiter on
level 7

Regards,
Bob

> -----Original Message-----
> From: jskov@redhat.com [ mailto:jskov@redhat.com ]
> Sent: Friday, February 25, 2000 10:31 AM
> To: bob.koninckx@mech.kuleuven.ac.be
> Cc: ecos discussion forum
> Subject: Re: [ECOS] Interrupt arbitration on MPC555
>
>
> >>>>> "Bob" == Bob Koninckx <bob.koninckx@mech.kuleuven.ac.be> writes:
>
> Bob> I suppose not every application is interested in using the same
> Bob> priorities, some might like to assign a high priority to
> Bob> CAN-interruipts and do not even use the TPU, for another
> Bob> application it might be necessary to assign a higher priority
> Bob> (and hence different arbitration) to the TPU than the
> Bob> CAN-controller. These are strong arguments to assign these
> Bob> priorities and setup the arbitration somewhere during startup of
> Bob> the APPLICATION.
>
> Bob> On the other hand, it also makes sense to use device drivers for
> Bob> can, serial ports etc,... These device drivers have to create
> Bob> interrupts and hence have to know the priority of these
> Bob> interrupts. So it seems you have to set-up priorities and
> Bob> arbitration somewhere within ECOS. And then you lose all
> Bob> flexibility ....
>
> I think this belongs in the eCos configuration. I don't see how that
> loses you any flexibility: normally you would configure eCos for your
> application needs anyway.
>
> Jesper
>



More information about the Ecos-discuss mailing list