From db629a04618090b3f45c12d9563adf5215a31969 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Jan 2009 09:16:23 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@631 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- demos/ARM7-AT91SAM7X-GCC/Makefile | 2 +- demos/ARM7-AT91SAM7X-GCC/Makefile.thumb | 2 +- demos/ARM7-LPC214x-GCC/Makefile.thumb | 2 +- ports/ARM7-AT91SAM7X/chcore.c | 69 --------------------------------- ports/ARM7-AT91SAM7X/wfi.h | 35 +++++++++++++++++ ports/ARM7-LPC214x/wfi.h | 35 +++++++++++++++++ 6 files changed, 73 insertions(+), 72 deletions(-) delete mode 100644 ports/ARM7-AT91SAM7X/chcore.c create mode 100644 ports/ARM7-AT91SAM7X/wfi.h create mode 100644 ports/ARM7-LPC214x/wfi.h diff --git a/demos/ARM7-AT91SAM7X-GCC/Makefile b/demos/ARM7-AT91SAM7X-GCC/Makefile index effdd4aba..65219c2da 100644 --- a/demos/ARM7-AT91SAM7X-GCC/Makefile +++ b/demos/ARM7-AT91SAM7X-GCC/Makefile @@ -69,7 +69,7 @@ include ../../src/kernel.mk include ../../test/test.mk # List ARM-mode C source files here -ASRC = ../../ports/ARM7-AT91SAM7X/chcore.c \ +ASRC = ../../ports/ARM7/chcore.c \ ../../ports/ARM7-AT91SAM7X/sam7x_serial.c \ ${KERNSRC} \ ${TESTSRC} \ diff --git a/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb b/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb index d0e92d4b8..6d06e82a7 100644 --- a/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb +++ b/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb @@ -74,7 +74,7 @@ ASRC = # List THUMB-mode C sources here # NOTE: If any module is compiled in thumb mode then -mthumb-interwork is # enabled for all modules and that lowers performance. -TSRC = ../../ports/ARM7-AT91SAM7X/chcore.c \ +TSRC = ../../ports/ARM7/chcore.c \ ../../ports/ARM7-AT91SAM7X/sam7x_serial.c \ ${KERNSRC} \ ${TESTSRC} \ diff --git a/demos/ARM7-LPC214x-GCC/Makefile.thumb b/demos/ARM7-LPC214x-GCC/Makefile.thumb index 769c6a174..aa3046c20 100644 --- a/demos/ARM7-LPC214x-GCC/Makefile.thumb +++ b/demos/ARM7-LPC214x-GCC/Makefile.thumb @@ -74,7 +74,7 @@ ASRC = # List THUMB-mode C sources here # NOTE: If any module is compiled in thumb mode then -mthumb-interwork is # enabled for all modules and that lowers performance. -TSRC = ../../ports/ARM7-LPC214x/chcore.c \ +TSRC = ../../ports/ARM7/chcore.c \ ../../ports/ARM7-LPC214x/vic.c \ ../../ports/ARM7-LPC214x/lpc214x_serial.c \ ../../ports/ARM7-LPC214x/lpc214x_ssp.c \ diff --git a/ports/ARM7-AT91SAM7X/chcore.c b/ports/ARM7-AT91SAM7X/chcore.c deleted file mode 100644 index f404efce1..000000000 --- a/ports/ARM7-AT91SAM7X/chcore.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - ChibiOS/RT is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -/** - * @addtogroup ARM7_CORE - * @{ - */ - -#include - -#include "at91lib/AT91SAM7X256.h" - -/* - * This file is a template of the system driver functions provided by a port. - * Some of the following functions may be implemented as macros in chcore.h if - * the implementer decides that there is an advantage in doing so, as example - * because performance concerns. - */ - -/** - * Prints a message on the system console. - * @param msg pointer to the message - */ -__attribute__((weak)) -void sys_puts(char *msg) { -} - -/** - * Enters an architecture-dependent halt mode. The function is meant to return - * when an interrupt becomes pending. - */ -__attribute__((weak)) -void sys_wait_for_interrupt(void) { - -#if ENABLE_WFI_IDLE != 0 - AT91C_BASE_SYS->PMC_SCDR = AT91C_PMC_PCK; -#endif -} - -/** - * Halts the system. This function is invoked by the operating system when an - * unrecoverable error is detected (as example because a programming error in - * the application code that triggers an assertion while in debug mode). - */ -__attribute__((weak)) -void sys_halt(void) { - - sys_disable_all(); - while (TRUE) { - } -} - -/** @} */ diff --git a/ports/ARM7-AT91SAM7X/wfi.h b/ports/ARM7-AT91SAM7X/wfi.h new file mode 100644 index 000000000..5e2da044d --- /dev/null +++ b/ports/ARM7-AT91SAM7X/wfi.h @@ -0,0 +1,35 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS/RT is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef _WFI_H_ +#define _WFI_H_ + +#include "at91lib/AT91SAM7X256.h" + +#ifndef port_wait_for_interrupt +#if ENABLE_WFI_IDLE != 0 +#define port_wait_for_interrupt() { \ + AT91C_BASE_SYS->PMC_SCDR = AT91C_PMC_PCK; \ +} +#else +#define port_wait_for_interrupt() +#endif +#endif + +#endif /* _WFI_H_ */ diff --git a/ports/ARM7-LPC214x/wfi.h b/ports/ARM7-LPC214x/wfi.h new file mode 100644 index 000000000..bd3b5e7cd --- /dev/null +++ b/ports/ARM7-LPC214x/wfi.h @@ -0,0 +1,35 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS/RT is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef _WFI_H_ +#define _WFI_H_ + +#include "lpc214x.h" + +#ifndef port_wait_for_interrupt +#if ENABLE_WFI_IDLE != 0 +#define port_wait_for_interrupt() { \ + PCON = 1; \ +} +#else +#define port_wait_for_interrupt() +#endif +#endif + +#endif /* _WFI_H_ */ -- cgit v1.2.3