From: richardbarry Date: Fri, 28 Nov 2008 15:37:37 +0000 (+0000) Subject: New demo being added - work in progress. X-Git-Tag: V5.1.2~111 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=a30176c993f165ee6cb8e51dd333950431d3ab52;p=freertos New demo being added - work in progress. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@585 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- diff --git a/Demo/ARM9_AT91SAM9XE_IAR/FreeRTOSConfig.h b/Demo/ARM9_AT91SAM9XE_IAR/FreeRTOSConfig.h new file mode 100644 index 000000000..d6a191e58 --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/FreeRTOSConfig.h @@ -0,0 +1,104 @@ +/* + FreeRTOS.org V5.1.1 - 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 FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/*----------------------------------------------------------- + * Application specific definitions. + * + * These definitions should be adjusted for your particular hardware and + * application requirements. + * + * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE + * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. + * + * See http://www.freertos.org/a00110.html. + *----------------------------------------------------------*/ + +#define configUSE_PREEMPTION 1 +#define configUSE_IDLE_HOOK 0 +#define configUSE_TICK_HOOK 0 +#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 64000000 ) +#define configTICK_RATE_HZ ( ( portTickType ) 100 ) +#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 190 ) +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 40000 ) ) +#define configMAX_TASK_NAME_LEN ( 12 ) +#define configUSE_TRACE_FACILITY 1 +#define configUSE_16_BIT_TICKS 0 +#define configIDLE_SHOULD_YIELD 0 +#define configUSE_CO_ROUTINES 0 +#define configUSE_MUTEXES 1 +#define configCHECK_FOR_STACK_OVERFLOW 0 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configQUEUE_REGISTRY_SIZE 10 +#define configUSE_COUNTING_SEMAPHORES 1 + +#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 6 ) +#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) + +/* Set the following definitions to 1 to include the API function, or zero +to exclude the API function. */ + +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_vTaskCleanUpResources 0 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 + +#define configYIELD_INTERRUPT_VECTOR 16UL +#define configKERNEL_INTERRUPT_PRIORITY 1 +#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4 + +void vApplicationSetupInterrupts( void ); + +#endif /* FREERTOS_CONFIG_H */ diff --git a/Demo/ARM9_AT91SAM9XE_IAR/ParTest/ParTest.c b/Demo/ARM9_AT91SAM9XE_IAR/ParTest/ParTest.c new file mode 100644 index 000000000..8a5c6d6c1 --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/ParTest/ParTest.c @@ -0,0 +1,75 @@ +/* + FreeRTOS.org V5.1.1 - 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. +*/ + +#include "FreeRTOS.h" +#include "partest.h" + +/*----------------------------------------------------------- + * Simple parallel port IO routines for the LED's. + *-----------------------------------------------------------*/ + +void vParTestInitialise( void ) +{ + LED_Configure( 0 ); + LED_Configure( 1 ); +} +/*-----------------------------------------------------------*/ + +void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue ) +{ +} +/*-----------------------------------------------------------*/ + +void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) +{ + LED_Toggle(1); +} + + + diff --git a/Demo/ARM9_AT91SAM9XE_IAR/RTOSDemo.eww b/Demo/ARM9_AT91SAM9XE_IAR/RTOSDemo.eww new file mode 100644 index 000000000..b2961ba7d --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/RTOSDemo.eww @@ -0,0 +1,47 @@ + + + + $WS_DIR$\ewp\at91sam9xe-ek.ewp + + + + All> + + at91sam9xe-ek + at91sam9xe128_flash + + + at91sam9xe-ek + at91sam9xe128_sdram + + + at91sam9xe-ek + at91sam9xe128_sram + + + at91sam9xe-ek + at91sam9xe256_flash + + + at91sam9xe-ek + at91sam9xe256_sdram + + + at91sam9xe-ek + at91sam9xe256_sram + + + at91sam9xe-ek + at91sam9xe512_flash + + + at91sam9xe-ek + at91sam9xe512_sdram + + + at91sam9xe-ek + at91sam9xe512_sram + + + + diff --git a/Demo/ARM9_AT91SAM9XE_IAR/ewp/at91sam9xe-ek.ewd b/Demo/ARM9_AT91SAM9XE_IAR/ewp/at91sam9xe-ek.ewd new file mode 100644 index 000000000..5fde1283a --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/ewp/at91sam9xe-ek.ewd @@ -0,0 +1,5441 @@ + + + + 1 + + at91sam9xe128_flash + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + + at91sam9xe128_sdram + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + + at91sam9xe128_sram + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + + at91sam9xe256_flash + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + + at91sam9xe256_sdram + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + + at91sam9xe256_sram + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + + at91sam9xe512_flash + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + + at91sam9xe512_sdram + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + + at91sam9xe512_sram + + ARM + + 1 + + C-SPY + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + JLINK_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + + diff --git a/Demo/ARM9_AT91SAM9XE_IAR/ewp/at91sam9xe-ek.ewp b/Demo/ARM9_AT91SAM9XE_IAR/ewp/at91sam9xe-ek.ewp new file mode 100644 index 000000000..761470133 --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/ewp/at91sam9xe-ek.ewp @@ -0,0 +1,7230 @@ + + + + 2 + + at91sam9xe128_flash + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91sam9xe128_sdram + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91sam9xe128_sram + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91sam9xe256_flash + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91sam9xe256_sdram + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91sam9xe256_sram + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91sam9xe512_flash + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91sam9xe512_sdram + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91sam9xe512_sram + + ARM + + 1 + + General + 3 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + at91lib + + boards + + at91sam9xe-ek + + at91sam9xe128 + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe128\AT91SAM9XE128.h + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe128\flash.icf + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe128\sdram.icf + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe128\sram.icf + + + + at91sam9xe256 + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe256\AT91SAM9XE256.h + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe256\flash.icf + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe256\sdram.icf + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe256\sram.icf + + + + at91sam9xe512 + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe512\AT91SAM9XE512.h + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe512\flash.icf + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe512\sdram.icf + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\at91sam9xe512\sram.icf + + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\board.h + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\board_cstartup_iar.s + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\board_lowlevel.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\board_memories.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\board_memories.h + + + + + peripherals + + aic + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\aic\aic.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\aic\aic.h + + + + dbgu + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\dbgu\dbgu.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\dbgu\dbgu.h + + + + pio + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\pio\pio.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\pio\pio.h + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\pio\pio_it.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\pio\pio_it.h + + + + pit + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\pit\pit.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\pit\pit.h + + + + tc + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\tc\tc.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\peripherals\tc\tc.h + + + + + utility + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\utility\assert.h + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\utility\led.c + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\utility\led.h + + + $PROJ_DIR$\..\..\Common\drivers\Atmel\at91lib\utility\trace.h + + + + + resources + + $PROJ_DIR$\..\..\..\resources\at91sam9xe-ek-flash.mac + + + $PROJ_DIR$\..\..\..\resources\at91sam9xe-ek-sdram.mac + + + $PROJ_DIR$\..\..\..\resources\at91sam9xe-ek-sram.mac + + + + scheduler_source + + $PROJ_DIR$\..\..\..\Source\portable\MemMang\heap_3.c + + + $PROJ_DIR$\..\..\..\Source\list.c + + + $PROJ_DIR$\..\..\..\Source\portable\IAR\AtmelSAM9XE\port.c + + + $PROJ_DIR$\..\..\..\Source\portable\IAR\AtmelSAM9XE\portasm.s79 + + + $PROJ_DIR$\..\..\..\Source\queue.c + + + $PROJ_DIR$\..\..\..\Source\tasks.c + + + + standard_demo_source + + $PROJ_DIR$\..\..\Common\Minimal\BlockQ.c + + + $PROJ_DIR$\..\..\Common\Minimal\blocktim.c + + + $PROJ_DIR$\..\..\Common\Minimal\countsem.c + + + $PROJ_DIR$\..\..\Common\Minimal\death.c + + + $PROJ_DIR$\..\..\Common\Minimal\dynamic.c + + + $PROJ_DIR$\..\..\Common\Minimal\flash.c + + + $PROJ_DIR$\..\..\Common\Minimal\GenQTest.c + + + $PROJ_DIR$\..\..\Common\Minimal\integer.c + + + $PROJ_DIR$\..\..\Common\Minimal\PollQ.c + + + $PROJ_DIR$\..\..\Common\Minimal\QPeek.c + + + $PROJ_DIR$\..\..\Common\Minimal\recmutex.c + + + $PROJ_DIR$\..\..\Common\Minimal\semtest.c + + + + $PROJ_DIR$\..\main.c + + + $PROJ_DIR$\..\ParTest\ParTest.c + + + + diff --git a/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.cspy.bat b/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.cspy.bat new file mode 100644 index 000000000..7069dbf22 --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.cspy.bat @@ -0,0 +1,32 @@ +@REM This bat file has been generated by the IAR Embeddded Workbench +@REM C-SPY interactive debugger,as an aid to preparing a command +@REM line for running the cspybat command line utility with the +@REM appropriate settings. +@REM +@REM After making some adjustments to this file, you can launch cspybat +@REM by typing the name of this file followed by the name of the debug +@REM file (usually an ubrof file). Note that this file is generated +@REM every time a new debug session is initialized, so you may want to +@REM move or rename the file before making changes. +@REM +@REM Note: some command line arguments cannot be properly generated +@REM by this process. Specifically, the plugin which is responsible +@REM for the Terminal I/O window (and other C runtime functionality) +@REM comes in a special version for cspybat, and the name of that +@REM plugin dll is not known when generating this file. It resides in +@REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or +@REM XXXlibsupportbat.dll, where XXX is the name of the corresponding +@REM tool chain. Replace the '' parameter +@REM below with the appropriate file name. Other plugins loaded by +@REM C-SPY are usually not needed by, or will not work in, cspybat +@REM but they are listed at the end of this file for reference. + + +"C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\bin\cspybat" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\armproc.dll" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\armjlink.dll" %1 --plugin "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\" --macro "C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\ARM9_AT91SAM9XE_IAR\ewp\..\..\..\resources\at91sam9xe-ek-flash.mac" --backend -B "--endian=little" "--cpu=ARM926EJ-S" "--fpu=None" "-p" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\CONFIG\debugger\Atmel\ioAT91SAM9XE256.ddf" "--semihosting" "--device=AT91SAM9XE256" "-d" "jlink" "--drv_communication=USB0" "--jlink_speed=adaptive" "--drv_catch_exceptions=0x000" + + +@REM Loaded plugins: +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\armlibsupport.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\CodeCoverage\CodeCoverage.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\stack\stack.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\SymList\SymList.dll diff --git a/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.dbgdt b/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.dbgdt new file mode 100644 index 000000000..33f4649c2 --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.dbgdt @@ -0,0 +1,5 @@ + + + + + diff --git a/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.dni b/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.dni new file mode 100644 index 000000000..eead5182b --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/ewp/settings/at91sam9xe-ek.dni @@ -0,0 +1,11 @@ +[JLinkDriver] +WatchCond=_ 0 +Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 +Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 +[Disassemble mode] +mode=0 +[Breakpoints] +Count=0 +[TraceHelper] +Enabled=0 +ShowSource=1 diff --git a/Demo/ARM9_AT91SAM9XE_IAR/main.c b/Demo/ARM9_AT91SAM9XE_IAR/main.c new file mode 100644 index 000000000..5deb34fce --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/main.c @@ -0,0 +1,199 @@ +/* + FreeRTOS.org V5.1.1 - 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. +*/ + +/* FreeRTOS includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Standard demo includes. */ +#include "BlockQ.h" +#include "blocktim.h" +#include "countsem.h" +#include "death.h" +#include "dynamic.h" +#include "flash.h" +#include "GenQTest.h" +#include "integer.h" +#include "PollQ.h" +#include "QPeek.h" +#include "recmutex.h" +#include "semtest.h" +#include "ParTest.h" + +/* Standard includes. */ +#include + +/* Priorities for the demo application tasks. */ +#define mainLED_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) +#define mainCOM_TEST_PRIORITY ( tskIDLE_PRIORITY + 2 ) +#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 0 ) +#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 4 ) +#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 0 ) +#define mainBLOCK_Q_PRIORITY ( tskIDLE_PRIORITY + 2 ) +#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) +#define mainGENERIC_QUEUE_PRIORITY ( tskIDLE_PRIORITY ) + +/* The period of the check task both in and out of the presense of an error. */ +#define mainNO_ERROR_PERIOD ( 5000 / portTICK_RATE_MS ) +#define mainERROR_PERIOD ( 500 / portTICK_RATE_MS ); +/*-----------------------------------------------------------*/ + +/* Simple hardware setup required by the demo. */ +static void prvSetupHardware( void ); + +/* The check task as described at the top of this file. */ +static void prvCheckTask( void *pvParameters ); + +/*-----------------------------------------------------------*/ +int main() +{ + prvSetupHardware(); + + /* Start the standard demo tasks. */ + vStartIntegerMathTasks( tskIDLE_PRIORITY ); + vStartLEDFlashTasks( mainLED_TASK_PRIORITY ); + vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY ); + vStartSemaphoreTasks( mainSEM_TEST_PRIORITY ); + vStartDynamicPriorityTasks(); + vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY ); + vCreateBlockTimeTasks(); + vStartCountingSemaphoreTasks(); + vStartGenericQueueTasks( tskIDLE_PRIORITY ); + vStartQueuePeekTasks(); + vStartRecursiveMutexTasks(); + + /* The death demo tasks must be started last as the sanity checks performed + require knowledge of the number of other tasks in the system. */ + vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY ); + + /* Start the scheduler. From this point on the execution will be under + the control of the kernel. */ + vTaskStartScheduler(); + + /* Will only get here if there was insufficient heap availale for the + idle task to be created. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvCheckTask( void * pvParameters ) +{ +portTickType xNextWakeTime, xPeriod = mainNO_ERROR_PERIOD; +static volatile ulErrorCode = 0UL; + + /* Initialise xNextWakeTime prior to its first use. From this point on + the value of the variable is handled automatically by the kernel. */ + xNextWakeTime = xTaskGetTickCount(); + + for( ;; ) + { + vTaskDelayUntil( &xNextWakeTime, xPeriod ); + + if( xAreBlockingQueuesStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x01UL; + } + + if( xAreBlockTimeTestTasksStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x02UL; + } + + if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x04UL; + } + + if( xIsCreateTaskStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x08UL; + } + + if( xAreDynamicPriorityTasksStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x10UL; + } + + if( xAreGenericQueueTasksStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x20UL; + } + + if( xAreIntegerMathsTaskStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x40UL; + } + + if( xArePollingQueuesStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x80UL; + } + + if( xAreQueuePeekTasksStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x100UL; + } + + if( xAreRecursiveMutexTasksStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x200UL; + } + + if( xAreSemaphoreTasksStillRunning() != pdTRUE ) + { + ulErrorCode |= 0x400UL; + } + } +} +/*-----------------------------------------------------------*/ + +static void prvSetupHardware( void ) +{ + vParTestInitialise(); +} diff --git a/Demo/ARM9_AT91SAM9XE_IAR/settings/rtosdemo.wsdt b/Demo/ARM9_AT91SAM9XE_IAR/settings/rtosdemo.wsdt new file mode 100644 index 000000000..8f51fc618 --- /dev/null +++ b/Demo/ARM9_AT91SAM9XE_IAR/settings/rtosdemo.wsdt @@ -0,0 +1,66 @@ + + + + + + at91sam9xe-ek/at91sam9xe256_flash + + + + + + + + + 330272727 + + + + + + + 20121632481 + + + + + + + + TabID-26777-6465 + Workspace + Workspace + + + at91sam9xe-ekat91sam9xe-ek/scheduler_sourceat91sam9xe-ek/standard_demo_sourceat91sam9xe-ek/standard_demo_source/countsem.c + + + + 0 + + + TabID-25209-6494 + Build + Build + + + + + 0 + + + + + + TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\AtmelSAM9XE\port.c022084088408TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\AtmelSAM9XE\portasm.s79012731750TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Source\tasks.c05221961819632TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\AtmelSAM9XE\portmacro.h08538683868TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\ARM9_AT91SAM9XE_IAR\main.c016061286128TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\flash.c06334063469TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Source\include\task.h03223542354TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\drivers\Atmel\at91lib\peripherals\pit\pit.c02623072307TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\board.h08945014501TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\ARM9_AT91SAM9XE_IAR\ParTest\ParTest.c03629222922TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\drivers\Atmel\at91lib\boards\at91sam9xe-ek\board_cstartup_iar.s010246074607TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\blocktim.c04411522115255TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\countsem.c014862566256TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\death.c020779357960TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\GenQTest.c05311744717480TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\QPeek.c04051483014860TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\recmutex.c03131162511660TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\BlockQ.c02551191911949TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\dynamic.c03861481814854TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\integer.c017169937025TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\PollQ.c020582518280TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\semtest.c02431068910719TextEditorC:\E\Dev\FreeRTOS\WorkingCopy3\Demo\ARM9_AT91SAM9XE_IAR\FreeRTOSConfig.h06135543554220100000010000001 + + + + + + + iaridepm.enu1-2-2740404-2-2200200119048203666241667755601-2-21981682-2-216842001002381203666119048203666 + + + +