This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Porting question
- From: Andrew Lunn <andrew at lunn dot ch>
- To: Bob Koninckx <bob dot koninckx at o-3s dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Fri, 6 May 2005 14:21:31 +0200
- Subject: Re: [ECOS] Porting question
- References: <1115378197.5655.23.camel@pc-006.vuilenbos.net>
On Fri, May 06, 2005 at 01:16:37PM +0200, Bob Koninckx wrote:
> Hi list,
>
> I got stuck when porting ecos to motorola's mpc565 processor. This
> variant is very similar to the mpc555, main differences lie in the on-
> chip peripherals (3 vs 2 CAN controllers, different MIOS etc...). At
> present, knowledge of on-chip peripherals is dealt with in the mpc5xx
> variant code. Apparently, it does not belong there ...
>
> I was thinking of introducing subvariants of mpc5xx for mpc555 and
> mpc565 (similar to the quicc subvariant of mpc8xx). Considering the
> similarities between mpc555 and mpc565, this would imply duplication of
> lots of code.
>
> Ideal would be to provide separate HALs for on-chip peripherals like
> TouCAN, MIOS, QADC etc ... These HALs could then provide
>
> * interrupt vector definitions
> * interrupt mask / unmask / configure definitions
>
> All the subvariants should do then is include the necessary device HALs
> and no code duplication would be necessary any more. I see however also
> some drawbacks with this approach:
>
> * the HAL directory is now processor / board oriented. Having a
> directory TouCAN at the same level as e.g. mpc8xx does not seem logical.
> Placing the device HALs in
>
> packages/hal/motorola/toucan
> packages/hal/motorola/mios
> packages/hal/motorola/qadc
>
> is probably a better solution, especially since motorola uses the same
> devices with other cores than powerpc.
>
> * How to generate unique interrupt vector definitions if it is no
> longer done in one single location ?
You could put the device drivers under the devs directory. eg
packages/devs/can/motorola/toucan
packages/devs/adc/motorola/qadc
packages/devs/io/motorola/mios
The HAL provides all the definitions for where the devices live in
memory, the interupts etc.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss