From d2cd5b361ce35b39fd1fd5b22a524ea11f49ff3f Mon Sep 17 00:00:00 2001 From: RichardBarry Date: Thu, 5 Feb 2009 10:40:24 +0000 Subject: [PATCH] Continue 78K0R development. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@675 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- Demo/NEC_78K0R_IAR/FreeRTOSConfig.h | 10 ++-- Demo/NEC_78K0R_IAR/int78K0R.h | 58 ++++++++++++++++++++++ Demo/NEC_78K0R_IAR/main.c | 27 ++-------- Demo/NEC_78K0R_IAR/rtosdemo.ewp | 8 +-- Demo/NEC_78K0R_IAR/settings/rtosdemo.dbgdt | 14 +++--- Demo/NEC_78K0R_IAR/settings/rtosdemo.dni | 3 +- Demo/NEC_78K0R_IAR/settings/rtosdemo.wsdt | 6 +-- 7 files changed, 84 insertions(+), 42 deletions(-) create mode 100644 Demo/NEC_78K0R_IAR/int78K0R.h diff --git a/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h b/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h index 7c4f72f78..64b8bea99 100644 --- a/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h +++ b/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h @@ -63,14 +63,14 @@ #endif /* __IAR_SYSTEMS_ICC__ */ /* - * 78K0R/Kx3 Clock Source Configuration + * 78K0R Clock Source Configuration * 1 = use internal High Speed Clock Source (typically 8Mhz on the 78K0R/Kx3) * 0 = use external Clock Source */ #define configCLOCK_SOURCE 0 /* - * 78K0R/Kx3 Memory Model + * 78K0R Memory Model * 1 = use far memory mode * 0 = use near memory mode * @@ -97,13 +97,13 @@ #define configUSE_TICK_HOOK 0 #define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) - #define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 75 ) - #define configTOTAL_HEAP_SIZE ( (size_t ) ( 6000 ) ) + #define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 ) + #define configTOTAL_HEAP_SIZE ( (size_t ) ( 7000 ) ) #define configMAX_TASK_NAME_LEN ( 10 ) #define configUSE_TRACE_FACILITY 0 #define configUSE_16_BIT_TICKS 1 #define configIDLE_SHOULD_YIELD 1 - #define configCHECK_FOR_STACK_OVERFLOW 0 + #define configCHECK_FOR_STACK_OVERFLOW 2 #define configUSE_MUTEXES 1 /* Co-routine definitions. */ diff --git a/Demo/NEC_78K0R_IAR/int78K0R.h b/Demo/NEC_78K0R_IAR/int78K0R.h new file mode 100644 index 000000000..2bd33182e --- /dev/null +++ b/Demo/NEC_78K0R_IAR/int78K0R.h @@ -0,0 +1,58 @@ +/* + FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry. + + This file is part of the FreeRTOS.org distribution. + + FreeRTOS.org 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 2 of the License, or + (at your option) any later version. + + FreeRTOS.org 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 FreeRTOS.org; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + A special exception to the GPL can be applied should you wish to distribute + a combined work that includes FreeRTOS.org, without being obliged to provide + the source code for any proprietary components. See the licensing section + of http://www.FreeRTOS.org for full details of how and when the exception + can be applied. + + *************************************************************************** + *************************************************************************** + * * + * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, * + * and even write all or part of your application on your behalf. * + * See http://www.OpenRTOS.com for details of the services we provide to * + * expedite your project. * + * * + *************************************************************************** + *************************************************************************** + + Please ensure to read the configuration and relevant port sections of the + online documentation. + + http://www.FreeRTOS.org - Documentation, latest information, license and + contact details. + + http://www.SafeRTOS.com - A version that is certified for use in safety + critical systems. + + http://www.OpenRTOS.com - Commercial support, development, porting, + licensing and training services. +*/ + +#ifndef INTEGER_TASKS_H +#define INTEGER_TASKS_H + +void vStartIntegerMathTasks( unsigned portBASE_TYPE uxPriority ); +portBASE_TYPE xAreIntegerMathsTaskStillRunning( void ); + +#endif + + diff --git a/Demo/NEC_78K0R_IAR/main.c b/Demo/NEC_78K0R_IAR/main.c index 4c3342e87..45b666fcb 100644 --- a/Demo/NEC_78K0R_IAR/main.c +++ b/Demo/NEC_78K0R_IAR/main.c @@ -302,32 +302,15 @@ unsigned portCHAR resetflag = RESF; } /*-----------------------------------------------------------*/ -static void prvLEDInit(void) +void vRegTestError( void ) { -/* LED Port Initialization */ - /* set Port Register */ - P7 = 0x80; - /* set Port Mode Register */ - PM7 = 0x3F; - -/* Switch Pin Initialization */ - /* enable pull-up resistor */ - PU12_bit.no0 = 1; - /* INTP0 disable */ - PMK0 = 1; - /* INTP0 IF clear */ - PIF0 = 0; - EGN0_bit.no0 = 1; - /* INTP0 priority low */ - PPR10 = 0; - PPR00 = 1; - /* enable ext. INTP0 interrupt */ - PMK0 = 0; + sRegTestStatus = pdFAIL; + for( ;; ); } /*-----------------------------------------------------------*/ -void vRegTestError( void ) +void vApplicationStackOverflowHook( void ) { - sRegTestStatus = pdFAIL; for( ;; ); } + diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.ewp b/Demo/NEC_78K0R_IAR/rtosdemo.ewp index 09d372ec5..fff9da6f9 100644 --- a/Demo/NEC_78K0R_IAR/rtosdemo.ewp +++ b/Demo/NEC_78K0R_IAR/rtosdemo.ewp @@ -71,7 +71,7 @@