From 35c315a77a92d8ca0efefea329770c6bf9adca2d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 19 Dec 2010 10:25:31 +0000 Subject: AT91SAM7x board files and demos updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2500 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- boards/OLIMEX_SAM7_EX256/board.c | 22 +++++----------------- boards/OLIMEX_SAM7_EX256/board.h | 10 ++++++++++ boards/OLIMEX_SAM7_P256/board.c | 22 +++++----------------- boards/OLIMEX_SAM7_P256/board.h | 10 ++++++++++ 4 files changed, 30 insertions(+), 34 deletions(-) (limited to 'boards') diff --git a/boards/OLIMEX_SAM7_EX256/board.c b/boards/OLIMEX_SAM7_EX256/board.c index 38c84fc1d..e13a05420 100644 --- a/boards/OLIMEX_SAM7_EX256/board.c +++ b/boards/OLIMEX_SAM7_EX256/board.c @@ -60,10 +60,10 @@ static CH_IRQ_HANDLER(SYSIrqHandler) { /* * Early initialization code. - * This initialization is performed just after reset before BSS and DATA - * segments initialization. + * This initialization must be performed just after stack setup and before + * any other initialization. */ -void hwinit0(void) { +void __early_init(void) { /* Watchdog disabled.*/ AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS; @@ -72,16 +72,9 @@ void hwinit0(void) { } /* - * Late initialization code. - * This initialization is performed after BSS and DATA segments initialization - * and before invoking the main() function. + * Board-specific initialization code. */ -void hwinit1(void) { - - /* - * HAL initialization. - */ - halInit(); +void boardInit(void) { /* * LCD pins setup. @@ -124,9 +117,4 @@ void hwinit1(void) { AT91C_BASE_PIOA->PIO_PDR = AT91C_PA3_RTS0 | AT91C_PA4_CTS0; AT91C_BASE_PIOA->PIO_ASR = AT91C_PIO_PA3 | AT91C_PIO_PA4; AT91C_BASE_PIOA->PIO_PPUDR = AT91C_PIO_PA3 | AT91C_PIO_PA4; - - /* - * ChibiOS/RT initialization. - */ - chSysInit(); } diff --git a/boards/OLIMEX_SAM7_EX256/board.h b/boards/OLIMEX_SAM7_EX256/board.h index 22add597e..961fda9c0 100644 --- a/boards/OLIMEX_SAM7_EX256/board.h +++ b/boards/OLIMEX_SAM7_EX256/board.h @@ -91,4 +91,14 @@ #define PIOB_PHY_IRQ 26 #define PIOB_PHY_IRQ_MASK (1 << PIOB_PHY_IRQ) +#if !defined(_FROM_ASM_) +#ifdef __cplusplus +extern "C" { +#endif + void boardInit(void); +#ifdef __cplusplus +} +#endif +#endif /* _FROM_ASM_ */ + #endif /* _BOARD_H_ */ diff --git a/boards/OLIMEX_SAM7_P256/board.c b/boards/OLIMEX_SAM7_P256/board.c index 12b221930..cd9a43873 100644 --- a/boards/OLIMEX_SAM7_P256/board.c +++ b/boards/OLIMEX_SAM7_P256/board.c @@ -54,10 +54,10 @@ static CH_IRQ_HANDLER(SYSIrqHandler) { /* * Early initialization code. - * This initialization is performed just after reset before BSS and DATA - * segments initialization. + * This initialization must be performed just after stack setup and before + * any other initialization. */ -void hwinit0(void) { +void __early_init(void) { /* Watchdog disabled.*/ AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS; @@ -66,16 +66,9 @@ void hwinit0(void) { } /* - * Late initialization code. - * This initialization is performed after BSS and DATA segments initialization - * and before invoking the main() function. + * Board-specific initialization code. */ -void hwinit1(void) { - - /* - * HAL initialization. - */ - halInit(); +void boardInit(void) { /* * LED pins setup. @@ -106,9 +99,4 @@ void hwinit1(void) { AIC_EnableIT(AT91C_ID_SYS); AT91C_BASE_PITC->PITC_PIMR = (MCK / 16 / CH_FREQUENCY) - 1; AT91C_BASE_PITC->PITC_PIMR |= AT91C_PITC_PITEN | AT91C_PITC_PITIEN; - - /* - * ChibiOS/RT initialization. - */ - chSysInit(); } diff --git a/boards/OLIMEX_SAM7_P256/board.h b/boards/OLIMEX_SAM7_P256/board.h index 0e2a3d783..65877652d 100644 --- a/boards/OLIMEX_SAM7_P256/board.h +++ b/boards/OLIMEX_SAM7_P256/board.h @@ -71,4 +71,14 @@ #define PIOA_MMC_NPCS0 11 #define PIOA_MMC_NPCS0_MASK (1 << PIOA_MMC_NPCS0_MASK) +#if !defined(_FROM_ASM_) +#ifdef __cplusplus +extern "C" { +#endif + void boardInit(void); +#ifdef __cplusplus +} +#endif +#endif /* _FROM_ASM_ */ + #endif /* _BOARD_H_ */ -- cgit v1.2.3