LPC2XXX interrupt_acknowledge
Andrew Lunn
andrew@lunn.ch
Mon May 8 10:00:00 GMT 2006
On Mon, May 08, 2006 at 02:06:57PM +0300, Sergei Gavrikov wrote:
> Andrew,
>
> Thank you for this commit. I have an eCos newbie question.
>
> I have looked var_misc.c sources for other ARM platforms. Most of them
> usually has call hal_plf_hardware_init() after the hal_if_init() call in
> the hal_hardware_init() epilogue. So, the platform layer has point for an
> additional hardware initializing in C. Sorry, but LPC2XXX variant init
> (in the lpc2xxx_misc.c) have no such a call. Therefore, we have one
> point for the early hardware initializing in the hal_platform_setup.h
> for the evolution boards (in assembler only). There is no other point
> for the hardware initializing in the lpc2xxx platforms.
I had a similar problem with the AT91 varient HAL. What i did there was add:
#ifdef HAL_PLF_HARDWARE_INIT
// Perform any platform specific initializations
HAL_PLF_HARDWARE_INIT();
#endif
into hal_hardware_init().
The platform hal then has something like:
//----------------------------------------------------------------------
// The platform needs this initialization during the
// hal_hardware_init() function in the varient HAL.
#ifndef __ASSEMBLER__
extern void hal_plf_hardware_init(void);
#define HAL_PLF_HARDWARE_INIT() \
hal_plf_hardware_init()
#endif
in plf_io.h and the necassary code in the _misc.c file.
Doing it like this with a #define means you do not have to edit all
the platform HALs adding an empty function. You just have the function
when you need it.
Andrew
More information about the Ecos-patches
mailing list