Remove unnecessary use of portLONG, portCHAR and portSHORT.

Change version number in headers.
This commit is contained in:
Richard Barry 2009-10-05 10:08:35 +00:00
parent 506dd1b7c8
commit 7f0c4ef656
123 changed files with 4610 additions and 4496 deletions

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -70,10 +71,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 66000000 ) /* = 66.000MHz clk gen */ #define configCPU_CLOCK_HZ ( ( unsigned long ) 66000000 ) /* = 66.000MHz clk gen */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 128 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 25 * 1024 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 25 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
#/* #/*
# FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. # FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
# #
# This file is part of the FreeRTOS distribution. # This file is part of the FreeRTOS distribution.
# #
# FreeRTOS is free software; you can redistribute it and/or modify it under # FreeRTOS is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License (version 2) as published by the # the terms of the GNU General Public License (version 2) as published by the
# Free Software Foundation and modified by the FreeRTOS exception. # Free Software Foundation and modified by the FreeRTOS exception.
# **NOTE** The exception to the GPL is included to allow you to distribute a # **NOTE** The exception to the GPL is included to allow you to distribute a
# combined work that includes FreeRTOS without being obliged to provide the # combined work that includes FreeRTOS without being obliged to provide the
# source code for proprietary components outside of the FreeRTOS kernel. # source code for proprietary components outside of the FreeRTOS kernel.
# Alternative commercial license and support terms are also available upon # Alternative commercial license and support terms are also available upon
# request. See the licensing section of http://www.FreeRTOS.org for full # request. See the licensing section of http://www.FreeRTOS.org for full
# license details. # license details.
# #
# FreeRTOS is distributed in the hope that it will be useful, but WITHOUT # FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details. # more details.
# #
# You should have received a copy of the GNU General Public License along # You should have received a copy of the GNU General Public License along
# with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 # with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
# Temple Place, Suite 330, Boston, MA 02111-1307 USA. # Temple Place, Suite 330, Boston, MA 02111-1307 USA.
# #
# #
# *************************************************************************** # ***************************************************************************
# * * # * *
# * Looking for a quick start? Then check out the FreeRTOS eBook! * # * The FreeRTOS eBook and reference manual are available to purchase for a *
# * See http://www.FreeRTOS.org/Documentation for details * # * small fee. Help yourself get started quickly while also helping the *
# * * # * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
# *************************************************************************** # * *
# ***************************************************************************
# #
# 1 tab == 4 spaces! # 1 tab == 4 spaces!
# #
# Please ensure to read the configuration and relevant port sections of the # Please ensure to read the configuration and relevant port sections of the
# online documentation. # online documentation.
# #
# http://www.FreeRTOS.org - Documentation, latest information, license and # http://www.FreeRTOS.org - Documentation, latest information, license and
# contact details. # contact details.
# #
# http://www.SafeRTOS.com - A version that is certified for use in safety # http://www.SafeRTOS.com - A version that is certified for use in safety
# critical systems. # critical systems.
# #
# http://www.OpenRTOS.com - Commercial support, development, porting, # http://www.OpenRTOS.com - Commercial support, development, porting,
# licensing and training services. # licensing and training services.
#*/ #*/
CC=arm-elf-gcc CC=arm-elf-gcc

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Scheduler includes. */ /* Scheduler includes. */
@ -58,9 +59,9 @@
#include "aic.h" #include "aic.h"
#define partstNUM_LEDS ( 8 ) #define partstNUM_LEDS ( 8 )
#define partstALL_OUTPUTS_OFF ( ( unsigned portLONG ) ~(0xFFFFFFFF << partstNUM_LEDS) ) #define partstALL_OUTPUTS_OFF ( ( unsigned long ) ~(0xFFFFFFFF << partstNUM_LEDS) )
static unsigned portLONG ulLEDReg; static unsigned long ulLEDReg;
/*----------------------------------------------------------- /*-----------------------------------------------------------
* Simple parallel port IO routines. * Simple parallel port IO routines.
@ -68,7 +69,7 @@ static unsigned portLONG ulLEDReg;
static void SetLeds (unsigned int leds) static void SetLeds (unsigned int leds)
{ {
unsigned portLONG ulPIOSetReg, ulPIOClearReg; unsigned long ulPIOSetReg, ulPIOClearReg;
/* LEDs are grouped in different port bits: P3-P6 and P16-P19. /* LEDs are grouped in different port bits: P3-P6 and P16-P19.
A port bit set to '0' turns an LED on, '1' turns it off. */ A port bit set to '0' turns an LED on, '1' turns it off. */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -105,7 +106,7 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Constants for the ComTest tasks. */ /* Constants for the ComTest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
#define mainCOM_TEST_LED ( 5 ) #define mainCOM_TEST_LED ( 5 )
/* Priorities for the demo application tasks. */ /* Priorities for the demo application tasks. */
@ -120,10 +121,10 @@
error. */ error. */
#define mainNO_ERROR_FLASH_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS ) #define mainNO_ERROR_FLASH_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS )
#define mainERROR_FLASH_PERIOD ( ( portTickType ) 500 / portTICK_RATE_MS ) #define mainERROR_FLASH_PERIOD ( ( portTickType ) 500 / portTICK_RATE_MS )
#define mainON_BOARD_LED_BIT ( ( unsigned portLONG ) 7 ) #define mainON_BOARD_LED_BIT ( ( unsigned long ) 7 )
/* Constants used by the vMemCheckTask() task. */ /* Constants used by the vMemCheckTask() task. */
#define mainCOUNT_INITIAL_VALUE ( ( unsigned portLONG ) 0 ) #define mainCOUNT_INITIAL_VALUE ( ( unsigned long ) 0 )
#define mainNO_TASK ( 0 ) #define mainNO_TASK ( 0 )
/* The size of the memory blocks allocated by the vMemCheckTask() task. */ /* The size of the memory blocks allocated by the vMemCheckTask() task. */
@ -132,7 +133,7 @@ error. */
#define mainMEM_CHECK_SIZE_3 ( ( size_t ) 151 ) #define mainMEM_CHECK_SIZE_3 ( ( size_t ) 151 )
#define MAX_WAIT_STATES 8 #define MAX_WAIT_STATES 8
static const unsigned portLONG ululCSRWaitValues[ MAX_WAIT_STATES + 1 ] = static const unsigned long ululCSRWaitValues[ MAX_WAIT_STATES + 1 ] =
{ {
WaitState1,/* There is no "zero wait state" value, so use one wait state */ WaitState1,/* There is no "zero wait state" value, so use one wait state */
WaitState1, WaitState1,
@ -150,7 +151,7 @@ static const unsigned portLONG ululCSRWaitValues[ MAX_WAIT_STATES + 1 ] =
* Checks that all the demo application tasks are still executing without error * Checks that all the demo application tasks are still executing without error
* - as described at the top of the file. * - as described at the top of the file.
*/ */
static portLONG prvCheckOtherTasksAreStillRunning( unsigned portLONG ulMemCheckTaskCount ); static long prvCheckOtherTasksAreStillRunning( unsigned long ulMemCheckTaskCount );
/* /*
* The task that executes at the highest priority and calls * The task that executes at the highest priority and calls
@ -193,7 +194,7 @@ int main( void )
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY ); vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
/* Start the check task - which is defined in this file. */ /* Start the check task - which is defined in this file. */
xTaskCreate( vErrorChecks, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); xTaskCreate( vErrorChecks, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
/* Now all the tasks have been started - start the scheduler. /* Now all the tasks have been started - start the scheduler.
@ -212,7 +213,7 @@ int main( void )
static void vErrorChecks( void *pvParameters ) static void vErrorChecks( void *pvParameters )
{ {
portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD; portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;
unsigned portLONG ulMemCheckTaskRunningCount; unsigned long ulMemCheckTaskRunningCount;
xTaskHandle xCreatedTask; xTaskHandle xCreatedTask;
/* Just to stop compiler warnings. */ /* Just to stop compiler warnings. */
@ -238,7 +239,7 @@ xTaskHandle xCreatedTask;
/* Dynamically create a task - passing ulMemCheckTaskRunningCount as a /* Dynamically create a task - passing ulMemCheckTaskRunningCount as a
parameter. */ parameter. */
ulMemCheckTaskRunningCount = mainCOUNT_INITIAL_VALUE; ulMemCheckTaskRunningCount = mainCOUNT_INITIAL_VALUE;
if( xTaskCreate( vMemCheckTask, ( signed portCHAR * ) "MEM_CHECK", configMINIMAL_STACK_SIZE, ( void * ) &ulMemCheckTaskRunningCount, tskIDLE_PRIORITY, &xCreatedTask ) != pdPASS ) if( xTaskCreate( vMemCheckTask, ( signed char * ) "MEM_CHECK", configMINIMAL_STACK_SIZE, ( void * ) &ulMemCheckTaskRunningCount, tskIDLE_PRIORITY, &xCreatedTask ) != pdPASS )
{ {
/* Could not create the task - we have probably run out of heap. */ /* Could not create the task - we have probably run out of heap. */
xDelayPeriod = mainERROR_FLASH_PERIOD; xDelayPeriod = mainERROR_FLASH_PERIOD;
@ -271,13 +272,13 @@ xTaskHandle xCreatedTask;
static void prvSetupHardware( void ) static void prvSetupHardware( void )
{ {
portLONG lCount; long lCount;
#ifdef RUN_FROM_ROM #ifdef RUN_FROM_ROM
{ {
portFLOAT nsecsPerClockTick; portFLOAT nsecsPerClockTick;
portLONG lNumWaitStates; long lNumWaitStates;
unsigned portLONG ulCSRWaitValue; unsigned long ulCSRWaitValue;
/* We are compiling to run from ROM (either on-chip or off-chip flash). /* We are compiling to run from ROM (either on-chip or off-chip flash).
Leave the RAM/flash mapped the way they are on reset Leave the RAM/flash mapped the way they are on reset
@ -289,7 +290,7 @@ portLONG lCount;
based on constants. But the compiler should still produce based on constants. But the compiler should still produce
a correct wait state register value. */ a correct wait state register value. */
nsecsPerClockTick = ( portFLOAT ) 1000000000 / configCPU_CLOCK_HZ; nsecsPerClockTick = ( portFLOAT ) 1000000000 / configCPU_CLOCK_HZ;
lNumWaitStates = ( portLONG )( ( configFLASH_SPEED_NSEC / nsecsPerClockTick ) + 0.5 ) - 1; lNumWaitStates = ( long )( ( configFLASH_SPEED_NSEC / nsecsPerClockTick ) + 0.5 ) - 1;
if( lNumWaitStates < 0 ) if( lNumWaitStates < 0 )
{ {
@ -346,9 +347,9 @@ portLONG lCount;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static portLONG prvCheckOtherTasksAreStillRunning( unsigned portLONG ulMemCheckTaskCount ) static long prvCheckOtherTasksAreStillRunning( unsigned long ulMemCheckTaskCount )
{ {
portLONG lReturn = ( portLONG ) pdPASS; long lReturn = ( long ) pdPASS;
/* Check all the demo tasks (other than the flash tasks) to ensure /* Check all the demo tasks (other than the flash tasks) to ensure
that they are all still running, and that none of them have detected that they are all still running, and that none of them have detected
@ -356,44 +357,44 @@ portLONG lReturn = ( portLONG ) pdPASS;
if( xAreIntegerMathsTaskStillRunning() != pdTRUE ) if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreComTestTasksStillRunning() != pdTRUE ) if( xAreComTestTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xArePollingQueuesStillRunning() != pdTRUE ) if( xArePollingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreMathsTaskStillRunning() != pdTRUE ) if( xAreMathsTaskStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreSemaphoreTasksStillRunning() != pdTRUE ) if( xAreSemaphoreTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE ) if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreBlockingQueuesStillRunning() != pdTRUE ) if( xAreBlockingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( ulMemCheckTaskCount == mainCOUNT_INITIAL_VALUE ) if( ulMemCheckTaskCount == mainCOUNT_INITIAL_VALUE )
{ {
/* The vMemCheckTask did not increment the counter - it must /* The vMemCheckTask did not increment the counter - it must
have failed. */ have failed. */
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
return lReturn; return lReturn;
@ -402,9 +403,9 @@ portLONG lReturn = ( portLONG ) pdPASS;
static void vMemCheckTask( void *pvParameters ) static void vMemCheckTask( void *pvParameters )
{ {
unsigned portLONG *pulMemCheckTaskRunningCounter; unsigned long *pulMemCheckTaskRunningCounter;
void *pvMem1, *pvMem2, *pvMem3; void *pvMem1, *pvMem2, *pvMem3;
static portLONG lErrorOccurred = pdFALSE; static long lErrorOccurred = pdFALSE;
/* This task is dynamically created then deleted during each cycle of the /* This task is dynamically created then deleted during each cycle of the
vErrorChecks task to check the operation of the memory allocator. Each time vErrorChecks task to check the operation of the memory allocator. Each time
@ -417,7 +418,7 @@ static portLONG lErrorOccurred = pdFALSE;
pulMemCheckTaskRunningCounter is incremented each cycle to indicate to the pulMemCheckTaskRunningCounter is incremented each cycle to indicate to the
vErrorChecks() task that this task is still executing without error. */ vErrorChecks() task that this task is still executing without error. */
pulMemCheckTaskRunningCounter = ( unsigned portLONG * ) pvParameters; pulMemCheckTaskRunningCounter = ( unsigned long * ) pvParameters;
for( ;; ) for( ;; )
{ {

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -71,7 +72,7 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Constants to setup and access the UART. */ /* Constants to setup and access the UART. */
#define portUSART0_AIC_CHANNEL ( ( unsigned portLONG ) 2 ) #define portUSART0_AIC_CHANNEL ( ( unsigned long ) 2 )
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 ) #define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
#define serHANDLE ( ( xComPortHandle ) 1 ) #define serHANDLE ( ( xComPortHandle ) 1 )
@ -94,10 +95,10 @@ extern void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueu
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
unsigned portLONG ulSpeed; unsigned long ulSpeed;
unsigned portLONG ulCD; unsigned long ulCD;
xComPortHandle xReturn = serHANDLE; xComPortHandle xReturn = serHANDLE;
extern void ( vUART_ISR_Wrapper )( void ); extern void ( vUART_ISR_Wrapper )( void );
@ -108,7 +109,7 @@ extern void ( vUART_ISR_Wrapper )( void );
if( if(
( xRxedChars != serINVALID_QUEUE ) && ( xRxedChars != serINVALID_QUEUE ) &&
( xCharsForTx != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) &&
( ulWantedBaud != ( unsigned portLONG ) 0 ) ( ulWantedBaud != ( unsigned long ) 0 )
) )
{ {
portENTER_CRITICAL(); portENTER_CRITICAL();
@ -179,7 +180,7 @@ extern void ( vUART_ISR_Wrapper )( void );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports UART0. */ /* The port handle is not required as this driver only supports UART0. */
( void ) pxPort; ( void ) pxPort;
@ -197,9 +198,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* NOTE: This implementation does not handle the queue being full as no /* NOTE: This implementation does not handle the queue being full as no
block time is used! */ block time is used! */
@ -209,7 +210,7 @@ signed portCHAR *pxNext;
( void ) usStringLength; ( void ) usStringLength;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -218,7 +219,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
( void ) pxPort; ( void ) pxPort;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -71,14 +72,14 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Constant to access the AIC. */ /* Constant to access the AIC. */
#define serCLEAR_AIC_INTERRUPT ( ( unsigned portLONG ) 0 ) #define serCLEAR_AIC_INTERRUPT ( ( unsigned long ) 0 )
/* Constants to determine the ISR source. */ /* Constants to determine the ISR source. */
#define serSOURCE_THRE ( ( unsigned portCHAR ) 0x02 ) #define serSOURCE_THRE ( ( unsigned char ) 0x02 )
#define serSOURCE_RX_TIMEOUT ( ( unsigned portCHAR ) 0x0c ) #define serSOURCE_RX_TIMEOUT ( ( unsigned char ) 0x0c )
#define serSOURCE_ERROR ( ( unsigned portCHAR ) 0x06 ) #define serSOURCE_ERROR ( ( unsigned char ) 0x06 )
#define serSOURCE_RX ( ( unsigned portCHAR ) 0x04 ) #define serSOURCE_RX ( ( unsigned char ) 0x04 )
#define serINTERRUPT_SOURCE_MASK ( ( unsigned portLONG ) (US_RXRDY | US_TXRDY | US_RXBRK | US_OVRE | US_FRAME | US_PARE) ) #define serINTERRUPT_SOURCE_MASK ( ( unsigned long ) (US_RXRDY | US_TXRDY | US_RXBRK | US_OVRE | US_FRAME | US_PARE) )
/* Queues used to hold received characters, and characters waiting to be /* Queues used to hold received characters, and characters waiting to be
transmitted. */ transmitted. */
@ -99,8 +100,8 @@ void vUART_ISR_Handler( void ) __attribute__ ((noinline));
void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx ) void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx )
{ {
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* Pass back a reference to the queues so the serial API file can /* Pass back a reference to the queues so the serial API file can
post/receive characters. */ post/receive characters. */
@ -126,9 +127,9 @@ void vUART_ISR_Wrapper( void )
void vUART_ISR_Handler( void ) void vUART_ISR_Handler( void )
{ {
/* Now we can declare the local variables. These must be static. */ /* Now we can declare the local variables. These must be static. */
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
unsigned portLONG ulStatus; unsigned long ulStatus;
/* What caused the interrupt? */ /* What caused the interrupt? */
ulStatus = AT91C_BASE_US0->US_CSR & AT91C_BASE_US0->US_IMR; ulStatus = AT91C_BASE_US0->US_CSR & AT91C_BASE_US0->US_IMR;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -66,10 +67,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 47923200 ) #define configCPU_CLOCK_HZ ( ( unsigned long ) 47923200 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) 14200 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) 14200 )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#include "FreeRTOS.h" #include "FreeRTOS.h"
@ -53,7 +54,7 @@
* Simple parallel port IO routines for the LED's. * Simple parallel port IO routines for the LED's.
*-----------------------------------------------------------*/ *-----------------------------------------------------------*/
const unsigned portLONG led_mask[ NB_LED ]= { LED1, LED2, LED3, LED4 }; const unsigned long led_mask[ NB_LED ]= { LED1, LED2, LED3, LED4 };
void vParTestInitialise( void ) void vParTestInitialise( void )
{ {

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -139,7 +140,7 @@ little odd. */
/* Misc application definitions. */ /* Misc application definitions. */
#define usbINTERRUPT_PRIORITY ( 3 ) #define usbINTERRUPT_PRIORITY ( 3 )
#define usbQUEUE_LENGTH ( 0x3 ) /* Must have all bits set! */ #define usbQUEUE_LENGTH ( 0x3 ) /* Must have all bits set! */
#define usbFIFO_LENGTH ( ( unsigned portLONG ) 8 ) #define usbFIFO_LENGTH ( ( unsigned long ) 8 )
#define usbEND_POINT_0 ( 0 ) #define usbEND_POINT_0 ( 0 )
#define usbEND_POINT_1 ( 1 ) #define usbEND_POINT_1 ( 1 )
#define usbXUP ( 1 ) #define usbXUP ( 1 )
@ -148,14 +149,14 @@ little odd. */
#define usbYDOWN ( 4 ) #define usbYDOWN ( 4 )
#define usbMAX_COORD ( 120 ) #define usbMAX_COORD ( 120 )
#define usbMAX_TX_MESSAGE_SIZE ( 128 ) #define usbMAX_TX_MESSAGE_SIZE ( 128 )
#define usbRX_COUNT_MASK ( ( unsigned portLONG ) 0x7ff ) #define usbRX_COUNT_MASK ( ( unsigned long ) 0x7ff )
#define AT91C_UDP_STALLSENT AT91C_UDP_ISOERROR #define AT91C_UDP_STALLSENT AT91C_UDP_ISOERROR
#define usbSHORTEST_DELAY ( ( portTickType ) 1 ) #define usbSHORTEST_DELAY ( ( portTickType ) 1 )
#define usbINIT_DELAY ( ( portTickType ) 500 / portTICK_RATE_MS ) #define usbINIT_DELAY ( ( portTickType ) 500 / portTICK_RATE_MS )
#define usbSHORT_DELAY ( ( portTickType ) 50 / portTICK_RATE_MS ) #define usbSHORT_DELAY ( ( portTickType ) 50 / portTICK_RATE_MS )
#define usbEND_POINT_RESET_MASK ( ( unsigned portLONG ) 0x0f ) #define usbEND_POINT_RESET_MASK ( ( unsigned long ) 0x0f )
#define usbDATA_INC ( ( portCHAR ) 5 ) #define usbDATA_INC ( ( char ) 5 )
#define usbEXPECTED_NUMBER_OF_BYTES ( ( unsigned portLONG ) 8 ) #define usbEXPECTED_NUMBER_OF_BYTES ( ( unsigned long ) 8 )
/* Control request types. */ /* Control request types. */
#define usbSTANDARD_DEVICE_REQUEST ( 0 ) #define usbSTANDARD_DEVICE_REQUEST ( 0 )
@ -168,19 +169,19 @@ little odd. */
/* Structure used to take a snapshot of the USB status from within the ISR. */ /* Structure used to take a snapshot of the USB status from within the ISR. */
typedef struct X_ISR_STATUS typedef struct X_ISR_STATUS
{ {
unsigned portLONG ulISR; unsigned long ulISR;
unsigned portLONG ulCSR0; unsigned long ulCSR0;
unsigned portCHAR ucFifoData[ 8 ]; unsigned char ucFifoData[ 8 ];
} xISRStatus; } xISRStatus;
/* Structure used to hold the received requests. */ /* Structure used to hold the received requests. */
typedef struct typedef struct
{ {
unsigned portCHAR ucReqType; unsigned char ucReqType;
unsigned portCHAR ucRequest; unsigned char ucRequest;
unsigned portSHORT usValue; unsigned short usValue;
unsigned portSHORT usIndex; unsigned short usIndex;
unsigned portSHORT usLength; unsigned short usLength;
} xUSB_REQUEST; } xUSB_REQUEST;
typedef enum typedef enum
@ -196,9 +197,9 @@ typedef enum
/* Structure used to control the data being sent to the host. */ /* Structure used to control the data being sent to the host. */
typedef struct typedef struct
{ {
unsigned portCHAR ucTxBuffer[ usbMAX_TX_MESSAGE_SIZE ]; unsigned char ucTxBuffer[ usbMAX_TX_MESSAGE_SIZE ];
unsigned portLONG ulNextCharIndex; unsigned long ulNextCharIndex;
unsigned portLONG ulTotalDataLength; unsigned long ulTotalDataLength;
} xTX_MESSAGE; } xTX_MESSAGE;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -271,7 +272,7 @@ static void prvHandleClassInterfaceRequest( xUSB_REQUEST *pxRequest );
* in response to TXCOMP interrupts until the entire buffer has been * in response to TXCOMP interrupts until the entire buffer has been
* sent. * sent.
*/ */
static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT usRequestedLength, unsigned portLONG ulLengthLeftToSend, portLONG lSendingDescriptor ); static void prvSendControlData( unsigned char *pucData, unsigned short usRequestedLength, unsigned long ulLengthLeftToSend, long lSendingDescriptor );
/* /*
* Examine the Tx buffer to see if there is any more data to be transmitted. * Examine the Tx buffer to see if there is any more data to be transmitted.
@ -334,14 +335,14 @@ These take the form:
Data Data
} }
*/ */
const portCHAR pxLanguageStringDescriptor[] = const char pxLanguageStringDescriptor[] =
{ {
4, 4,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
0x09, 0x04 0x09, 0x04
}; };
const portCHAR pxManufacturerStringDescriptor[] = const char pxManufacturerStringDescriptor[] =
{ {
18, 18,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
@ -356,7 +357,7 @@ const portCHAR pxManufacturerStringDescriptor[] =
'S', 0x00 'S', 0x00
}; };
const portCHAR pxProductStringDescriptor[] = const char pxProductStringDescriptor[] =
{ {
44, 44,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
@ -384,7 +385,7 @@ const portCHAR pxProductStringDescriptor[] =
'k', 0x00 'k', 0x00
}; };
const portCHAR pxConfigurationStringDescriptor[] = const char pxConfigurationStringDescriptor[] =
{ {
38, 38,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
@ -409,7 +410,7 @@ const portCHAR pxConfigurationStringDescriptor[] =
'e', 0x00 'e', 0x00
}; };
const portCHAR pxInterfaceStringDescriptor[] = const char pxInterfaceStringDescriptor[] =
{ {
30, 30,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
@ -431,7 +432,7 @@ const portCHAR pxInterfaceStringDescriptor[] =
}; };
/* Enumeration descriptors. */ /* Enumeration descriptors. */
const portCHAR pxReportDescriptor[] = const char pxReportDescriptor[] =
{ {
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */ 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x04, /* USAGE (Joystick) */ 0x09, 0x04, /* USAGE (Joystick) */
@ -513,8 +514,8 @@ const char pxConfigDescriptor[] = {
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* File scope state variables. */ /* File scope state variables. */
static unsigned portCHAR ucUSBConfig = ( unsigned portCHAR ) 0; static unsigned char ucUSBConfig = ( unsigned char ) 0;
static unsigned portLONG ulReceivedAddress = ( unsigned portLONG ) 0; static unsigned long ulReceivedAddress = ( unsigned long ) 0;
static eDRIVER_STATE eDriverState = eNOTHING; static eDRIVER_STATE eDriverState = eNOTHING;
/* Array in which the USB interrupt status is passed between the ISR and task. */ /* Array in which the USB interrupt status is passed between the ISR and task. */
@ -545,14 +546,14 @@ unchanged by writing with a 1. */
/* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \ /* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \
/* STALLSENT and RX_DATA_BK1 to 1 so the */ \ /* STALLSENT and RX_DATA_BK1 to 1 so the */ \
/* write has no effect. */ \ /* write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( unsigned portLONG ) 0x4f; \ ( * ( ( unsigned long * ) pulValueNow ) ) |= ( unsigned long ) 0x4f; \
\ \
/* Clear the FORCE_STALL and TXPKTRDY bits */ \ /* Clear the FORCE_STALL and TXPKTRDY bits */ \
/* so the write has no effect. */ \ /* so the write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( unsigned portLONG ) 0xffffffcf; \ ( * ( ( unsigned long * ) pulValueNow ) ) &= ( unsigned long ) 0xffffffcf; \
\ \
/* Set whichever bit we want set. */ \ /* Set whichever bit we want set. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( ulBit ); \ ( * ( ( unsigned long * ) pulValueNow ) ) |= ( ulBit ); \
} }
#define usbCSR_CLEAR_BIT( pulValueNow, ulBit ) \ #define usbCSR_CLEAR_BIT( pulValueNow, ulBit ) \
@ -560,14 +561,14 @@ unchanged by writing with a 1. */
/* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \ /* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \
/* STALLSENT and RX_DATA_BK1 to 1 so the */ \ /* STALLSENT and RX_DATA_BK1 to 1 so the */ \
/* write has no effect. */ \ /* write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( unsigned portLONG ) 0x4f; \ ( * ( ( unsigned long * ) pulValueNow ) ) |= ( unsigned long ) 0x4f; \
\ \
/* Clear the FORCE_STALL and TXPKTRDY bits */ \ /* Clear the FORCE_STALL and TXPKTRDY bits */ \
/* so the write has no effect. */ \ /* so the write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( unsigned portLONG ) 0xffffffcf; \ ( * ( ( unsigned long * ) pulValueNow ) ) &= ( unsigned long ) 0xffffffcf; \
\ \
/* Clear whichever bit we want clear. */ \ /* Clear whichever bit we want clear. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( ~ulBit ); \ ( * ( ( unsigned long * ) pulValueNow ) ) &= ( ~ulBit ); \
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -575,9 +576,9 @@ unchanged by writing with a 1. */
__arm void vUSB_ISR( void ) __arm void vUSB_ISR( void )
{ {
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
static volatile unsigned portLONG ulNextMessage = 0; static volatile unsigned long ulNextMessage = 0;
xISRStatus *pxMessage; xISRStatus *pxMessage;
unsigned portLONG ulTemp, ulRxBytes; unsigned long ulTemp, ulRxBytes;
/* Take the next message from the queue. Note that usbQUEUE_LENGTH *must* /* Take the next message from the queue. Note that usbQUEUE_LENGTH *must*
be all 1's, as in 0x01, 0x03, 0x07, etc. */ be all 1's, as in 0x01, 0x03, 0x07, etc. */
@ -691,11 +692,11 @@ xISRStatus *pxMessage;
static void prvTransmitSampleValues( void ) static void prvTransmitSampleValues( void )
{ {
unsigned portLONG ulStatus; unsigned long ulStatus;
static portLONG lState = usbXUP; static long lState = usbXUP;
/* Variables to hold dummy x, y and z joystick axis data. */ /* Variables to hold dummy x, y and z joystick axis data. */
static signed portCHAR x = 0, y = 0, z = 0; static signed char x = 0, y = 0, z = 0;
/* Generate some sample data in the x and y axis - draw a square. */ /* Generate some sample data in the x and y axis - draw a square. */
switch( lState ) switch( lState )
@ -754,7 +755,7 @@ static signed portCHAR x = 0, y = 0, z = 0;
static void prvUSBTransmitNull( void ) static void prvUSBTransmitNull( void )
{ {
unsigned portLONG ulStatus; unsigned long ulStatus;
/* Wait until the FIFO is free - even though we are not going to use it. /* Wait until the FIFO is free - even though we are not going to use it.
THERE IS NO TIMEOUT HERE! */ THERE IS NO TIMEOUT HERE! */
@ -781,7 +782,7 @@ unsigned portLONG ulStatus;
static void prvSendStall( void ) static void prvSendStall( void )
{ {
unsigned portLONG ulStatus; unsigned long ulStatus;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
@ -796,13 +797,13 @@ unsigned portLONG ulStatus;
static void prvResetEndPoints( void ) static void prvResetEndPoints( void )
{ {
unsigned portLONG ulTemp; unsigned long ulTemp;
eDriverState = eJUST_RESET; eDriverState = eJUST_RESET;
/* Reset all the end points. */ /* Reset all the end points. */
AT91C_BASE_UDP->UDP_RSTEP = usbEND_POINT_RESET_MASK; AT91C_BASE_UDP->UDP_RSTEP = usbEND_POINT_RESET_MASK;
AT91C_BASE_UDP->UDP_RSTEP = ( unsigned portLONG ) 0x00; AT91C_BASE_UDP->UDP_RSTEP = ( unsigned long ) 0x00;
/* Enable data to be sent and received. */ /* Enable data to be sent and received. */
AT91C_BASE_UDP->UDP_FADDR = AT91C_UDP_FEN; AT91C_BASE_UDP->UDP_FADDR = AT91C_UDP_FEN;
@ -811,7 +812,7 @@ unsigned portLONG ulTemp;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ]; ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ];
usbCSR_SET_BIT( &ulTemp, ( ( unsigned portLONG ) ( AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_CTRL ) ) ); usbCSR_SET_BIT( &ulTemp, ( ( unsigned long ) ( AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_CTRL ) ) );
AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulTemp; AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulTemp;
AT91F_UDP_EnableIt( AT91C_BASE_UDP, AT91C_UDP_EPINT0 ); AT91F_UDP_EnableIt( AT91C_BASE_UDP, AT91C_UDP_EPINT0 );
} }
@ -843,7 +844,7 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
/* Read the end point for data transfer. */ /* Read the end point for data transfer. */
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
unsigned portLONG ulTemp; unsigned long ulTemp;
ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_1 ]; ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_1 ];
usbCSR_SET_BIT( &ulTemp, AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_INT_IN ); usbCSR_SET_BIT( &ulTemp, AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_INT_IN );
@ -858,7 +859,7 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
{ {
/* We sent an acknowledgement of a SET_ADDRESS request. Move /* We sent an acknowledgement of a SET_ADDRESS request. Move
to the addressed state. */ to the addressed state. */
if( ulReceivedAddress != ( unsigned portLONG ) 0 ) if( ulReceivedAddress != ( unsigned long ) 0 )
{ {
AT91C_BASE_UDP->UDP_GLBSTATE = AT91C_UDP_FADDEN; AT91C_BASE_UDP->UDP_GLBSTATE = AT91C_UDP_FADDEN;
} }
@ -881,8 +882,8 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
if( pxMessage->ulCSR0 & AT91C_UDP_RXSETUP ) if( pxMessage->ulCSR0 & AT91C_UDP_RXSETUP )
{ {
xUSB_REQUEST xRequest; xUSB_REQUEST xRequest;
unsigned portCHAR ucRequest; unsigned char ucRequest;
unsigned portLONG ulRxBytes; unsigned long ulRxBytes;
/* A data packet is available. */ /* A data packet is available. */
ulRxBytes = pxMessage->ulCSR0 >> 16; ulRxBytes = pxMessage->ulCSR0 >> 16;
@ -952,11 +953,11 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
switch( ( pxRequest->usValue & 0xff00 ) >> 8 ) switch( ( pxRequest->usValue & 0xff00 ) >> 8 )
{ {
case usbDESCRIPTOR_TYPE_DEVICE: case usbDESCRIPTOR_TYPE_DEVICE:
prvSendControlData( ( unsigned portCHAR * ) &pxDeviceDescriptor, pxRequest->usLength, sizeof( pxDeviceDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxDeviceDescriptor, pxRequest->usLength, sizeof( pxDeviceDescriptor ), pdTRUE );
break; break;
case usbDESCRIPTOR_TYPE_CONFIGURATION: case usbDESCRIPTOR_TYPE_CONFIGURATION:
prvSendControlData( ( unsigned portCHAR * ) &( pxConfigDescriptor ), pxRequest->usLength, sizeof( pxConfigDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &( pxConfigDescriptor ), pxRequest->usLength, sizeof( pxConfigDescriptor ), pdTRUE );
break; break;
case usbDESCRIPTOR_TYPE_STRING: case usbDESCRIPTOR_TYPE_STRING:
@ -965,23 +966,23 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
switch( pxRequest->usValue & 0xff ) switch( pxRequest->usValue & 0xff )
{ {
case usbLANGUAGE_STRING: case usbLANGUAGE_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxLanguageStringDescriptor, pxRequest->usLength, sizeof(pxLanguageStringDescriptor), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxLanguageStringDescriptor, pxRequest->usLength, sizeof(pxLanguageStringDescriptor), pdTRUE );
break; break;
case usbMANUFACTURER_STRING: case usbMANUFACTURER_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxManufacturerStringDescriptor, pxRequest->usLength, sizeof( pxManufacturerStringDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxManufacturerStringDescriptor, pxRequest->usLength, sizeof( pxManufacturerStringDescriptor ), pdTRUE );
break; break;
case usbPRODUCT_STRING: case usbPRODUCT_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxProductStringDescriptor, pxRequest->usLength, sizeof( pxProductStringDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxProductStringDescriptor, pxRequest->usLength, sizeof( pxProductStringDescriptor ), pdTRUE );
break; break;
case usbCONFIGURATION_STRING: case usbCONFIGURATION_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxConfigurationStringDescriptor, pxRequest->usLength, sizeof( pxConfigurationStringDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxConfigurationStringDescriptor, pxRequest->usLength, sizeof( pxConfigurationStringDescriptor ), pdTRUE );
break; break;
case usbINTERFACE_STRING: case usbINTERFACE_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxInterfaceStringDescriptor, pxRequest->usLength, sizeof( pxInterfaceStringDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxInterfaceStringDescriptor, pxRequest->usLength, sizeof( pxInterfaceStringDescriptor ), pdTRUE );
break; break;
default: default:
@ -1002,13 +1003,13 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
static void prvHandleStandardDeviceRequest( xUSB_REQUEST *pxRequest ) static void prvHandleStandardDeviceRequest( xUSB_REQUEST *pxRequest )
{ {
unsigned portSHORT usStatus = 0; unsigned short usStatus = 0;
switch( pxRequest->ucRequest ) switch( pxRequest->ucRequest )
{ {
case usbGET_STATUS_REQUEST: case usbGET_STATUS_REQUEST:
/* Just send two byte dummy status. */ /* Just send two byte dummy status. */
prvSendControlData( ( unsigned portCHAR * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE ); prvSendControlData( ( unsigned char * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE );
break; break;
case usbGET_DESCRIPTOR_REQUEST: case usbGET_DESCRIPTOR_REQUEST:
@ -1018,7 +1019,7 @@ unsigned portSHORT usStatus = 0;
case usbGET_CONFIGURATION_REQUEST: case usbGET_CONFIGURATION_REQUEST:
/* Send selected device configuration */ /* Send selected device configuration */
prvSendControlData( ( unsigned portCHAR * ) &ucUSBConfig, sizeof( ucUSBConfig ), sizeof( ucUSBConfig ), pdFALSE ); prvSendControlData( ( unsigned char * ) &ucUSBConfig, sizeof( ucUSBConfig ), sizeof( ucUSBConfig ), pdFALSE );
break; break;
case usbSET_FEATURE_REQUEST: case usbSET_FEATURE_REQUEST:
@ -1033,7 +1034,7 @@ unsigned portSHORT usStatus = 0;
address and set our state so we know we have received the address. */ address and set our state so we know we have received the address. */
prvUSBTransmitNull(); prvUSBTransmitNull();
eDriverState = eJUST_GOT_ADDRESS; eDriverState = eJUST_GOT_ADDRESS;
ulReceivedAddress = ( unsigned portLONG ) pxRequest->usValue; ulReceivedAddress = ( unsigned long ) pxRequest->usValue;
break; break;
case usbSET_CONFIGURATION_REQUEST: case usbSET_CONFIGURATION_REQUEST:
@ -1042,7 +1043,7 @@ unsigned portSHORT usStatus = 0;
we cannot actually move to the configured state until we get a we cannot actually move to the configured state until we get a
TXCOMP interrupt from this NULL packet. Therefore we just remember the TXCOMP interrupt from this NULL packet. Therefore we just remember the
config and set our state so we know we have received the go ahead. */ config and set our state so we know we have received the go ahead. */
ucUSBConfig = ( unsigned portCHAR ) ( pxRequest->usValue & 0xff ); ucUSBConfig = ( unsigned char ) ( pxRequest->usValue & 0xff );
eDriverState = eJUST_GOT_CONFIG; eDriverState = eJUST_GOT_CONFIG;
prvUSBTransmitNull(); prvUSBTransmitNull();
break; break;
@ -1080,10 +1081,10 @@ static void prvHandleClassInterfaceRequest( xUSB_REQUEST *pxRequest )
static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest ) static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest )
{ {
switch( ( pxRequest->usValue & ( unsigned portSHORT ) 0xff00 ) >> 8 ) switch( ( pxRequest->usValue & ( unsigned short ) 0xff00 ) >> 8 )
{ {
case usbHID_REPORT_DESCRIPTOR: case usbHID_REPORT_DESCRIPTOR:
prvSendControlData( ( unsigned portCHAR * ) pxReportDescriptor, pxRequest->usLength, sizeof( pxReportDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) pxReportDescriptor, pxRequest->usLength, sizeof( pxReportDescriptor ), pdTRUE );
break; break;
default: default:
@ -1097,13 +1098,13 @@ static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest )
static void prvHandleStandardInterfaceRequest( xUSB_REQUEST *pxRequest ) static void prvHandleStandardInterfaceRequest( xUSB_REQUEST *pxRequest )
{ {
unsigned portSHORT usStatus = 0; unsigned short usStatus = 0;
switch( pxRequest->ucRequest ) switch( pxRequest->ucRequest )
{ {
case usbGET_STATUS_REQUEST: case usbGET_STATUS_REQUEST:
/* Send dummy 2 bytes. */ /* Send dummy 2 bytes. */
prvSendControlData( ( unsigned portCHAR * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE ); prvSendControlData( ( unsigned char * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE );
break; break;
case usbGET_DESCRIPTOR_REQUEST: case usbGET_DESCRIPTOR_REQUEST:
@ -1140,14 +1141,14 @@ static void prvHandleStandardEndPointRequest( xUSB_REQUEST *pxRequest )
static void vInitUSBInterface( void ) static void vInitUSBInterface( void )
{ {
volatile unsigned portLONG ulTemp; volatile unsigned long ulTemp;
/* Create the queue used to communicate between the USB ISR and task. */ /* Create the queue used to communicate between the USB ISR and task. */
xUSBInterruptQueue = xQueueCreate( usbQUEUE_LENGTH + 1, sizeof( xISRStatus * ) ); xUSBInterruptQueue = xQueueCreate( usbQUEUE_LENGTH + 1, sizeof( xISRStatus * ) );
/* Initialise a few state variables. */ /* Initialise a few state variables. */
pxCharsForTx.ulNextCharIndex = ( unsigned portLONG ) 0; pxCharsForTx.ulNextCharIndex = ( unsigned long ) 0;
ucUSBConfig = ( unsigned portCHAR ) 0; ucUSBConfig = ( unsigned char ) 0;
eDriverState = eNOTHING; eDriverState = eNOTHING;
/* HARDWARE SETUP */ /* HARDWARE SETUP */
@ -1169,10 +1170,10 @@ volatile unsigned portLONG ulTemp;
/* When using the USB debugger the peripheral registers do not always get /* When using the USB debugger the peripheral registers do not always get
set to the correct default values. To make sure set the relevant registers set to the correct default values. To make sure set the relevant registers
manually here. */ manually here. */
AT91C_BASE_UDP->UDP_IDR = ( unsigned portLONG ) 0xffffffff; AT91C_BASE_UDP->UDP_IDR = ( unsigned long ) 0xffffffff;
AT91C_BASE_UDP->UDP_ICR = ( unsigned portLONG ) 0xffffffff; AT91C_BASE_UDP->UDP_ICR = ( unsigned long ) 0xffffffff;
AT91C_BASE_UDP->UDP_CSR[ 0 ] = ( unsigned portLONG ) 0x00; AT91C_BASE_UDP->UDP_CSR[ 0 ] = ( unsigned long ) 0x00;
AT91C_BASE_UDP->UDP_CSR[ 1 ] = ( unsigned portLONG ) 0x00; AT91C_BASE_UDP->UDP_CSR[ 1 ] = ( unsigned long ) 0x00;
AT91C_BASE_UDP->UDP_GLBSTATE = 0; AT91C_BASE_UDP->UDP_GLBSTATE = 0;
AT91C_BASE_UDP->UDP_FADDR = 0; AT91C_BASE_UDP->UDP_FADDR = 0;
@ -1190,14 +1191,14 @@ volatile unsigned portLONG ulTemp;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT usRequestedLength, unsigned portLONG ulLengthToSend, portLONG lSendingDescriptor ) static void prvSendControlData( unsigned char *pucData, unsigned short usRequestedLength, unsigned long ulLengthToSend, long lSendingDescriptor )
{ {
if( ( ( unsigned portLONG ) usRequestedLength < ulLengthToSend ) ) if( ( ( unsigned long ) usRequestedLength < ulLengthToSend ) )
{ {
/* Cap the data length to that requested. */ /* Cap the data length to that requested. */
ulLengthToSend = ( unsigned portSHORT ) usRequestedLength; ulLengthToSend = ( unsigned short ) usRequestedLength;
} }
else if( ( ulLengthToSend < ( unsigned portLONG ) usRequestedLength ) && lSendingDescriptor ) else if( ( ulLengthToSend < ( unsigned long ) usRequestedLength ) && lSendingDescriptor )
{ {
/* We are sending a descriptor. If the descriptor is an exact /* We are sending a descriptor. If the descriptor is an exact
multiple of the FIFO length then it will have to be terminated multiple of the FIFO length then it will have to be terminated
@ -1219,7 +1220,7 @@ static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT u
/* Reinitialise the buffer index so we start sending from the start of /* Reinitialise the buffer index so we start sending from the start of
the data. */ the data. */
pxCharsForTx.ulTotalDataLength = ulLengthToSend; pxCharsForTx.ulTotalDataLength = ulLengthToSend;
pxCharsForTx.ulNextCharIndex = ( unsigned portLONG ) 0; pxCharsForTx.ulNextCharIndex = ( unsigned long ) 0;
/* Send the first 8 bytes now. The rest will get sent in response to /* Send the first 8 bytes now. The rest will get sent in response to
TXCOMP interrupts. */ TXCOMP interrupts. */
@ -1229,7 +1230,7 @@ static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT u
static void prvSendNextSegment( void ) static void prvSendNextSegment( void )
{ {
volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend; volatile unsigned long ulNextLength, ulStatus, ulLengthLeftToSend;
/* Is there any data to send? */ /* Is there any data to send? */
if( pxCharsForTx.ulTotalDataLength > pxCharsForTx.ulNextCharIndex ) if( pxCharsForTx.ulTotalDataLength > pxCharsForTx.ulNextCharIndex )
@ -1254,7 +1255,7 @@ volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend;
} }
/* Write the data to the FIFO. */ /* Write the data to the FIFO. */
while( ulNextLength > ( unsigned portLONG ) 0 ) while( ulNextLength > ( unsigned long ) 0 )
{ {
AT91C_BASE_UDP->UDP_FDR[ usbEND_POINT_0 ] = pxCharsForTx.ucTxBuffer[ pxCharsForTx.ulNextCharIndex ]; AT91C_BASE_UDP->UDP_FDR[ usbEND_POINT_0 ] = pxCharsForTx.ucTxBuffer[ pxCharsForTx.ulNextCharIndex ];
@ -1266,7 +1267,7 @@ volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
ulStatus = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ]; ulStatus = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ];
usbCSR_SET_BIT( &ulStatus, ( ( unsigned portLONG ) 0x10 ) ); usbCSR_SET_BIT( &ulStatus, ( ( unsigned long ) 0x10 ) );
AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulStatus; AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulStatus;
} }
portEXIT_CRITICAL(); portEXIT_CRITICAL();

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -105,7 +106,7 @@
#define mainCHECK_TASK_LED ( 3 ) #define mainCHECK_TASK_LED ( 3 )
/* Constants for the ComTest tasks. */ /* Constants for the ComTest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
#define mainCOM_TEST_LED ( 4 ) /* Off the board. */ #define mainCOM_TEST_LED ( 4 ) /* Off the board. */
/* /*
@ -126,7 +127,7 @@ static void prvSetupHardware( void );
* Checks that all the demo application tasks are still executing without error * Checks that all the demo application tasks are still executing without error
* - as described at the top of the file. * - as described at the top of the file.
*/ */
static portLONG prvCheckOtherTasksAreStillRunning( void ); static long prvCheckOtherTasksAreStillRunning( void );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -222,9 +223,9 @@ portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static portLONG prvCheckOtherTasksAreStillRunning( void ) static long prvCheckOtherTasksAreStillRunning( void )
{ {
portLONG lReturn = ( portLONG ) pdPASS; long lReturn = ( long ) pdPASS;
/* Check all the demo tasks (other than the flash tasks) to ensure /* Check all the demo tasks (other than the flash tasks) to ensure
that they are all still running, and that none of them have detected that they are all still running, and that none of them have detected
@ -232,32 +233,32 @@ portLONG lReturn = ( portLONG ) pdPASS;
if( xAreIntegerMathsTaskStillRunning() != pdTRUE ) if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xArePollingQueuesStillRunning() != pdTRUE ) if( xArePollingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreSemaphoreTasksStillRunning() != pdTRUE ) if( xAreSemaphoreTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreBlockingQueuesStillRunning() != pdTRUE ) if( xAreBlockingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreComTestTasksStillRunning() != pdTRUE ) if( xAreComTestTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE ) if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
return lReturn; return lReturn;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -73,8 +74,8 @@
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 ) #define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
#define serHANDLE ( ( xComPortHandle ) 1 ) #define serHANDLE ( ( xComPortHandle ) 1 )
#define serNO_BLOCK ( ( portTickType ) 0 ) #define serNO_BLOCK ( ( portTickType ) 0 )
#define serNO_TIMEGUARD ( ( unsigned portLONG ) 0 ) #define serNO_TIMEGUARD ( ( unsigned long ) 0 )
#define serNO_PERIPHERAL_B_SETUP ( ( unsigned portLONG ) 0 ) #define serNO_PERIPHERAL_B_SETUP ( ( unsigned long ) 0 )
/* Queues used to hold received characters, and characters waiting to be /* Queues used to hold received characters, and characters waiting to be
@ -95,14 +96,14 @@ __arm void vSerialISR( void );
/* /*
* See the serial2.h header file. * See the serial2.h header file.
*/ */
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
xComPortHandle xReturn = serHANDLE; xComPortHandle xReturn = serHANDLE;
extern void ( vUART_ISR )( void ); extern void ( vUART_ISR )( void );
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* If the queues were created correctly then setup the serial port /* If the queues were created correctly then setup the serial port
hardware. */ hardware. */
@ -113,7 +114,7 @@ extern void ( vUART_ISR )( void );
/* Enable the USART clock. */ /* Enable the USART clock. */
AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1 << AT91C_ID_US0 ); AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1 << AT91C_ID_US0 );
AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, ( ( unsigned portLONG ) AT91C_PA5_RXD0 ) | ( ( unsigned portLONG ) AT91C_PA6_TXD0 ), serNO_PERIPHERAL_B_SETUP ); AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, ( ( unsigned long ) AT91C_PA5_RXD0 ) | ( ( unsigned long ) AT91C_PA6_TXD0 ), serNO_PERIPHERAL_B_SETUP );
/* Set the required protocol. */ /* Set the required protocol. */
AT91F_US_Configure( serCOM0, configCPU_CLOCK_HZ, AT91C_US_ASYNC_MODE, ulWantedBaud, serNO_TIMEGUARD ); AT91F_US_Configure( serCOM0, configCPU_CLOCK_HZ, AT91C_US_ASYNC_MODE, ulWantedBaud, serNO_TIMEGUARD );
@ -142,7 +143,7 @@ extern void ( vUART_ISR )( void );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports one port. */ /* The port handle is not required as this driver only supports one port. */
( void ) pxPort; ( void ) pxPort;
@ -160,9 +161,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* A couple of parameters that this port does not use. */ /* A couple of parameters that this port does not use. */
( void ) usStringLength; ( void ) usStringLength;
@ -175,7 +176,7 @@ signed portCHAR *pxNext;
( void ) pxPort; ( void ) pxPort;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -184,7 +185,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
/* Place the character in the queue of characters to be transmitted. */ /* Place the character in the queue of characters to be transmitted. */
if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS ) if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
@ -214,8 +215,8 @@ within serialISR.s79 which in turn calls this function. See the port
documentation on the FreeRTOS.org website for more information. */ documentation on the FreeRTOS.org website for more information. */
__arm void vSerialISR( void ) __arm void vSerialISR( void )
{ {
unsigned portLONG ulStatus; unsigned long ulStatus;
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* What caused the interrupt? */ /* What caused the interrupt? */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -66,10 +67,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 1 #define configUSE_TICK_HOOK 1
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 47923200 ) #define configCPU_CLOCK_HZ ( ( unsigned long ) 47923200 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 130 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 130 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24 * 1024 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 10 ) #define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1

View File

@ -1,48 +1,49 @@
#/* #/*
# FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. # FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
# #
# This file is part of the FreeRTOS distribution. # This file is part of the FreeRTOS distribution.
# #
# FreeRTOS is free software; you can redistribute it and/or modify it under # FreeRTOS is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License (version 2) as published by the # the terms of the GNU General Public License (version 2) as published by the
# Free Software Foundation and modified by the FreeRTOS exception. # Free Software Foundation and modified by the FreeRTOS exception.
# **NOTE** The exception to the GPL is included to allow you to distribute a # **NOTE** The exception to the GPL is included to allow you to distribute a
# combined work that includes FreeRTOS without being obliged to provide the # combined work that includes FreeRTOS without being obliged to provide the
# source code for proprietary components outside of the FreeRTOS kernel. # source code for proprietary components outside of the FreeRTOS kernel.
# Alternative commercial license and support terms are also available upon # Alternative commercial license and support terms are also available upon
# request. See the licensing section of http://www.FreeRTOS.org for full # request. See the licensing section of http://www.FreeRTOS.org for full
# license details. # license details.
# #
# FreeRTOS is distributed in the hope that it will be useful, but WITHOUT # FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details. # more details.
# #
# You should have received a copy of the GNU General Public License along # You should have received a copy of the GNU General Public License along
# with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 # with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
# Temple Place, Suite 330, Boston, MA 02111-1307 USA. # Temple Place, Suite 330, Boston, MA 02111-1307 USA.
# #
# #
# *************************************************************************** # ***************************************************************************
# * * # * *
# * Looking for a quick start? Then check out the FreeRTOS eBook! * # * The FreeRTOS eBook and reference manual are available to purchase for a *
# * See http://www.FreeRTOS.org/Documentation for details * # * small fee. Help yourself get started quickly while also helping the *
# * * # * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
# *************************************************************************** # * *
# ***************************************************************************
# #
# 1 tab == 4 spaces! # 1 tab == 4 spaces!
# #
# Please ensure to read the configuration and relevant port sections of the # Please ensure to read the configuration and relevant port sections of the
# online documentation. # online documentation.
# #
# http://www.FreeRTOS.org - Documentation, latest information, license and # http://www.FreeRTOS.org - Documentation, latest information, license and
# contact details. # contact details.
# #
# http://www.SafeRTOS.com - A version that is certified for use in safety # http://www.SafeRTOS.com - A version that is certified for use in safety
# critical systems. # critical systems.
# #
# http://www.OpenRTOS.com - Commercial support, development, porting, # http://www.OpenRTOS.com - Commercial support, development, porting,
# licensing and training services. # licensing and training services.
#*/ #*/

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Scheduler includes. */ /* Scheduler includes. */
@ -58,7 +59,7 @@
#define partstNUM_LEDS ( 4 ) #define partstNUM_LEDS ( 4 )
#define partstALL_LEDS ( ulLED_Mask[ 0 ] | ulLED_Mask[ 1 ] | ulLED_Mask[ 2 ] | ulLED_Mask[ 3 ] ) #define partstALL_LEDS ( ulLED_Mask[ 0 ] | ulLED_Mask[ 1 ] | ulLED_Mask[ 2 ] | ulLED_Mask[ 3 ] )
const unsigned portLONG ulLED_Mask[ partstNUM_LEDS ]= { (1<<19), (1<<20), (1<<21), (1<<22) }; const unsigned long ulLED_Mask[ partstNUM_LEDS ]= { (1<<19), (1<<20), (1<<21), (1<<22) };
void vParTestInitialise( void ) void vParTestInitialise( void )

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -126,7 +127,7 @@ little odd. */
/* Misc application definitions. */ /* Misc application definitions. */
#define usbINTERRUPT_PRIORITY ( 3 ) #define usbINTERRUPT_PRIORITY ( 3 )
#define usbFIFO_LENGTH ( ( unsigned portLONG ) 8 ) #define usbFIFO_LENGTH ( ( unsigned long ) 8 )
#define usbXUP ( 1 ) #define usbXUP ( 1 )
#define usbXDOWN ( 2 ) #define usbXDOWN ( 2 )
#define usbYUP ( 3 ) #define usbYUP ( 3 )
@ -136,9 +137,9 @@ little odd. */
#define usbSHORTEST_DELAY ( ( portTickType ) 1 ) #define usbSHORTEST_DELAY ( ( portTickType ) 1 )
#define usbINIT_DELAY ( ( portTickType ) 1000 / portTICK_RATE_MS ) #define usbINIT_DELAY ( ( portTickType ) 1000 / portTICK_RATE_MS )
#define usbSHORT_DELAY ( ( portTickType ) 50 / portTICK_RATE_MS ) #define usbSHORT_DELAY ( ( portTickType ) 50 / portTICK_RATE_MS )
#define usbEND_POINT_RESET_MASK ( ( unsigned portLONG ) 0x0f ) #define usbEND_POINT_RESET_MASK ( ( unsigned long ) 0x0f )
#define usbDATA_INC ( ( portCHAR ) 5 ) #define usbDATA_INC ( ( char ) 5 )
#define usbEXPECTED_NUMBER_OF_BYTES ( ( unsigned portLONG ) 8 ) #define usbEXPECTED_NUMBER_OF_BYTES ( ( unsigned long ) 8 )
/* Control request types. */ /* Control request types. */
#define usbSTANDARD_DEVICE_REQUEST ( 0 ) #define usbSTANDARD_DEVICE_REQUEST ( 0 )
@ -149,11 +150,11 @@ little odd. */
/* Structure used to hold the received requests. */ /* Structure used to hold the received requests. */
typedef struct typedef struct
{ {
unsigned portCHAR ucReqType; unsigned char ucReqType;
unsigned portCHAR ucRequest; unsigned char ucRequest;
unsigned portSHORT usValue; unsigned short usValue;
unsigned portSHORT usIndex; unsigned short usIndex;
unsigned portSHORT usLength; unsigned short usLength;
} xUSB_REQUEST; } xUSB_REQUEST;
typedef enum typedef enum
@ -169,9 +170,9 @@ typedef enum
/* Structure used to control the data being sent to the host. */ /* Structure used to control the data being sent to the host. */
typedef struct typedef struct
{ {
unsigned portCHAR ucTxBuffer[ usbMAX_TX_MESSAGE_SIZE ]; unsigned char ucTxBuffer[ usbMAX_TX_MESSAGE_SIZE ];
unsigned portLONG ulNextCharIndex; unsigned long ulNextCharIndex;
unsigned portLONG ulTotalDataLength; unsigned long ulTotalDataLength;
} xTX_MESSAGE; } xTX_MESSAGE;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -244,7 +245,7 @@ static void prvHandleClassInterfaceRequest( xUSB_REQUEST *pxRequest );
* in response to TXCOMP interrupts until the entire buffer has been * in response to TXCOMP interrupts until the entire buffer has been
* sent. * sent.
*/ */
static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT usRequestedLength, unsigned portLONG ulLengthLeftToSend, portLONG lSendingDescriptor ); static void prvSendControlData( unsigned char *pucData, unsigned short usRequestedLength, unsigned long ulLengthLeftToSend, long lSendingDescriptor );
/* /*
* Examine the Tx buffer to see if there is any more data to be transmitted. * Examine the Tx buffer to see if there is any more data to be transmitted.
@ -291,7 +292,7 @@ static void vUSBDemoTask( void *pvParameters );
* Simple algorithm to ramp up the mouse cursor speed to make it easier to * Simple algorithm to ramp up the mouse cursor speed to make it easier to
* use. * use.
*/ */
static void prvControlCursorSpeed( signed portCHAR *cVal, unsigned portLONG ulInput, unsigned portLONG ulSwitch1, unsigned portLONG ulSwitch2 ); static void prvControlCursorSpeed( signed char *cVal, unsigned long ulInput, unsigned long ulSwitch1, unsigned long ulSwitch2 );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* /*
@ -307,14 +308,14 @@ These take the form:
Data Data
} }
*/ */
const portCHAR pxLanguageStringDescriptor[] = const char pxLanguageStringDescriptor[] =
{ {
4, 4,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
0x09, 0x04 0x09, 0x04
}; };
const portCHAR pxManufacturerStringDescriptor[] = const char pxManufacturerStringDescriptor[] =
{ {
18, 18,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
@ -329,7 +330,7 @@ const portCHAR pxManufacturerStringDescriptor[] =
'S', 0x00 'S', 0x00
}; };
const portCHAR pxProductStringDescriptor[] = const char pxProductStringDescriptor[] =
{ {
38, 38,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
@ -354,7 +355,7 @@ const portCHAR pxProductStringDescriptor[] =
'e', 0x00 'e', 0x00
}; };
const portCHAR pxConfigurationStringDescriptor[] = const char pxConfigurationStringDescriptor[] =
{ {
38, 38,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
@ -379,7 +380,7 @@ const portCHAR pxConfigurationStringDescriptor[] =
'e', 0x00 'e', 0x00
}; };
const portCHAR pxInterfaceStringDescriptor[] = const char pxInterfaceStringDescriptor[] =
{ {
30, 30,
usbDESCRIPTOR_TYPE_STRING, usbDESCRIPTOR_TYPE_STRING,
@ -401,7 +402,7 @@ const portCHAR pxInterfaceStringDescriptor[] =
}; };
/* Enumeration descriptors. */ /* Enumeration descriptors. */
const portCHAR pxReportDescriptor[] = const char pxReportDescriptor[] =
{ {
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */ 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x02, /* USAGE (Mouse) */ 0x09, 0x02, /* USAGE (Mouse) */
@ -496,8 +497,8 @@ const char pxConfigDescriptor[] = {
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* File scope state variables. */ /* File scope state variables. */
static unsigned portCHAR ucUSBConfig = ( unsigned portCHAR ) 0; static unsigned char ucUSBConfig = ( unsigned char ) 0;
static unsigned portLONG ulReceivedAddress = ( unsigned portLONG ) 0; static unsigned long ulReceivedAddress = ( unsigned long ) 0;
static eDRIVER_STATE eDriverState = eNOTHING; static eDRIVER_STATE eDriverState = eNOTHING;
/* Structure used to control the characters being sent to the host. */ /* Structure used to control the characters being sent to the host. */
@ -563,9 +564,9 @@ xISRStatus *pxMessage;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static void prvControlCursorSpeed( signed portCHAR *cVal, unsigned portLONG ulInput, unsigned portLONG ulSwitch1, unsigned portLONG ulSwitch2 ) static void prvControlCursorSpeed( signed char *cVal, unsigned long ulInput, unsigned long ulSwitch1, unsigned long ulSwitch2 )
{ {
const portCHAR cSpeed = 20; const char cSpeed = 20;
if( !( ulInput & ulSwitch1 ) ) if( !( ulInput & ulSwitch1 ) )
{ {
@ -609,8 +610,8 @@ const portCHAR cSpeed = 20;
static void prvTransmitSampleValues( void ) static void prvTransmitSampleValues( void )
{ {
/* Variables to hold dummy x, y and z joystick axis data. */ /* Variables to hold dummy x, y and z joystick axis data. */
static signed portCHAR x = 0, y = 0, z = 0; static signed char x = 0, y = 0, z = 0;
unsigned portLONG ulStatus; unsigned long ulStatus;
ulStatus = AT91C_BASE_PIOA->PIO_PDSR; ulStatus = AT91C_BASE_PIOA->PIO_PDSR;
@ -642,7 +643,7 @@ unsigned portLONG ulStatus;
static void prvUSBTransmitNull( void ) static void prvUSBTransmitNull( void )
{ {
unsigned portLONG ulStatus; unsigned long ulStatus;
/* Wait until the FIFO is free - even though we are not going to use it. /* Wait until the FIFO is free - even though we are not going to use it.
THERE IS NO TIMEOUT HERE! */ THERE IS NO TIMEOUT HERE! */
@ -669,7 +670,7 @@ unsigned portLONG ulStatus;
static void prvSendStall( void ) static void prvSendStall( void )
{ {
unsigned portLONG ulStatus; unsigned long ulStatus;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
@ -684,13 +685,13 @@ unsigned portLONG ulStatus;
static void prvResetEndPoints( void ) static void prvResetEndPoints( void )
{ {
unsigned portLONG ulTemp; unsigned long ulTemp;
eDriverState = eJUST_RESET; eDriverState = eJUST_RESET;
/* Reset all the end points. */ /* Reset all the end points. */
AT91C_BASE_UDP->UDP_RSTEP = usbEND_POINT_RESET_MASK; AT91C_BASE_UDP->UDP_RSTEP = usbEND_POINT_RESET_MASK;
AT91C_BASE_UDP->UDP_RSTEP = ( unsigned portLONG ) 0x00; AT91C_BASE_UDP->UDP_RSTEP = ( unsigned long ) 0x00;
/* Enable data to be sent and received. */ /* Enable data to be sent and received. */
AT91C_BASE_UDP->UDP_FADDR = AT91C_UDP_FEN; AT91C_BASE_UDP->UDP_FADDR = AT91C_UDP_FEN;
@ -699,7 +700,7 @@ unsigned portLONG ulTemp;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ]; ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ];
usbCSR_SET_BIT( &ulTemp, ( ( unsigned portLONG ) ( AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_CTRL ) ) ); usbCSR_SET_BIT( &ulTemp, ( ( unsigned long ) ( AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_CTRL ) ) );
AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulTemp; AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulTemp;
AT91C_BASE_UDP->UDP_IER = AT91C_UDP_EPINT0; AT91C_BASE_UDP->UDP_IER = AT91C_UDP_EPINT0;
} }
@ -731,7 +732,7 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
/* Read the end point for data transfer. */ /* Read the end point for data transfer. */
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
unsigned portLONG ulTemp; unsigned long ulTemp;
ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_1 ]; ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_1 ];
usbCSR_SET_BIT( &ulTemp, AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_INT_IN ); usbCSR_SET_BIT( &ulTemp, AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_INT_IN );
@ -746,7 +747,7 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
{ {
/* We sent an acknowledgement of a SET_ADDRESS request. Move /* We sent an acknowledgement of a SET_ADDRESS request. Move
to the addressed state. */ to the addressed state. */
if( ulReceivedAddress != ( unsigned portLONG ) 0 ) if( ulReceivedAddress != ( unsigned long ) 0 )
{ {
AT91C_BASE_UDP->UDP_GLBSTATE = AT91C_UDP_FADDEN; AT91C_BASE_UDP->UDP_GLBSTATE = AT91C_UDP_FADDEN;
} }
@ -769,8 +770,8 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
if( pxMessage->ulCSR0 & AT91C_UDP_RXSETUP ) if( pxMessage->ulCSR0 & AT91C_UDP_RXSETUP )
{ {
xUSB_REQUEST xRequest; xUSB_REQUEST xRequest;
unsigned portCHAR ucRequest; unsigned char ucRequest;
unsigned portLONG ulRxBytes; unsigned long ulRxBytes;
/* A data packet is available. */ /* A data packet is available. */
ulRxBytes = pxMessage->ulCSR0 >> 16; ulRxBytes = pxMessage->ulCSR0 >> 16;
@ -840,11 +841,11 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
switch( ( pxRequest->usValue & 0xff00 ) >> 8 ) switch( ( pxRequest->usValue & 0xff00 ) >> 8 )
{ {
case usbDESCRIPTOR_TYPE_DEVICE: case usbDESCRIPTOR_TYPE_DEVICE:
prvSendControlData( ( unsigned portCHAR * ) &pxDeviceDescriptor, pxRequest->usLength, sizeof( pxDeviceDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxDeviceDescriptor, pxRequest->usLength, sizeof( pxDeviceDescriptor ), pdTRUE );
break; break;
case usbDESCRIPTOR_TYPE_CONFIGURATION: case usbDESCRIPTOR_TYPE_CONFIGURATION:
prvSendControlData( ( unsigned portCHAR * ) &( pxConfigDescriptor ), pxRequest->usLength, sizeof( pxConfigDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &( pxConfigDescriptor ), pxRequest->usLength, sizeof( pxConfigDescriptor ), pdTRUE );
break; break;
case usbDESCRIPTOR_TYPE_STRING: case usbDESCRIPTOR_TYPE_STRING:
@ -853,23 +854,23 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
switch( pxRequest->usValue & 0xff ) switch( pxRequest->usValue & 0xff )
{ {
case usbLANGUAGE_STRING: case usbLANGUAGE_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxLanguageStringDescriptor, pxRequest->usLength, sizeof(pxLanguageStringDescriptor), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxLanguageStringDescriptor, pxRequest->usLength, sizeof(pxLanguageStringDescriptor), pdTRUE );
break; break;
case usbMANUFACTURER_STRING: case usbMANUFACTURER_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxManufacturerStringDescriptor, pxRequest->usLength, sizeof( pxManufacturerStringDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxManufacturerStringDescriptor, pxRequest->usLength, sizeof( pxManufacturerStringDescriptor ), pdTRUE );
break; break;
case usbPRODUCT_STRING: case usbPRODUCT_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxProductStringDescriptor, pxRequest->usLength, sizeof( pxProductStringDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxProductStringDescriptor, pxRequest->usLength, sizeof( pxProductStringDescriptor ), pdTRUE );
break; break;
case usbCONFIGURATION_STRING: case usbCONFIGURATION_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxConfigurationStringDescriptor, pxRequest->usLength, sizeof( pxConfigurationStringDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxConfigurationStringDescriptor, pxRequest->usLength, sizeof( pxConfigurationStringDescriptor ), pdTRUE );
break; break;
case usbINTERFACE_STRING: case usbINTERFACE_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxInterfaceStringDescriptor, pxRequest->usLength, sizeof( pxInterfaceStringDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) &pxInterfaceStringDescriptor, pxRequest->usLength, sizeof( pxInterfaceStringDescriptor ), pdTRUE );
break; break;
default: default:
@ -890,13 +891,13 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
static void prvHandleStandardDeviceRequest( xUSB_REQUEST *pxRequest ) static void prvHandleStandardDeviceRequest( xUSB_REQUEST *pxRequest )
{ {
unsigned portSHORT usStatus = 0; unsigned short usStatus = 0;
switch( pxRequest->ucRequest ) switch( pxRequest->ucRequest )
{ {
case usbGET_STATUS_REQUEST: case usbGET_STATUS_REQUEST:
/* Just send two byte dummy status. */ /* Just send two byte dummy status. */
prvSendControlData( ( unsigned portCHAR * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE ); prvSendControlData( ( unsigned char * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE );
break; break;
case usbGET_DESCRIPTOR_REQUEST: case usbGET_DESCRIPTOR_REQUEST:
@ -906,7 +907,7 @@ unsigned portSHORT usStatus = 0;
case usbGET_CONFIGURATION_REQUEST: case usbGET_CONFIGURATION_REQUEST:
/* Send selected device configuration */ /* Send selected device configuration */
prvSendControlData( ( unsigned portCHAR * ) &ucUSBConfig, sizeof( ucUSBConfig ), sizeof( ucUSBConfig ), pdFALSE ); prvSendControlData( ( unsigned char * ) &ucUSBConfig, sizeof( ucUSBConfig ), sizeof( ucUSBConfig ), pdFALSE );
break; break;
case usbSET_FEATURE_REQUEST: case usbSET_FEATURE_REQUEST:
@ -921,7 +922,7 @@ unsigned portSHORT usStatus = 0;
address and set our state so we know we have received the address. */ address and set our state so we know we have received the address. */
prvUSBTransmitNull(); prvUSBTransmitNull();
eDriverState = eJUST_GOT_ADDRESS; eDriverState = eJUST_GOT_ADDRESS;
ulReceivedAddress = ( unsigned portLONG ) pxRequest->usValue; ulReceivedAddress = ( unsigned long ) pxRequest->usValue;
break; break;
case usbSET_CONFIGURATION_REQUEST: case usbSET_CONFIGURATION_REQUEST:
@ -930,7 +931,7 @@ unsigned portSHORT usStatus = 0;
we cannot actually move to the configured state until we get a we cannot actually move to the configured state until we get a
TXCOMP interrupt from this NULL packet. Therefore we just remember the TXCOMP interrupt from this NULL packet. Therefore we just remember the
config and set our state so we know we have received the go ahead. */ config and set our state so we know we have received the go ahead. */
ucUSBConfig = ( unsigned portCHAR ) ( pxRequest->usValue & 0xff ); ucUSBConfig = ( unsigned char ) ( pxRequest->usValue & 0xff );
eDriverState = eJUST_GOT_CONFIG; eDriverState = eJUST_GOT_CONFIG;
prvUSBTransmitNull(); prvUSBTransmitNull();
break; break;
@ -968,10 +969,10 @@ static void prvHandleClassInterfaceRequest( xUSB_REQUEST *pxRequest )
static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest ) static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest )
{ {
switch( ( pxRequest->usValue & ( unsigned portSHORT ) 0xff00 ) >> 8 ) switch( ( pxRequest->usValue & ( unsigned short ) 0xff00 ) >> 8 )
{ {
case usbHID_REPORT_DESCRIPTOR: case usbHID_REPORT_DESCRIPTOR:
prvSendControlData( ( unsigned portCHAR * ) pxReportDescriptor, pxRequest->usLength, sizeof( pxReportDescriptor ), pdTRUE ); prvSendControlData( ( unsigned char * ) pxReportDescriptor, pxRequest->usLength, sizeof( pxReportDescriptor ), pdTRUE );
break; break;
default: default:
@ -985,13 +986,13 @@ static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest )
static void prvHandleStandardInterfaceRequest( xUSB_REQUEST *pxRequest ) static void prvHandleStandardInterfaceRequest( xUSB_REQUEST *pxRequest )
{ {
unsigned portSHORT usStatus = 0; unsigned short usStatus = 0;
switch( pxRequest->ucRequest ) switch( pxRequest->ucRequest )
{ {
case usbGET_STATUS_REQUEST: case usbGET_STATUS_REQUEST:
/* Send dummy 2 bytes. */ /* Send dummy 2 bytes. */
prvSendControlData( ( unsigned portCHAR * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE ); prvSendControlData( ( unsigned char * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE );
break; break;
case usbGET_DESCRIPTOR_REQUEST: case usbGET_DESCRIPTOR_REQUEST:
@ -1028,11 +1029,11 @@ static void prvHandleStandardEndPointRequest( xUSB_REQUEST *pxRequest )
static void vInitUSBInterface( void ) static void vInitUSBInterface( void )
{ {
volatile unsigned portLONG ulTemp; volatile unsigned long ulTemp;
/* Initialise a few state variables. */ /* Initialise a few state variables. */
pxCharsForTx.ulNextCharIndex = ( unsigned portLONG ) 0; pxCharsForTx.ulNextCharIndex = ( unsigned long ) 0;
ucUSBConfig = ( unsigned portCHAR ) 0; ucUSBConfig = ( unsigned char ) 0;
eDriverState = eNOTHING; eDriverState = eNOTHING;
/* HARDWARE SETUP */ /* HARDWARE SETUP */
@ -1056,10 +1057,10 @@ volatile unsigned portLONG ulTemp;
/* When using the USB debugger the peripheral registers do not always get /* When using the USB debugger the peripheral registers do not always get
set to the correct default values. To make sure set the relevant registers set to the correct default values. To make sure set the relevant registers
manually here. */ manually here. */
AT91C_BASE_UDP->UDP_IDR = ( unsigned portLONG ) 0xffffffff; AT91C_BASE_UDP->UDP_IDR = ( unsigned long ) 0xffffffff;
AT91C_BASE_UDP->UDP_ICR = ( unsigned portLONG ) 0xffffffff; AT91C_BASE_UDP->UDP_ICR = ( unsigned long ) 0xffffffff;
AT91C_BASE_UDP->UDP_CSR[ 0 ] = ( unsigned portLONG ) 0x00; AT91C_BASE_UDP->UDP_CSR[ 0 ] = ( unsigned long ) 0x00;
AT91C_BASE_UDP->UDP_CSR[ 1 ] = ( unsigned portLONG ) 0x00; AT91C_BASE_UDP->UDP_CSR[ 1 ] = ( unsigned long ) 0x00;
AT91C_BASE_UDP->UDP_GLBSTATE = 0; AT91C_BASE_UDP->UDP_GLBSTATE = 0;
AT91C_BASE_UDP->UDP_FADDR = 0; AT91C_BASE_UDP->UDP_FADDR = 0;
@ -1077,14 +1078,14 @@ volatile unsigned portLONG ulTemp;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT usRequestedLength, unsigned portLONG ulLengthToSend, portLONG lSendingDescriptor ) static void prvSendControlData( unsigned char *pucData, unsigned short usRequestedLength, unsigned long ulLengthToSend, long lSendingDescriptor )
{ {
if( ( ( unsigned portLONG ) usRequestedLength < ulLengthToSend ) ) if( ( ( unsigned long ) usRequestedLength < ulLengthToSend ) )
{ {
/* Cap the data length to that requested. */ /* Cap the data length to that requested. */
ulLengthToSend = ( unsigned portSHORT ) usRequestedLength; ulLengthToSend = ( unsigned short ) usRequestedLength;
} }
else if( ( ulLengthToSend < ( unsigned portLONG ) usRequestedLength ) && lSendingDescriptor ) else if( ( ulLengthToSend < ( unsigned long ) usRequestedLength ) && lSendingDescriptor )
{ {
/* We are sending a descriptor. If the descriptor is an exact /* We are sending a descriptor. If the descriptor is an exact
multiple of the FIFO length then it will have to be terminated multiple of the FIFO length then it will have to be terminated
@ -1106,7 +1107,7 @@ static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT u
/* Reinitialise the buffer index so we start sending from the start of /* Reinitialise the buffer index so we start sending from the start of
the data. */ the data. */
pxCharsForTx.ulTotalDataLength = ulLengthToSend; pxCharsForTx.ulTotalDataLength = ulLengthToSend;
pxCharsForTx.ulNextCharIndex = ( unsigned portLONG ) 0; pxCharsForTx.ulNextCharIndex = ( unsigned long ) 0;
/* Send the first 8 bytes now. The rest will get sent in response to /* Send the first 8 bytes now. The rest will get sent in response to
TXCOMP interrupts. */ TXCOMP interrupts. */
@ -1116,7 +1117,7 @@ static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT u
static void prvSendNextSegment( void ) static void prvSendNextSegment( void )
{ {
volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend; volatile unsigned long ulNextLength, ulStatus, ulLengthLeftToSend;
/* Is there any data to send? */ /* Is there any data to send? */
if( pxCharsForTx.ulTotalDataLength > pxCharsForTx.ulNextCharIndex ) if( pxCharsForTx.ulTotalDataLength > pxCharsForTx.ulNextCharIndex )
@ -1141,7 +1142,7 @@ volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend;
} }
/* Write the data to the FIFO. */ /* Write the data to the FIFO. */
while( ulNextLength > ( unsigned portLONG ) 0 ) while( ulNextLength > ( unsigned long ) 0 )
{ {
AT91C_BASE_UDP->UDP_FDR[ usbEND_POINT_0 ] = pxCharsForTx.ucTxBuffer[ pxCharsForTx.ulNextCharIndex ]; AT91C_BASE_UDP->UDP_FDR[ usbEND_POINT_0 ] = pxCharsForTx.ucTxBuffer[ pxCharsForTx.ulNextCharIndex ];
@ -1153,7 +1154,7 @@ volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
ulStatus = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ]; ulStatus = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ];
usbCSR_SET_BIT( &ulStatus, ( ( unsigned portLONG ) 0x10 ) ); usbCSR_SET_BIT( &ulStatus, ( ( unsigned long ) 0x10 ) );
AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulStatus; AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulStatus;
} }
portEXIT_CRITICAL(); portEXIT_CRITICAL();

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef USB_DEMO_H #ifndef USB_DEMO_H
@ -54,15 +55,15 @@
#define usbQUEUE_LENGTH ( 0x3 ) /* Must have all bits set! */ #define usbQUEUE_LENGTH ( 0x3 ) /* Must have all bits set! */
#define usbEND_POINT_0 ( 0 ) #define usbEND_POINT_0 ( 0 )
#define usbEND_POINT_1 ( 1 ) #define usbEND_POINT_1 ( 1 )
#define usbRX_COUNT_MASK ( ( unsigned portLONG ) 0x7ff ) #define usbRX_COUNT_MASK ( ( unsigned long ) 0x7ff )
#define AT91C_UDP_STALLSENT AT91C_UDP_ISOERROR #define AT91C_UDP_STALLSENT AT91C_UDP_ISOERROR
/* Structure used to take a snapshot of the USB status from within the ISR. */ /* Structure used to take a snapshot of the USB status from within the ISR. */
typedef struct X_ISR_STATUS typedef struct X_ISR_STATUS
{ {
unsigned portLONG ulISR; unsigned long ulISR;
unsigned portLONG ulCSR0; unsigned long ulCSR0;
unsigned portCHAR ucFifoData[ 8 ]; unsigned char ucFifoData[ 8 ];
} xISRStatus; } xISRStatus;
/* Macros to manipulate the control and status registers. These registers /* Macros to manipulate the control and status registers. These registers
@ -75,14 +76,14 @@ unchanged by writing with a 1. */
/* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \ /* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \
/* STALLSENT and RX_DATA_BK1 to 1 so the */ \ /* STALLSENT and RX_DATA_BK1 to 1 so the */ \
/* write has no effect. */ \ /* write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( unsigned portLONG ) 0x4f; \ ( * ( ( unsigned long * ) pulValueNow ) ) |= ( unsigned long ) 0x4f; \
\ \
/* Clear the FORCE_STALL and TXPKTRDY bits */ \ /* Clear the FORCE_STALL and TXPKTRDY bits */ \
/* so the write has no effect. */ \ /* so the write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( unsigned portLONG ) 0xffffffcf; \ ( * ( ( unsigned long * ) pulValueNow ) ) &= ( unsigned long ) 0xffffffcf; \
\ \
/* Set whichever bit we want set. */ \ /* Set whichever bit we want set. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( ulBit ); \ ( * ( ( unsigned long * ) pulValueNow ) ) |= ( ulBit ); \
} }
/* /*

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Scheduler includes. */ /* Scheduler includes. */
@ -60,14 +61,14 @@
/* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \ /* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \
/* STALLSENT and RX_DATA_BK1 to 1 so the */ \ /* STALLSENT and RX_DATA_BK1 to 1 so the */ \
/* write has no effect. */ \ /* write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( unsigned portLONG ) 0x4f; \ ( * ( ( unsigned long * ) pulValueNow ) ) |= ( unsigned long ) 0x4f; \
\ \
/* Clear the FORCE_STALL and TXPKTRDY bits */ \ /* Clear the FORCE_STALL and TXPKTRDY bits */ \
/* so the write has no effect. */ \ /* so the write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( unsigned portLONG ) 0xffffffcf; \ ( * ( ( unsigned long * ) pulValueNow ) ) &= ( unsigned long ) 0xffffffcf; \
\ \
/* Clear whichever bit we want clear. */ \ /* Clear whichever bit we want clear. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( ~ulBit ); \ ( * ( ( unsigned long * ) pulValueNow ) ) &= ( ~ulBit ); \
} }
@ -98,9 +99,9 @@ extern xQueueHandle xUSBInterruptQueue;
void vUSB_ISR_Handler( void ) void vUSB_ISR_Handler( void )
{ {
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
static volatile unsigned portLONG ulNextMessage = 0; static volatile unsigned long ulNextMessage = 0;
xISRStatus *pxMessage; xISRStatus *pxMessage;
unsigned portLONG ulTemp, ulRxBytes; unsigned long ulTemp, ulRxBytes;
/* To reduce the amount of time spent in this interrupt it would be /* To reduce the amount of time spent in this interrupt it would be
possible to defer the majority of this processing to an 'interrupt task', possible to defer the majority of this processing to an 'interrupt task',

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -181,15 +182,15 @@ static void prvSetupHardware( void )
void vApplicationTickHook( void ) void vApplicationTickHook( void )
{ {
static unsigned portLONG ulCallCount = 0, ulErrorFound = pdFALSE; static unsigned long ulCallCount = 0, ulErrorFound = pdFALSE;
/* The rate at which LED D4 will toggle if an error has been found in one or /* The rate at which LED D4 will toggle if an error has been found in one or
more of the standard demo tasks. */ more of the standard demo tasks. */
const unsigned portLONG ulErrorFlashRate = 500 / portTICK_RATE_MS; const unsigned long ulErrorFlashRate = 500 / portTICK_RATE_MS;
/* The rate at which LED D4 will toggle if no errors have been found in any /* The rate at which LED D4 will toggle if no errors have been found in any
of the standard demo tasks. */ of the standard demo tasks. */
const unsigned portLONG ulNoErrorCheckRate = 5000 / portTICK_RATE_MS; const unsigned long ulNoErrorCheckRate = 5000 / portTICK_RATE_MS;
ulCallCount++; ulCallCount++;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#include "FreeRTOS.h" #include "FreeRTOS.h"
@ -68,7 +69,7 @@ void vPassEMACSemaphore( xSemaphoreHandle xSemaphore )
void vEMACISR_Handler( void ) void vEMACISR_Handler( void )
{ {
volatile unsigned portLONG ulIntStatus, ulRxStatus; volatile unsigned long ulIntStatus, ulRxStatus;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
ulIntStatus = AT91C_BASE_EMAC->EMAC_ISR; ulIntStatus = AT91C_BASE_EMAC->EMAC_ISR;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Standard includes. */ /* Standard includes. */
@ -72,15 +73,15 @@ to use an MII interface. */
/* The buffer addresses written into the descriptors must be aligned so the /* The buffer addresses written into the descriptors must be aligned so the
last few bits are zero. These bits have special meaning for the EMAC last few bits are zero. These bits have special meaning for the EMAC
peripheral and cannot be used as part of the address. */ peripheral and cannot be used as part of the address. */
#define emacADDRESS_MASK ( ( unsigned portLONG ) 0xFFFFFFFC ) #define emacADDRESS_MASK ( ( unsigned long ) 0xFFFFFFFC )
/* Bit used within the address stored in the descriptor to mark the last /* Bit used within the address stored in the descriptor to mark the last
descriptor in the array. */ descriptor in the array. */
#define emacRX_WRAP_BIT ( ( unsigned portLONG ) 0x02 ) #define emacRX_WRAP_BIT ( ( unsigned long ) 0x02 )
/* Bit used within the Tx descriptor status to indicate whether the /* Bit used within the Tx descriptor status to indicate whether the
descriptor is under the control of the EMAC or the software. */ descriptor is under the control of the EMAC or the software. */
#define emacTX_BUF_USED ( ( unsigned portLONG ) 0x80000000 ) #define emacTX_BUF_USED ( ( unsigned long ) 0x80000000 )
/* A short delay is used to wait for a buffer to become available, should /* A short delay is used to wait for a buffer to become available, should
one not be immediately available when trying to transmit a frame. */ one not be immediately available when trying to transmit a frame. */
@ -92,31 +93,31 @@ one not be immediately available when trying to transmit a frame. */
#define emacNO_DELAY ( 0 ) #define emacNO_DELAY ( 0 )
#define emacTOTAL_FRAME_HEADER_SIZE ( 54 ) #define emacTOTAL_FRAME_HEADER_SIZE ( 54 )
#define emacPHY_INIT_DELAY ( 5000 / portTICK_RATE_MS ) #define emacPHY_INIT_DELAY ( 5000 / portTICK_RATE_MS )
#define emacRESET_KEY ( ( unsigned portLONG ) 0xA5000000 ) #define emacRESET_KEY ( ( unsigned long ) 0xA5000000 )
#define emacRESET_LENGTH ( ( unsigned portLONG ) ( 0x01 << 8 ) ) #define emacRESET_LENGTH ( ( unsigned long ) ( 0x01 << 8 ) )
/* The Atmel header file only defines the TX frame length mask. */ /* The Atmel header file only defines the TX frame length mask. */
#define emacRX_LENGTH_FRAME ( 0xfff ) #define emacRX_LENGTH_FRAME ( 0xfff )
/* Peripheral setup for the EMAC. */ /* Peripheral setup for the EMAC. */
#define emacPERIPHERAL_A_SETUP ( ( unsigned portLONG ) AT91C_PB2_ETX0 ) | \ #define emacPERIPHERAL_A_SETUP ( ( unsigned long ) AT91C_PB2_ETX0 ) | \
( ( unsigned portLONG ) AT91C_PB12_ETXER ) | \ ( ( unsigned long ) AT91C_PB12_ETXER ) | \
( ( unsigned portLONG ) AT91C_PB16_ECOL ) | \ ( ( unsigned long ) AT91C_PB16_ECOL ) | \
( ( unsigned portLONG ) AT91C_PB11_ETX3 ) | \ ( ( unsigned long ) AT91C_PB11_ETX3 ) | \
( ( unsigned portLONG ) AT91C_PB6_ERX1 ) | \ ( ( unsigned long ) AT91C_PB6_ERX1 ) | \
( ( unsigned portLONG ) AT91C_PB15_ERXDV ) | \ ( ( unsigned long ) AT91C_PB15_ERXDV ) | \
( ( unsigned portLONG ) AT91C_PB13_ERX2 ) | \ ( ( unsigned long ) AT91C_PB13_ERX2 ) | \
( ( unsigned portLONG ) AT91C_PB3_ETX1 ) | \ ( ( unsigned long ) AT91C_PB3_ETX1 ) | \
( ( unsigned portLONG ) AT91C_PB8_EMDC ) | \ ( ( unsigned long ) AT91C_PB8_EMDC ) | \
( ( unsigned portLONG ) AT91C_PB5_ERX0 ) | \ ( ( unsigned long ) AT91C_PB5_ERX0 ) | \
( ( unsigned portLONG ) AT91C_PB14_ERX3 ) | \ ( ( unsigned long ) AT91C_PB14_ERX3 ) | \
( ( unsigned portLONG ) AT91C_PB4_ECRS_ECRSDV ) | \ ( ( unsigned long ) AT91C_PB4_ECRS_ECRSDV ) | \
( ( unsigned portLONG ) AT91C_PB1_ETXEN ) | \ ( ( unsigned long ) AT91C_PB1_ETXEN ) | \
( ( unsigned portLONG ) AT91C_PB10_ETX2 ) | \ ( ( unsigned long ) AT91C_PB10_ETX2 ) | \
( ( unsigned portLONG ) AT91C_PB0_ETXCK_EREFCK ) | \ ( ( unsigned long ) AT91C_PB0_ETXCK_EREFCK ) | \
( ( unsigned portLONG ) AT91C_PB9_EMDIO ) | \ ( ( unsigned long ) AT91C_PB9_EMDIO ) | \
( ( unsigned portLONG ) AT91C_PB7_ERXER ) | \ ( ( unsigned long ) AT91C_PB7_ERXER ) | \
( ( unsigned portLONG ) AT91C_PB17_ERXCK ); ( ( unsigned long ) AT91C_PB17_ERXCK );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -144,9 +145,9 @@ static void prvSetupEMACInterrupt( void );
/* /*
* Some initialisation functions taken from the Atmel EMAC sample code. * Some initialisation functions taken from the Atmel EMAC sample code.
*/ */
static void vReadPHY( unsigned portCHAR ucPHYAddress, unsigned portCHAR ucAddress, unsigned portLONG *pulValue ); static void vReadPHY( unsigned char ucPHYAddress, unsigned char ucAddress, unsigned long *pulValue );
#if USE_RMII_INTERFACE != 1 #if USE_RMII_INTERFACE != 1
static void vWritePHY( unsigned portCHAR ucPHYAddress, unsigned portCHAR ucAddress, unsigned portLONG ulValue); static void vWritePHY( unsigned char ucPHYAddress, unsigned char ucAddress, unsigned long ulValue);
#endif #endif
static portBASE_TYPE xGetLinkSpeed( void ); static portBASE_TYPE xGetLinkSpeed( void );
static portBASE_TYPE prvProbePHY( void ); static portBASE_TYPE prvProbePHY( void );
@ -156,12 +157,12 @@ static portBASE_TYPE prvProbePHY( void );
/* Buffer written to by the EMAC DMA. Must be aligned as described by the /* Buffer written to by the EMAC DMA. Must be aligned as described by the
comment above the emacADDRESS_MASK definition. */ comment above the emacADDRESS_MASK definition. */
#pragma data_alignment=8 #pragma data_alignment=8
static volatile portCHAR pcRxBuffer[ NB_RX_BUFFERS * ETH_RX_BUFFER_SIZE ]; static volatile char pcRxBuffer[ NB_RX_BUFFERS * ETH_RX_BUFFER_SIZE ];
/* Buffer read by the EMAC DMA. Must be aligned as described by he comment /* Buffer read by the EMAC DMA. Must be aligned as described by he comment
above the emacADDRESS_MASK definition. */ above the emacADDRESS_MASK definition. */
#pragma data_alignment=8 #pragma data_alignment=8
static portCHAR pcTxBuffer[ NB_TX_BUFFERS * ETH_TX_BUFFER_SIZE ]; static char pcTxBuffer[ NB_TX_BUFFERS * ETH_TX_BUFFER_SIZE ];
/* Descriptors used to communicate between the program and the EMAC peripheral. /* Descriptors used to communicate between the program and the EMAC peripheral.
These descriptors hold the locations and state of the Rx and Tx buffers. */ These descriptors hold the locations and state of the Rx and Tx buffers. */
@ -169,7 +170,7 @@ static volatile AT91S_TxTdDescriptor xTxDescriptors[ NB_TX_BUFFERS ];
static volatile AT91S_RxTdDescriptor xRxDescriptors[ NB_RX_BUFFERS ]; static volatile AT91S_RxTdDescriptor xRxDescriptors[ NB_RX_BUFFERS ];
/* The IP and Ethernet addresses are read from the uIP setup. */ /* The IP and Ethernet addresses are read from the uIP setup. */
const portCHAR cMACAddress[ 6 ] = { uipMAC_ADDR0, uipMAC_ADDR1, uipMAC_ADDR2, uipMAC_ADDR3, uipMAC_ADDR4, uipMAC_ADDR5 }; const char cMACAddress[ 6 ] = { uipMAC_ADDR0, uipMAC_ADDR1, uipMAC_ADDR2, uipMAC_ADDR3, uipMAC_ADDR4, uipMAC_ADDR5 };
const unsigned char ucIPAddress[ 4 ] = { uipIP_ADDR0, uipIP_ADDR1, uipIP_ADDR2, uipIP_ADDR3 }; const unsigned char ucIPAddress[ 4 ] = { uipIP_ADDR0, uipIP_ADDR1, uipIP_ADDR2, uipIP_ADDR3 };
/* The semaphore used by the EMAC ISR to wake the EMAC task. */ /* The semaphore used by the EMAC ISR to wake the EMAC task. */
@ -224,7 +225,7 @@ xSemaphoreHandle xEMACInit( void )
/* PHY configuration. */ /* PHY configuration. */
#if USE_RMII_INTERFACE != 1 #if USE_RMII_INTERFACE != 1
{ {
unsigned portLONG ulControl; unsigned long ulControl;
/* PHY has internal pull down : disable MII isolate. */ /* PHY has internal pull down : disable MII isolate. */
vReadPHY( AT91C_PHY_ADDR, MII_BMCR, &ulControl ); vReadPHY( AT91C_PHY_ADDR, MII_BMCR, &ulControl );
@ -270,12 +271,12 @@ xSemaphoreHandle xEMACInit( void )
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
portLONG lEMACSend( void ) long lEMACSend( void )
{ {
static unsigned portBASE_TYPE uxTxBufferIndex = 0; static unsigned portBASE_TYPE uxTxBufferIndex = 0;
portBASE_TYPE xWaitCycles = 0; portBASE_TYPE xWaitCycles = 0;
portLONG lReturn = pdPASS; long lReturn = pdPASS;
portCHAR *pcBuffer; char *pcBuffer;
/* Is a buffer available? */ /* Is a buffer available? */
while( !( xTxDescriptors[ uxTxBufferIndex ].U_Status.status & AT91C_TRANSMIT_OK ) ) while( !( xTxDescriptors[ uxTxBufferIndex ].U_Status.status & AT91C_TRANSMIT_OK ) )
@ -299,7 +300,7 @@ portCHAR *pcBuffer;
if( lReturn == pdPASS ) if( lReturn == pdPASS )
{ {
/* Copy the headers into the Tx buffer. These will be in the uIP buffer. */ /* Copy the headers into the Tx buffer. These will be in the uIP buffer. */
pcBuffer = ( portCHAR * ) xTxDescriptors[ uxTxBufferIndex ].addr; pcBuffer = ( char * ) xTxDescriptors[ uxTxBufferIndex ].addr;
memcpy( ( void * ) pcBuffer, ( void * ) uip_buf, emacTOTAL_FRAME_HEADER_SIZE ); memcpy( ( void * ) pcBuffer, ( void * ) uip_buf, emacTOTAL_FRAME_HEADER_SIZE );
/* If there is room, also copy in the application data if any. */ /* If there is room, also copy in the application data if any. */
@ -314,7 +315,7 @@ portCHAR *pcBuffer;
if( uxTxBufferIndex >= ( NB_TX_BUFFERS - 1 ) ) if( uxTxBufferIndex >= ( NB_TX_BUFFERS - 1 ) )
{ {
/* Fill out the necessary in the descriptor to get the data sent. */ /* Fill out the necessary in the descriptor to get the data sent. */
xTxDescriptors[ uxTxBufferIndex ].U_Status.status = ( uip_len & ( unsigned portLONG ) AT91C_LENGTH_FRAME ) xTxDescriptors[ uxTxBufferIndex ].U_Status.status = ( uip_len & ( unsigned long ) AT91C_LENGTH_FRAME )
| AT91C_LAST_BUFFER | AT91C_LAST_BUFFER
| AT91C_TRANSMIT_WRAP; | AT91C_TRANSMIT_WRAP;
uxTxBufferIndex = 0; uxTxBufferIndex = 0;
@ -322,7 +323,7 @@ portCHAR *pcBuffer;
else else
{ {
/* Fill out the necessary in the descriptor to get the data sent. */ /* Fill out the necessary in the descriptor to get the data sent. */
xTxDescriptors[ uxTxBufferIndex ].U_Status.status = ( uip_len & ( unsigned portLONG ) AT91C_LENGTH_FRAME ) xTxDescriptors[ uxTxBufferIndex ].U_Status.status = ( uip_len & ( unsigned long ) AT91C_LENGTH_FRAME )
| AT91C_LAST_BUFFER; | AT91C_LAST_BUFFER;
uxTxBufferIndex++; uxTxBufferIndex++;
} }
@ -336,11 +337,11 @@ portCHAR *pcBuffer;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
unsigned portLONG ulEMACPoll( void ) unsigned long ulEMACPoll( void )
{ {
static unsigned portBASE_TYPE ulNextRxBuffer = 0; static unsigned portBASE_TYPE ulNextRxBuffer = 0;
unsigned portLONG ulSectionLength = 0, ulLengthSoFar = 0, ulEOF = pdFALSE; unsigned long ulSectionLength = 0, ulLengthSoFar = 0, ulEOF = pdFALSE;
portCHAR *pcSource; char *pcSource;
/* Skip any fragments. */ /* Skip any fragments. */
while( ( xRxDescriptors[ ulNextRxBuffer ].addr & AT91C_OWNERSHIP_BIT ) && !( xRxDescriptors[ ulNextRxBuffer ].U_Status.status & AT91C_SOF ) ) while( ( xRxDescriptors[ ulNextRxBuffer ].addr & AT91C_OWNERSHIP_BIT ) && !( xRxDescriptors[ ulNextRxBuffer ].U_Status.status & AT91C_SOF ) )
@ -358,7 +359,7 @@ portCHAR *pcSource;
while( ( xRxDescriptors[ ulNextRxBuffer ].addr & AT91C_OWNERSHIP_BIT ) && !ulSectionLength ) while( ( xRxDescriptors[ ulNextRxBuffer ].addr & AT91C_OWNERSHIP_BIT ) && !ulSectionLength )
{ {
pcSource = ( portCHAR * )( xRxDescriptors[ ulNextRxBuffer ].addr & emacADDRESS_MASK ); pcSource = ( char * )( xRxDescriptors[ ulNextRxBuffer ].addr & emacADDRESS_MASK );
ulSectionLength = xRxDescriptors[ ulNextRxBuffer ].U_Status.status & emacRX_LENGTH_FRAME; ulSectionLength = xRxDescriptors[ ulNextRxBuffer ].U_Status.status & emacRX_LENGTH_FRAME;
if( ulSectionLength == 0 ) if( ulSectionLength == 0 )
@ -417,13 +418,13 @@ portCHAR *pcSource;
static void prvSetupDescriptors(void) static void prvSetupDescriptors(void)
{ {
unsigned portBASE_TYPE xIndex; unsigned portBASE_TYPE xIndex;
unsigned portLONG ulAddress; unsigned long ulAddress;
/* Initialise xRxDescriptors descriptor. */ /* Initialise xRxDescriptors descriptor. */
for( xIndex = 0; xIndex < NB_RX_BUFFERS; ++xIndex ) for( xIndex = 0; xIndex < NB_RX_BUFFERS; ++xIndex )
{ {
/* Calculate the address of the nth buffer within the array. */ /* Calculate the address of the nth buffer within the array. */
ulAddress = ( unsigned portLONG )( pcRxBuffer + ( xIndex * ETH_RX_BUFFER_SIZE ) ); ulAddress = ( unsigned long )( pcRxBuffer + ( xIndex * ETH_RX_BUFFER_SIZE ) );
/* Write the buffer address into the descriptor. The DMA will place /* Write the buffer address into the descriptor. The DMA will place
the data at this address when this descriptor is being used. Mask off the data at this address when this descriptor is being used. Mask off
@ -439,7 +440,7 @@ unsigned portLONG ulAddress;
for( xIndex = 0; xIndex < NB_TX_BUFFERS; ++xIndex ) for( xIndex = 0; xIndex < NB_TX_BUFFERS; ++xIndex )
{ {
/* Calculate the address of the nth buffer within the array. */ /* Calculate the address of the nth buffer within the array. */
ulAddress = ( unsigned portLONG )( pcTxBuffer + ( xIndex * ETH_TX_BUFFER_SIZE ) ); ulAddress = ( unsigned long )( pcTxBuffer + ( xIndex * ETH_TX_BUFFER_SIZE ) );
/* Write the buffer address into the descriptor. The DMA will read /* Write the buffer address into the descriptor. The DMA will read
data from here when the descriptor is being used. */ data from here when the descriptor is being used. */
@ -452,8 +453,8 @@ unsigned portLONG ulAddress;
xTxDescriptors[ NB_TX_BUFFERS - 1 ].U_Status.status = AT91C_TRANSMIT_WRAP | AT91C_TRANSMIT_OK; xTxDescriptors[ NB_TX_BUFFERS - 1 ].U_Status.status = AT91C_TRANSMIT_WRAP | AT91C_TRANSMIT_OK;
/* Tell the EMAC where to find the descriptors. */ /* Tell the EMAC where to find the descriptors. */
AT91C_BASE_EMAC->EMAC_RBQP = ( unsigned portLONG ) xRxDescriptors; AT91C_BASE_EMAC->EMAC_RBQP = ( unsigned long ) xRxDescriptors;
AT91C_BASE_EMAC->EMAC_TBQP = ( unsigned portLONG ) xTxDescriptors; AT91C_BASE_EMAC->EMAC_TBQP = ( unsigned long ) xTxDescriptors;
/* Clear all the bits in the receive status register. */ /* Clear all the bits in the receive status register. */
AT91C_BASE_EMAC->EMAC_RSR = ( AT91C_EMAC_OVR | AT91C_EMAC_REC | AT91C_EMAC_BNA ); AT91C_BASE_EMAC->EMAC_RSR = ( AT91C_EMAC_OVR | AT91C_EMAC_REC | AT91C_EMAC_BNA );
@ -470,12 +471,12 @@ unsigned portLONG ulAddress;
static void prvSetupMACAddress( void ) static void prvSetupMACAddress( void )
{ {
/* Must be written SA1L then SA1H. */ /* Must be written SA1L then SA1H. */
AT91C_BASE_EMAC->EMAC_SA1L = ( ( unsigned portLONG ) cMACAddress[ 3 ] << 24 ) | AT91C_BASE_EMAC->EMAC_SA1L = ( ( unsigned long ) cMACAddress[ 3 ] << 24 ) |
( ( unsigned portLONG ) cMACAddress[ 2 ] << 16 ) | ( ( unsigned long ) cMACAddress[ 2 ] << 16 ) |
( ( unsigned portLONG ) cMACAddress[ 1 ] << 8 ) | ( ( unsigned long ) cMACAddress[ 1 ] << 8 ) |
cMACAddress[ 0 ]; cMACAddress[ 0 ];
AT91C_BASE_EMAC->EMAC_SA1H = ( ( unsigned portLONG ) cMACAddress[ 5 ] << 8 ) | AT91C_BASE_EMAC->EMAC_SA1H = ( ( unsigned long ) cMACAddress[ 5 ] << 8 ) |
cMACAddress[ 4 ]; cMACAddress[ 4 ];
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -513,7 +514,7 @@ static void prvSetupEMACInterrupt( void )
static portBASE_TYPE prvProbePHY( void ) static portBASE_TYPE prvProbePHY( void )
{ {
unsigned portLONG ulPHYId1, ulPHYId2, ulStatus; unsigned long ulPHYId1, ulPHYId2, ulStatus;
portBASE_TYPE xReturn = pdPASS; portBASE_TYPE xReturn = pdPASS;
/* Code supplied by Atmel (reformatted) -----------------*/ /* Code supplied by Atmel (reformatted) -----------------*/
@ -556,7 +557,7 @@ portBASE_TYPE xReturn = pdPASS;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static void vReadPHY( unsigned portCHAR ucPHYAddress, unsigned portCHAR ucAddress, unsigned portLONG *pulValue ) static void vReadPHY( unsigned char ucPHYAddress, unsigned char ucAddress, unsigned long *pulValue )
{ {
/* Code supplied by Atmel (reformatted) ----------------------*/ /* Code supplied by Atmel (reformatted) ----------------------*/
@ -578,7 +579,7 @@ static void vReadPHY( unsigned portCHAR ucPHYAddress, unsigned portCHAR ucAddres
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if USE_RMII_INTERFACE != 1 #if USE_RMII_INTERFACE != 1
static void vWritePHY( unsigned portCHAR ucPHYAddress, unsigned portCHAR ucAddress, unsigned portLONG ulValue ) static void vWritePHY( unsigned char ucPHYAddress, unsigned char ucAddress, unsigned long ulValue )
{ {
/* Code supplied by Atmel (reformatted) ----------------------*/ /* Code supplied by Atmel (reformatted) ----------------------*/
@ -601,7 +602,7 @@ static void vWritePHY( unsigned portCHAR ucPHYAddress, unsigned portCHAR ucAddre
static portBASE_TYPE xGetLinkSpeed( void ) static portBASE_TYPE xGetLinkSpeed( void )
{ {
unsigned portLONG ulBMSR, ulBMCR, ulLPA, ulMACCfg, ulSpeed, ulDuplex; unsigned long ulBMSR, ulBMCR, ulLPA, ulMACCfg, ulSpeed, ulDuplex;
/* Code supplied by Atmel (reformatted) -----------------*/ /* Code supplied by Atmel (reformatted) -----------------*/

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef SAM_7_EMAC_H #ifndef SAM_7_EMAC_H
@ -60,12 +61,12 @@ xSemaphoreHandle xEMACInit( void );
* Send the current uIP buffer. This copies the uIP buffer to one of the * Send the current uIP buffer. This copies the uIP buffer to one of the
* EMAC Tx buffers, then indicates to the EMAC that the buffer is ready. * EMAC Tx buffers, then indicates to the EMAC that the buffer is ready.
*/ */
portLONG lEMACSend( void ); long lEMACSend( void );
/* /*
* Called in response to an EMAC Rx interrupt. Copies the received frame * Called in response to an EMAC Rx interrupt. Copies the received frame
* into the uIP buffer. * into the uIP buffer.
*/ */
unsigned portLONG ulEMACPoll( void ); unsigned long ulEMACPoll( void );
#endif #endif

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef UIP_TASK_H #ifndef UIP_TASK_H

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -66,10 +67,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 58982400 ) /* =14.7456MHz xtal multiplied by 4 using the PLL. */ #define configCPU_CLOCK_HZ ( ( unsigned long ) 58982400 ) /* =14.7456MHz xtal multiplied by 4 using the PLL. */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 128 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24 * 1024 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
#/* #/*
# FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. # FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
# #
# This file is part of the FreeRTOS distribution. # This file is part of the FreeRTOS distribution.
# #
# FreeRTOS is free software; you can redistribute it and/or modify it under # FreeRTOS is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License (version 2) as published by the # the terms of the GNU General Public License (version 2) as published by the
# Free Software Foundation and modified by the FreeRTOS exception. # Free Software Foundation and modified by the FreeRTOS exception.
# **NOTE** The exception to the GPL is included to allow you to distribute a # **NOTE** The exception to the GPL is included to allow you to distribute a
# combined work that includes FreeRTOS without being obliged to provide the # combined work that includes FreeRTOS without being obliged to provide the
# source code for proprietary components outside of the FreeRTOS kernel. # source code for proprietary components outside of the FreeRTOS kernel.
# Alternative commercial license and support terms are also available upon # Alternative commercial license and support terms are also available upon
# request. See the licensing section of http://www.FreeRTOS.org for full # request. See the licensing section of http://www.FreeRTOS.org for full
# license details. # license details.
# #
# FreeRTOS is distributed in the hope that it will be useful, but WITHOUT # FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details. # more details.
# #
# You should have received a copy of the GNU General Public License along # You should have received a copy of the GNU General Public License along
# with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 # with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
# Temple Place, Suite 330, Boston, MA 02111-1307 USA. # Temple Place, Suite 330, Boston, MA 02111-1307 USA.
# #
# #
# *************************************************************************** # ***************************************************************************
# * * # * *
# * Looking for a quick start? Then check out the FreeRTOS eBook! * # * The FreeRTOS eBook and reference manual are available to purchase for a *
# * See http://www.FreeRTOS.org/Documentation for details * # * small fee. Help yourself get started quickly while also helping the *
# * * # * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
# *************************************************************************** # * *
# ***************************************************************************
# #
# 1 tab == 4 spaces! # 1 tab == 4 spaces!
# #
# Please ensure to read the configuration and relevant port sections of the # Please ensure to read the configuration and relevant port sections of the
# online documentation. # online documentation.
# #
# http://www.FreeRTOS.org - Documentation, latest information, license and # http://www.FreeRTOS.org - Documentation, latest information, license and
# contact details. # contact details.
# #
# http://www.SafeRTOS.com - A version that is certified for use in safety # http://www.SafeRTOS.com - A version that is certified for use in safety
# critical systems. # critical systems.
# #
# http://www.OpenRTOS.com - Commercial support, development, porting, # http://www.OpenRTOS.com - Commercial support, development, porting,
# licensing and training services. # licensing and training services.
#*/ #*/
CC=arm-elf-gcc CC=arm-elf-gcc

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -55,9 +56,9 @@
#include "FreeRTOS.h" #include "FreeRTOS.h"
#include "partest.h" #include "partest.h"
#define partstFIRST_IO ( ( unsigned portLONG ) 0x400 ) #define partstFIRST_IO ( ( unsigned long ) 0x400 )
#define partstNUM_LEDS ( 4 ) #define partstNUM_LEDS ( 4 )
#define partstALL_OUTPUTS_OFF ( ( unsigned portLONG ) 0xffffffff ) #define partstALL_OUTPUTS_OFF ( ( unsigned long ) 0xffffffff )
/*----------------------------------------------------------- /*-----------------------------------------------------------
* Simple parallel port IO routines. * Simple parallel port IO routines.
@ -75,13 +76,13 @@ void vParTestInitialise( void )
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue ) void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{ {
unsigned portLONG ulLED = partstFIRST_IO; unsigned long ulLED = partstFIRST_IO;
if( uxLED < partstNUM_LEDS ) if( uxLED < partstNUM_LEDS )
{ {
/* Rotate to the wanted bit of port 0. Only P10 to P13 have an LED /* Rotate to the wanted bit of port 0. Only P10 to P13 have an LED
attached. */ attached. */
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
/* Set of clear the output. */ /* Set of clear the output. */
if( xValue ) if( xValue )
@ -98,13 +99,13 @@ unsigned portLONG ulLED = partstFIRST_IO;
void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{ {
unsigned portLONG ulLED = partstFIRST_IO, ulCurrentState; unsigned long ulLED = partstFIRST_IO, ulCurrentState;
if( uxLED < partstNUM_LEDS ) if( uxLED < partstNUM_LEDS )
{ {
/* Rotate to the wanted bit of port 0. Only P10 to P13 have an LED /* Rotate to the wanted bit of port 0. Only P10 to P13 have an LED
attached. */ attached. */
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
/* If this bit is already set, clear it, and visa versa. */ /* If this bit is already set, clear it, and visa versa. */
ulCurrentState = GPIO0_IOPIN; ulCurrentState = GPIO0_IOPIN;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -114,29 +115,29 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Constants to setup I/O. */ /* Constants to setup I/O. */
#define mainTX_ENABLE ( ( unsigned portLONG ) 0x0001 ) #define mainTX_ENABLE ( ( unsigned long ) 0x0001 )
#define mainRX_ENABLE ( ( unsigned portLONG ) 0x0004 ) #define mainRX_ENABLE ( ( unsigned long ) 0x0004 )
#define mainP0_14 ( ( unsigned portLONG ) 0x4000 ) #define mainP0_14 ( ( unsigned long ) 0x4000 )
#define mainJTAG_PORT ( ( unsigned portLONG ) 0x3E0000UL ) #define mainJTAG_PORT ( ( unsigned long ) 0x3E0000UL )
/* Constants to setup the PLL. */ /* Constants to setup the PLL. */
#define mainPLL_MUL_4 ( ( unsigned portCHAR ) 0x0003 ) #define mainPLL_MUL_4 ( ( unsigned char ) 0x0003 )
#define mainPLL_DIV_1 ( ( unsigned portCHAR ) 0x0000 ) #define mainPLL_DIV_1 ( ( unsigned char ) 0x0000 )
#define mainPLL_ENABLE ( ( unsigned portCHAR ) 0x0001 ) #define mainPLL_ENABLE ( ( unsigned char ) 0x0001 )
#define mainPLL_CONNECT ( ( unsigned portCHAR ) 0x0003 ) #define mainPLL_CONNECT ( ( unsigned char ) 0x0003 )
#define mainPLL_FEED_BYTE1 ( ( unsigned portCHAR ) 0xaa ) #define mainPLL_FEED_BYTE1 ( ( unsigned char ) 0xaa )
#define mainPLL_FEED_BYTE2 ( ( unsigned portCHAR ) 0x55 ) #define mainPLL_FEED_BYTE2 ( ( unsigned char ) 0x55 )
#define mainPLL_LOCK ( ( unsigned portLONG ) 0x0400 ) #define mainPLL_LOCK ( ( unsigned long ) 0x0400 )
/* Constants to setup the MAM. */ /* Constants to setup the MAM. */
#define mainMAM_TIM_3 ( ( unsigned portCHAR ) 0x03 ) #define mainMAM_TIM_3 ( ( unsigned char ) 0x03 )
#define mainMAM_MODE_FULL ( ( unsigned portCHAR ) 0x02 ) #define mainMAM_MODE_FULL ( ( unsigned char ) 0x02 )
/* Constants to setup the peripheral bus. */ /* Constants to setup the peripheral bus. */
#define mainBUS_CLK_FULL ( ( unsigned portCHAR ) 0x01 ) #define mainBUS_CLK_FULL ( ( unsigned char ) 0x01 )
/* Constants for the ComTest tasks. */ /* Constants for the ComTest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
#define mainCOM_TEST_LED ( 3 ) #define mainCOM_TEST_LED ( 3 )
/* Priorities for the demo application tasks. */ /* Priorities for the demo application tasks. */
@ -151,10 +152,10 @@
error. */ error. */
#define mainNO_ERROR_FLASH_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS ) #define mainNO_ERROR_FLASH_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS )
#define mainERROR_FLASH_PERIOD ( ( portTickType ) 500 / portTICK_RATE_MS ) #define mainERROR_FLASH_PERIOD ( ( portTickType ) 500 / portTICK_RATE_MS )
#define mainON_BOARD_LED_BIT ( ( unsigned portLONG ) 0x80 ) #define mainON_BOARD_LED_BIT ( ( unsigned long ) 0x80 )
/* Constants used by the vMemCheckTask() task. */ /* Constants used by the vMemCheckTask() task. */
#define mainCOUNT_INITIAL_VALUE ( ( unsigned portLONG ) 0 ) #define mainCOUNT_INITIAL_VALUE ( ( unsigned long ) 0 )
#define mainNO_TASK ( 0 ) #define mainNO_TASK ( 0 )
/* The size of the memory blocks allocated by the vMemCheckTask() task. */ /* The size of the memory blocks allocated by the vMemCheckTask() task. */
@ -174,7 +175,7 @@ void prvToggleOnBoardLED( void );
* Checks that all the demo application tasks are still executing without error * Checks that all the demo application tasks are still executing without error
* - as described at the top of the file. * - as described at the top of the file.
*/ */
static portLONG prvCheckOtherTasksAreStillRunning( unsigned portLONG ulMemCheckTaskCount ); static long prvCheckOtherTasksAreStillRunning( unsigned long ulMemCheckTaskCount );
/* /*
* The task that executes at the highest priority and calls * The task that executes at the highest priority and calls
@ -217,7 +218,7 @@ int main( void )
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY ); vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
/* Start the check task - which is defined in this file. */ /* Start the check task - which is defined in this file. */
xTaskCreate( vErrorChecks, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); xTaskCreate( vErrorChecks, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
/* Now all the tasks have been started - start the scheduler. /* Now all the tasks have been started - start the scheduler.
@ -236,7 +237,7 @@ int main( void )
static void vErrorChecks( void *pvParameters ) static void vErrorChecks( void *pvParameters )
{ {
portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD; portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;
unsigned portLONG ulMemCheckTaskRunningCount; unsigned long ulMemCheckTaskRunningCount;
xTaskHandle xCreatedTask; xTaskHandle xCreatedTask;
/* The parameters are not used in this function. */ /* The parameters are not used in this function. */
@ -260,7 +261,7 @@ xTaskHandle xCreatedTask;
ulMemCheckTaskRunningCount = mainCOUNT_INITIAL_VALUE; ulMemCheckTaskRunningCount = mainCOUNT_INITIAL_VALUE;
xCreatedTask = mainNO_TASK; xCreatedTask = mainNO_TASK;
if( xTaskCreate( vMemCheckTask, ( signed portCHAR * ) "MEM_CHECK", configMINIMAL_STACK_SIZE, ( void * ) &ulMemCheckTaskRunningCount, tskIDLE_PRIORITY, &xCreatedTask ) != pdPASS ) if( xTaskCreate( vMemCheckTask, ( signed char * ) "MEM_CHECK", configMINIMAL_STACK_SIZE, ( void * ) &ulMemCheckTaskRunningCount, tskIDLE_PRIORITY, &xCreatedTask ) != pdPASS )
{ {
/* Could not create the task - we have probably run out of heap. */ /* Could not create the task - we have probably run out of heap. */
xDelayPeriod = mainERROR_FLASH_PERIOD; xDelayPeriod = mainERROR_FLASH_PERIOD;
@ -339,7 +340,7 @@ static void prvSetupHardware( void )
void prvToggleOnBoardLED( void ) void prvToggleOnBoardLED( void )
{ {
unsigned portLONG ulState; unsigned long ulState;
ulState = GPIO0_IOPIN; ulState = GPIO0_IOPIN;
if( ulState & mainON_BOARD_LED_BIT ) if( ulState & mainON_BOARD_LED_BIT )
@ -353,9 +354,9 @@ unsigned portLONG ulState;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static portLONG prvCheckOtherTasksAreStillRunning( unsigned portLONG ulMemCheckTaskCount ) static long prvCheckOtherTasksAreStillRunning( unsigned long ulMemCheckTaskCount )
{ {
portLONG lReturn = ( portLONG ) pdPASS; long lReturn = ( long ) pdPASS;
/* Check all the demo tasks (other than the flash tasks) to ensure /* Check all the demo tasks (other than the flash tasks) to ensure
that they are all still running, and that none of them have detected that they are all still running, and that none of them have detected
@ -363,44 +364,44 @@ portLONG lReturn = ( portLONG ) pdPASS;
if( xAreIntegerMathsTaskStillRunning() != pdTRUE ) if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreComTestTasksStillRunning() != pdTRUE ) if( xAreComTestTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xArePollingQueuesStillRunning() != pdTRUE ) if( xArePollingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreMathsTaskStillRunning() != pdTRUE ) if( xAreMathsTaskStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreSemaphoreTasksStillRunning() != pdTRUE ) if( xAreSemaphoreTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE ) if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreBlockingQueuesStillRunning() != pdTRUE ) if( xAreBlockingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( ulMemCheckTaskCount == mainCOUNT_INITIAL_VALUE ) if( ulMemCheckTaskCount == mainCOUNT_INITIAL_VALUE )
{ {
/* The vMemCheckTask did not increment the counter - it must /* The vMemCheckTask did not increment the counter - it must
have failed. */ have failed. */
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
return lReturn; return lReturn;
@ -409,9 +410,9 @@ portLONG lReturn = ( portLONG ) pdPASS;
static void vMemCheckTask( void *pvParameters ) static void vMemCheckTask( void *pvParameters )
{ {
unsigned portLONG *pulMemCheckTaskRunningCounter; unsigned long *pulMemCheckTaskRunningCounter;
void *pvMem1, *pvMem2, *pvMem3; void *pvMem1, *pvMem2, *pvMem3;
static portLONG lErrorOccurred = pdFALSE; static long lErrorOccurred = pdFALSE;
/* This task is dynamically created then deleted during each cycle of the /* This task is dynamically created then deleted during each cycle of the
vErrorChecks task to check the operation of the memory allocator. Each time vErrorChecks task to check the operation of the memory allocator. Each time
@ -424,7 +425,7 @@ static portLONG lErrorOccurred = pdFALSE;
pulMemCheckTaskRunningCounter is incremented each cycle to indicate to the pulMemCheckTaskRunningCounter is incremented each cycle to indicate to the
vErrorChecks() task that this task is still executing without error. */ vErrorChecks() task that this task is still executing without error. */
pulMemCheckTaskRunningCounter = ( unsigned portLONG * ) pvParameters; pulMemCheckTaskRunningCounter = ( unsigned long * ) pvParameters;
for( ;; ) for( ;; )
{ {

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -87,20 +88,20 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Constants to setup and access the UART. */ /* Constants to setup and access the UART. */
#define serDLAB ( ( unsigned portCHAR ) 0x80 ) #define serDLAB ( ( unsigned char ) 0x80 )
#define serENABLE_INTERRUPTS ( ( unsigned portCHAR ) 0x03 ) #define serENABLE_INTERRUPTS ( ( unsigned char ) 0x03 )
#define serNO_PARITY ( ( unsigned portCHAR ) 0x00 ) #define serNO_PARITY ( ( unsigned char ) 0x00 )
#define ser1_STOP_BIT ( ( unsigned portCHAR ) 0x00 ) #define ser1_STOP_BIT ( ( unsigned char ) 0x00 )
#define ser8_BIT_CHARS ( ( unsigned portCHAR ) 0x03 ) #define ser8_BIT_CHARS ( ( unsigned char ) 0x03 )
#define serFIFO_ON ( ( unsigned portCHAR ) 0x01 ) #define serFIFO_ON ( ( unsigned char ) 0x01 )
#define serCLEAR_FIFO ( ( unsigned portCHAR ) 0x06 ) #define serCLEAR_FIFO ( ( unsigned char ) 0x06 )
#define serWANTED_CLOCK_SCALING ( ( unsigned portLONG ) 16 ) #define serWANTED_CLOCK_SCALING ( ( unsigned long ) 16 )
/* Constants to setup and access the VIC. */ /* Constants to setup and access the VIC. */
#define serUART0_VIC_CHANNEL ( ( unsigned portLONG ) 0x0006 ) #define serUART0_VIC_CHANNEL ( ( unsigned long ) 0x0006 )
#define serUART0_VIC_CHANNEL_BIT ( ( unsigned portLONG ) 0x0040 ) #define serUART0_VIC_CHANNEL_BIT ( ( unsigned long ) 0x0040 )
#define serUART0_VIC_ENABLE ( ( unsigned portLONG ) 0x0020 ) #define serUART0_VIC_ENABLE ( ( unsigned long ) 0x0020 )
#define serCLEAR_VIC_INTERRUPT ( ( unsigned portLONG ) 0 ) #define serCLEAR_VIC_INTERRUPT ( ( unsigned long ) 0 )
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 ) #define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
#define serHANDLE ( ( xComPortHandle ) 1 ) #define serHANDLE ( ( xComPortHandle ) 1 )
@ -116,19 +117,19 @@ static xQueueHandle xCharsForTx;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Communication flag between the interrupt service routine and serial API. */ /* Communication flag between the interrupt service routine and serial API. */
static volatile portLONG *plTHREEmpty; static volatile long *plTHREEmpty;
/* /*
* The queues are created in serialISR.c as they are used from the ISR. * The queues are created in serialISR.c as they are used from the ISR.
* Obtain references to the queues and THRE Empty flag. * Obtain references to the queues and THRE Empty flag.
*/ */
extern void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx, portLONG volatile **pplTHREEmptyFlag ); extern void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx, long volatile **pplTHREEmptyFlag );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
unsigned portLONG ulDivisor, ulWantedClock; unsigned long ulDivisor, ulWantedClock;
xComPortHandle xReturn = serHANDLE; xComPortHandle xReturn = serHANDLE;
extern void ( vUART_ISR_Wrapper )( void ); extern void ( vUART_ISR_Wrapper )( void );
@ -139,7 +140,7 @@ extern void ( vUART_ISR_Wrapper )( void );
if( if(
( xRxedChars != serINVALID_QUEUE ) && ( xRxedChars != serINVALID_QUEUE ) &&
( xCharsForTx != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) &&
( ulWantedBaud != ( unsigned portLONG ) 0 ) ( ulWantedBaud != ( unsigned long ) 0 )
) )
{ {
portENTER_CRITICAL(); portENTER_CRITICAL();
@ -152,9 +153,9 @@ extern void ( vUART_ISR_Wrapper )( void );
UART0_LCR |= serDLAB; UART0_LCR |= serDLAB;
/* Setup the divisor. */ /* Setup the divisor. */
UART0_DLL = ( unsigned portCHAR ) ( ulDivisor & ( unsigned portLONG ) 0xff ); UART0_DLL = ( unsigned char ) ( ulDivisor & ( unsigned long ) 0xff );
ulDivisor >>= 8; ulDivisor >>= 8;
UART0_DLM = ( unsigned portCHAR ) ( ulDivisor & ( unsigned portLONG ) 0xff ); UART0_DLM = ( unsigned char ) ( ulDivisor & ( unsigned long ) 0xff );
/* Turn on the FIFO's and clear the buffers. */ /* Turn on the FIFO's and clear the buffers. */
UART0_FCR = ( serFIFO_ON | serCLEAR_FIFO ); UART0_FCR = ( serFIFO_ON | serCLEAR_FIFO );
@ -165,7 +166,7 @@ extern void ( vUART_ISR_Wrapper )( void );
/* Setup the VIC for the UART. */ /* Setup the VIC for the UART. */
VICIntSelect &= ~( serUART0_VIC_CHANNEL_BIT ); VICIntSelect &= ~( serUART0_VIC_CHANNEL_BIT );
VICIntEnable |= serUART0_VIC_CHANNEL_BIT; VICIntEnable |= serUART0_VIC_CHANNEL_BIT;
VICVectAddr1 = ( portLONG ) vUART_ISR_Wrapper; VICVectAddr1 = ( long ) vUART_ISR_Wrapper;
VICVectCntl1 = serUART0_VIC_CHANNEL | serUART0_VIC_ENABLE; VICVectCntl1 = serUART0_VIC_CHANNEL | serUART0_VIC_ENABLE;
/* Enable UART0 interrupts. */ /* Enable UART0 interrupts. */
@ -182,7 +183,7 @@ extern void ( vUART_ISR_Wrapper )( void );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports UART0. */ /* The port handle is not required as this driver only supports UART0. */
( void ) pxPort; ( void ) pxPort;
@ -200,9 +201,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* NOTE: This implementation does not handle the queue being full as no /* NOTE: This implementation does not handle the queue being full as no
block time is used! */ block time is used! */
@ -212,7 +213,7 @@ signed portCHAR *pxNext;
( void ) usStringLength; ( void ) usStringLength;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -221,7 +222,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
signed portBASE_TYPE xReturn; signed portBASE_TYPE xReturn;
@ -231,7 +232,7 @@ signed portBASE_TYPE xReturn;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
/* Is there space to write directly to the UART? */ /* Is there space to write directly to the UART? */
if( *plTHREEmpty == ( portLONG ) pdTRUE ) if( *plTHREEmpty == ( long ) pdTRUE )
{ {
/* We wrote the character directly to the UART, so was /* We wrote the character directly to the UART, so was
successful. */ successful. */
@ -250,7 +251,7 @@ signed portBASE_TYPE xReturn;
were blocked waiting to post interrupts were not disabled. It is were blocked waiting to post interrupts were not disabled. It is
possible that the serial ISR has emptied the Tx queue, in which possible that the serial ISR has emptied the Tx queue, in which
case we need to start the Tx off again. */ case we need to start the Tx off again. */
if( ( *plTHREEmpty == ( portLONG ) pdTRUE ) && ( xReturn == pdPASS ) ) if( ( *plTHREEmpty == ( long ) pdTRUE ) && ( xReturn == pdPASS ) )
{ {
xQueueReceive( xCharsForTx, &cOutChar, serNO_BLOCK ); xQueueReceive( xCharsForTx, &cOutChar, serNO_BLOCK );
*plTHREEmpty = pdFALSE; *plTHREEmpty = pdFALSE;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -69,20 +70,20 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Constant to access the VIC. */ /* Constant to access the VIC. */
#define serCLEAR_VIC_INTERRUPT ( ( unsigned portLONG ) 0 ) #define serCLEAR_VIC_INTERRUPT ( ( unsigned long ) 0 )
/* Constants to determine the ISR source. */ /* Constants to determine the ISR source. */
#define serSOURCE_THRE ( ( unsigned portCHAR ) 0x02 ) #define serSOURCE_THRE ( ( unsigned char ) 0x02 )
#define serSOURCE_RX_TIMEOUT ( ( unsigned portCHAR ) 0x0c ) #define serSOURCE_RX_TIMEOUT ( ( unsigned char ) 0x0c )
#define serSOURCE_ERROR ( ( unsigned portCHAR ) 0x06 ) #define serSOURCE_ERROR ( ( unsigned char ) 0x06 )
#define serSOURCE_RX ( ( unsigned portCHAR ) 0x04 ) #define serSOURCE_RX ( ( unsigned char ) 0x04 )
#define serINTERRUPT_SOURCE_MASK ( ( unsigned portCHAR ) 0x0f ) #define serINTERRUPT_SOURCE_MASK ( ( unsigned char ) 0x0f )
/* Queues used to hold received characters, and characters waiting to be /* Queues used to hold received characters, and characters waiting to be
transmitted. */ transmitted. */
static xQueueHandle xRxedChars; static xQueueHandle xRxedChars;
static xQueueHandle xCharsForTx; static xQueueHandle xCharsForTx;
static volatile portLONG lTHREEmpty; static volatile long lTHREEmpty;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -90,7 +91,7 @@ static volatile portLONG lTHREEmpty;
* The queues are created in serialISR.c as they are used from the ISR. * The queues are created in serialISR.c as they are used from the ISR.
* Obtain references to the queues and THRE Empty flag. * Obtain references to the queues and THRE Empty flag.
*/ */
void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx, portLONG volatile **pplTHREEmptyFlag ); void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx, long volatile **pplTHREEmptyFlag );
/* UART0 interrupt service routine entry point. */ /* UART0 interrupt service routine entry point. */
void vUART_ISR_Wrapper( void ) __attribute__ ((naked)); void vUART_ISR_Wrapper( void ) __attribute__ ((naked));
@ -100,11 +101,11 @@ void vUART_ISR_Handler( void ) __attribute__ ((noinline));
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars,
xQueueHandle *pxCharsForTx, portLONG volatile **pplTHREEmptyFlag ) xQueueHandle *pxCharsForTx, long volatile **pplTHREEmptyFlag )
{ {
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* Pass back a reference to the queues so the serial API file can /* Pass back a reference to the queues so the serial API file can
post/receive characters. */ post/receive characters. */
@ -112,7 +113,7 @@ void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle
*pxCharsForTx = xCharsForTx; *pxCharsForTx = xCharsForTx;
/* Initialise the THRE empty flag - and pass back a reference. */ /* Initialise the THRE empty flag - and pass back a reference. */
lTHREEmpty = ( portLONG ) pdTRUE; lTHREEmpty = ( long ) pdTRUE;
*pplTHREEmptyFlag = &lTHREEmpty; *pplTHREEmptyFlag = &lTHREEmpty;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -133,7 +134,7 @@ void vUART_ISR_Wrapper( void )
void vUART_ISR_Handler( void ) void vUART_ISR_Handler( void )
{ {
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* What caused the interrupt? */ /* What caused the interrupt? */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -66,10 +67,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 60000000 ) /* =12.0MHz xtal multiplied by 5 using the PLL. */ #define configCPU_CLOCK_HZ ( ( unsigned long ) 60000000 ) /* =12.0MHz xtal multiplied by 5 using the PLL. */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) 14200 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) 14200 )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/*----------------------------------------------------------- /*-----------------------------------------------------------
@ -57,7 +58,7 @@
#include "partest.h" #include "partest.h"
/* Board specific defines. */ /* Board specific defines. */
#define partstFIRST_IO ( ( unsigned portLONG ) 0x10000 ) #define partstFIRST_IO ( ( unsigned long ) 0x10000 )
#define partstNUM_LEDS ( 8 ) #define partstNUM_LEDS ( 8 )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -70,13 +71,13 @@ void vParTestInitialise( void )
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue ) void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{ {
unsigned portLONG ulLED = partstFIRST_IO; unsigned long ulLED = partstFIRST_IO;
if( uxLED < partstNUM_LEDS ) if( uxLED < partstNUM_LEDS )
{ {
/* Rotate to the wanted bit of port 1. Only P16 to P23 have an LED /* Rotate to the wanted bit of port 1. Only P16 to P23 have an LED
attached. */ attached. */
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
/* Set or clear the output. */ /* Set or clear the output. */
if( xValue ) if( xValue )
@ -93,13 +94,13 @@ unsigned portLONG ulLED = partstFIRST_IO;
void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{ {
unsigned portLONG ulLED = partstFIRST_IO, ulCurrentState; unsigned long ulLED = partstFIRST_IO, ulCurrentState;
if( uxLED < partstNUM_LEDS ) if( uxLED < partstNUM_LEDS )
{ {
/* Rotate to the wanted bit of port 1. Only P10 to P13 have an LED /* Rotate to the wanted bit of port 1. Only P10 to P13 have an LED
attached. */ attached. */
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
/* If this bit is already set, clear it, and visa versa. */ /* If this bit is already set, clear it, and visa versa. */
ulCurrentState = IO1PIN; ulCurrentState = IO1PIN;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -104,29 +105,29 @@
#define mainCHECK_TASK_LED ( 7 ) #define mainCHECK_TASK_LED ( 7 )
/* Constants for the ComTest tasks. */ /* Constants for the ComTest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
#define mainCOM_TEST_LED ( 4 ) #define mainCOM_TEST_LED ( 4 )
#define mainTX_ENABLE ( ( unsigned portLONG ) 0x0001 ) #define mainTX_ENABLE ( ( unsigned long ) 0x0001 )
#define mainRX_ENABLE ( ( unsigned portLONG ) 0x0004 ) #define mainRX_ENABLE ( ( unsigned long ) 0x0004 )
/* Constants to setup the PLL. */ /* Constants to setup the PLL. */
#define mainPLL_MUL_5 ( ( unsigned portCHAR ) 0x0004 ) #define mainPLL_MUL_5 ( ( unsigned char ) 0x0004 )
#define mainPLL_DIV_1 ( ( unsigned portCHAR ) 0x0000 ) #define mainPLL_DIV_1 ( ( unsigned char ) 0x0000 )
#define mainPLL_ENABLE ( ( unsigned portCHAR ) 0x0001 ) #define mainPLL_ENABLE ( ( unsigned char ) 0x0001 )
#define mainPLL_CONNECT ( ( unsigned portCHAR ) 0x0003 ) #define mainPLL_CONNECT ( ( unsigned char ) 0x0003 )
#define mainPLL_FEED_BYTE1 ( ( unsigned portCHAR ) 0xaa ) #define mainPLL_FEED_BYTE1 ( ( unsigned char ) 0xaa )
#define mainPLL_FEED_BYTE2 ( ( unsigned portCHAR ) 0x55 ) #define mainPLL_FEED_BYTE2 ( ( unsigned char ) 0x55 )
#define mainPLL_LOCK ( ( unsigned portLONG ) 0x0400 ) #define mainPLL_LOCK ( ( unsigned long ) 0x0400 )
/* Constants to setup the MAM. */ /* Constants to setup the MAM. */
#define mainMAM_TIM_3 ( ( unsigned portCHAR ) 0x03 ) #define mainMAM_TIM_3 ( ( unsigned char ) 0x03 )
#define mainMAM_MODE_FULL ( ( unsigned portCHAR ) 0x02 ) #define mainMAM_MODE_FULL ( ( unsigned char ) 0x02 )
/* Constants to setup the peripheral bus. */ /* Constants to setup the peripheral bus. */
#define mainBUS_CLK_FULL ( ( unsigned portCHAR ) 0x01 ) #define mainBUS_CLK_FULL ( ( unsigned char ) 0x01 )
/* And finally, constant to setup the port for the LED's. */ /* And finally, constant to setup the port for the LED's. */
#define mainLED_TO_OUTPUT ( ( unsigned portLONG ) 0xff0000 ) #define mainLED_TO_OUTPUT ( ( unsigned long ) 0xff0000 )
/* /*
* The task that executes at the highest priority and calls * The task that executes at the highest priority and calls
@ -144,7 +145,7 @@ static void prvSetupHardware( void );
* Checks that all the demo application tasks are still executing without error * Checks that all the demo application tasks are still executing without error
* - as described at the top of the file. * - as described at the top of the file.
*/ */
static portLONG prvCheckOtherTasksAreStillRunning( void ); static long prvCheckOtherTasksAreStillRunning( void );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -254,9 +255,9 @@ portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static portLONG prvCheckOtherTasksAreStillRunning( void ) static long prvCheckOtherTasksAreStillRunning( void )
{ {
portLONG lReturn = ( portLONG ) pdPASS; long lReturn = ( long ) pdPASS;
/* Check all the demo tasks (other than the flash tasks) to ensure /* Check all the demo tasks (other than the flash tasks) to ensure
that they are all still running, and that none of them have detected that they are all still running, and that none of them have detected
@ -264,32 +265,32 @@ portLONG lReturn = ( portLONG ) pdPASS;
if( xAreIntegerMathsTaskStillRunning() != pdTRUE ) if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xArePollingQueuesStillRunning() != pdTRUE ) if( xArePollingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreSemaphoreTasksStillRunning() != pdTRUE ) if( xAreSemaphoreTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreBlockingQueuesStillRunning() != pdTRUE ) if( xAreBlockingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreComTestTasksStillRunning() != pdTRUE ) if( xAreComTestTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE ) if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
return lReturn; return lReturn;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -64,27 +65,27 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Constants to setup and access the UART. */ /* Constants to setup and access the UART. */
#define serDLAB ( ( unsigned portCHAR ) 0x80 ) #define serDLAB ( ( unsigned char ) 0x80 )
#define serENABLE_INTERRUPTS ( ( unsigned portCHAR ) 0x03 ) #define serENABLE_INTERRUPTS ( ( unsigned char ) 0x03 )
#define serNO_PARITY ( ( unsigned portCHAR ) 0x00 ) #define serNO_PARITY ( ( unsigned char ) 0x00 )
#define ser1_STOP_BIT ( ( unsigned portCHAR ) 0x00 ) #define ser1_STOP_BIT ( ( unsigned char ) 0x00 )
#define ser8_BIT_CHARS ( ( unsigned portCHAR ) 0x03 ) #define ser8_BIT_CHARS ( ( unsigned char ) 0x03 )
#define serFIFO_ON ( ( unsigned portCHAR ) 0x01 ) #define serFIFO_ON ( ( unsigned char ) 0x01 )
#define serCLEAR_FIFO ( ( unsigned portCHAR ) 0x06 ) #define serCLEAR_FIFO ( ( unsigned char ) 0x06 )
#define serWANTED_CLOCK_SCALING ( ( unsigned portLONG ) 16 ) #define serWANTED_CLOCK_SCALING ( ( unsigned long ) 16 )
/* Constants to setup and access the VIC. */ /* Constants to setup and access the VIC. */
#define serU0VIC_CHANNEL ( ( unsigned portLONG ) 0x0006 ) #define serU0VIC_CHANNEL ( ( unsigned long ) 0x0006 )
#define serU0VIC_CHANNEL_BIT ( ( unsigned portLONG ) 0x0040 ) #define serU0VIC_CHANNEL_BIT ( ( unsigned long ) 0x0040 )
#define serU0VIC_ENABLE ( ( unsigned portLONG ) 0x0020 ) #define serU0VIC_ENABLE ( ( unsigned long ) 0x0020 )
#define serCLEAR_VIC_INTERRUPT ( ( unsigned portLONG ) 0 ) #define serCLEAR_VIC_INTERRUPT ( ( unsigned long ) 0 )
/* Constants to determine the ISR source. */ /* Constants to determine the ISR source. */
#define serSOURCE_THRE ( ( unsigned portCHAR ) 0x02 ) #define serSOURCE_THRE ( ( unsigned char ) 0x02 )
#define serSOURCE_RX_TIMEOUT ( ( unsigned portCHAR ) 0x0c ) #define serSOURCE_RX_TIMEOUT ( ( unsigned char ) 0x0c )
#define serSOURCE_ERROR ( ( unsigned portCHAR ) 0x06 ) #define serSOURCE_ERROR ( ( unsigned char ) 0x06 )
#define serSOURCE_RX ( ( unsigned portCHAR ) 0x04 ) #define serSOURCE_RX ( ( unsigned char ) 0x04 )
#define serINTERRUPT_SOURCE_MASK ( ( unsigned portCHAR ) 0x0f ) #define serINTERRUPT_SOURCE_MASK ( ( unsigned char ) 0x0f )
/* Misc. */ /* Misc. */
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 ) #define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
@ -97,7 +98,7 @@
transmitted. */ transmitted. */
static xQueueHandle xRxedChars; static xQueueHandle xRxedChars;
static xQueueHandle xCharsForTx; static xQueueHandle xCharsForTx;
static volatile portLONG lTHREEmpty = pdFALSE; static volatile long lTHREEmpty = pdFALSE;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -108,15 +109,15 @@ __arm void vSerialISR( void );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
unsigned portLONG ulDivisor, ulWantedClock; unsigned long ulDivisor, ulWantedClock;
xComPortHandle xReturn = serHANDLE; xComPortHandle xReturn = serHANDLE;
extern void ( vSerialISREntry) ( void ); extern void ( vSerialISREntry) ( void );
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* Initialise the THRE empty flag. */ /* Initialise the THRE empty flag. */
lTHREEmpty = pdTRUE; lTHREEmpty = pdTRUE;
@ -124,7 +125,7 @@ extern void ( vSerialISREntry) ( void );
if( if(
( xRxedChars != serINVALID_QUEUE ) && ( xRxedChars != serINVALID_QUEUE ) &&
( xCharsForTx != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) &&
( ulWantedBaud != ( unsigned portLONG ) 0 ) ( ulWantedBaud != ( unsigned long ) 0 )
) )
{ {
portENTER_CRITICAL(); portENTER_CRITICAL();
@ -137,9 +138,9 @@ extern void ( vSerialISREntry) ( void );
U0LCR |= serDLAB; U0LCR |= serDLAB;
/* Setup the divisor. */ /* Setup the divisor. */
U0DLL = ( unsigned portCHAR ) ( ulDivisor & ( unsigned portLONG ) 0xff ); U0DLL = ( unsigned char ) ( ulDivisor & ( unsigned long ) 0xff );
ulDivisor >>= 8; ulDivisor >>= 8;
U0DLM = ( unsigned portCHAR ) ( ulDivisor & ( unsigned portLONG ) 0xff ); U0DLM = ( unsigned char ) ( ulDivisor & ( unsigned long ) 0xff );
/* Turn on the FIFO's and clear the buffers. */ /* Turn on the FIFO's and clear the buffers. */
U0FCR = ( serFIFO_ON | serCLEAR_FIFO ); U0FCR = ( serFIFO_ON | serCLEAR_FIFO );
@ -150,7 +151,7 @@ extern void ( vSerialISREntry) ( void );
/* Setup the VIC for the UART. */ /* Setup the VIC for the UART. */
VICIntSelect &= ~( serU0VIC_CHANNEL_BIT ); VICIntSelect &= ~( serU0VIC_CHANNEL_BIT );
VICIntEnable |= serU0VIC_CHANNEL_BIT; VICIntEnable |= serU0VIC_CHANNEL_BIT;
VICVectAddr1 = ( unsigned portLONG ) vSerialISREntry; VICVectAddr1 = ( unsigned long ) vSerialISREntry;
VICVectCntl1 = serU0VIC_CHANNEL | serU0VIC_ENABLE; VICVectCntl1 = serU0VIC_CHANNEL | serU0VIC_ENABLE;
/* Enable UART0 interrupts. */ /* Enable UART0 interrupts. */
@ -169,7 +170,7 @@ extern void ( vSerialISREntry) ( void );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports UART0. */ /* The port handle is not required as this driver only supports UART0. */
( void ) pxPort; ( void ) pxPort;
@ -187,9 +188,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* NOTE: This implementation does not handle the queue being full as no /* NOTE: This implementation does not handle the queue being full as no
block time is used! */ block time is used! */
@ -199,7 +200,7 @@ signed portCHAR *pxNext;
( void ) usStringLength; ( void ) usStringLength;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -208,7 +209,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
signed portBASE_TYPE xReturn; signed portBASE_TYPE xReturn;
@ -218,7 +219,7 @@ signed portBASE_TYPE xReturn;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
/* Is there space to write directly to the UART? */ /* Is there space to write directly to the UART? */
if( lTHREEmpty == ( portLONG ) pdTRUE ) if( lTHREEmpty == ( long ) pdTRUE )
{ {
/* We wrote the character directly to the UART, so was /* We wrote the character directly to the UART, so was
successful. */ successful. */
@ -238,7 +239,7 @@ signed portBASE_TYPE xReturn;
were blocked waiting to post interrupts were not disabled. It is were blocked waiting to post interrupts were not disabled. It is
possible that the serial ISR has emptied the Tx queue, in which possible that the serial ISR has emptied the Tx queue, in which
case we need to start the Tx off again. */ case we need to start the Tx off again. */
if( lTHREEmpty == ( portLONG ) pdTRUE ) if( lTHREEmpty == ( long ) pdTRUE )
{ {
xQueueReceive( xCharsForTx, &cOutChar, serNO_BLOCK ); xQueueReceive( xCharsForTx, &cOutChar, serNO_BLOCK );
lTHREEmpty = pdFALSE; lTHREEmpty = pdFALSE;
@ -254,7 +255,7 @@ signed portBASE_TYPE xReturn;
__arm void vSerialISR( void ) __arm void vSerialISR( void )
{ {
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* What caused the interrupt? */ /* What caused the interrupt? */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -65,10 +66,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 60000000 ) /* =12.0MHz xtal multiplied by 5 using the PLL. */ #define configCPU_CLOCK_HZ ( ( unsigned long ) 60000000 ) /* =12.0MHz xtal multiplied by 5 using the PLL. */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 90 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 90 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) 13 * 1024 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) 13 * 1024 )
#define configMAX_TASK_NAME_LEN ( 8 ) #define configMAX_TASK_NAME_LEN ( 8 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -50,7 +51,7 @@
#include "portable.h" #include "portable.h"
#include "partest.h" #include "partest.h"
#define partstFIRST_IO ( ( unsigned portLONG ) 0x10000 ) #define partstFIRST_IO ( ( unsigned long ) 0x10000 )
#define partstNUM_LEDS ( 8 ) #define partstNUM_LEDS ( 8 )
/*----------------------------------------------------------- /*-----------------------------------------------------------
@ -66,13 +67,13 @@ void vParTestInitialise( void )
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue ) void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{ {
unsigned portLONG ulLED = partstFIRST_IO; unsigned long ulLED = partstFIRST_IO;
if( uxLED < partstNUM_LEDS ) if( uxLED < partstNUM_LEDS )
{ {
/* Rotate to the wanted bit of port 0. Only P16 to P23 have an LED /* Rotate to the wanted bit of port 0. Only P16 to P23 have an LED
attached. */ attached. */
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
/* Set or clear the output. */ /* Set or clear the output. */
if( xValue ) if( xValue )
@ -89,13 +90,13 @@ unsigned portLONG ulLED = partstFIRST_IO;
void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{ {
unsigned portLONG ulLED = partstFIRST_IO, ulCurrentState; unsigned long ulLED = partstFIRST_IO, ulCurrentState;
if( uxLED < partstNUM_LEDS ) if( uxLED < partstNUM_LEDS )
{ {
/* Rotate to the wanted bit of port 0. Only P10 to P13 have an LED /* Rotate to the wanted bit of port 0. Only P10 to P13 have an LED
attached. */ attached. */
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
/* If this bit is already set, clear it, and visa versa. */ /* If this bit is already set, clear it, and visa versa. */
ulCurrentState = IOPIN1; ulCurrentState = IOPIN1;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -67,19 +68,19 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Constants to setup and access the UART. */ /* Constants to setup and access the UART. */
#define serDLAB ( ( unsigned portCHAR ) 0x80 ) #define serDLAB ( ( unsigned char ) 0x80 )
#define serENABLE_INTERRUPTS ( ( unsigned portCHAR ) 0x03 ) #define serENABLE_INTERRUPTS ( ( unsigned char ) 0x03 )
#define serNO_PARITY ( ( unsigned portCHAR ) 0x00 ) #define serNO_PARITY ( ( unsigned char ) 0x00 )
#define ser1_STOP_BIT ( ( unsigned portCHAR ) 0x00 ) #define ser1_STOP_BIT ( ( unsigned char ) 0x00 )
#define ser8_BIT_CHARS ( ( unsigned portCHAR ) 0x03 ) #define ser8_BIT_CHARS ( ( unsigned char ) 0x03 )
#define serFIFO_ON ( ( unsigned portCHAR ) 0x01 ) #define serFIFO_ON ( ( unsigned char ) 0x01 )
#define serCLEAR_FIFO ( ( unsigned portCHAR ) 0x06 ) #define serCLEAR_FIFO ( ( unsigned char ) 0x06 )
#define serWANTED_CLOCK_SCALING ( ( unsigned portLONG ) 16 ) #define serWANTED_CLOCK_SCALING ( ( unsigned long ) 16 )
/* Constants to setup and access the VIC. */ /* Constants to setup and access the VIC. */
#define serU1VIC_CHANNEL ( ( unsigned portLONG ) 0x0007 ) #define serU1VIC_CHANNEL ( ( unsigned long ) 0x0007 )
#define serU1VIC_CHANNEL_BIT ( ( unsigned portLONG ) 0x0080 ) #define serU1VIC_CHANNEL_BIT ( ( unsigned long ) 0x0080 )
#define serU1VIC_ENABLE ( ( unsigned portLONG ) 0x0020 ) #define serU1VIC_ENABLE ( ( unsigned long ) 0x0020 )
/* Misc. */ /* Misc. */
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 ) #define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
@ -87,15 +88,15 @@
#define serNO_BLOCK ( ( portTickType ) 0 ) #define serNO_BLOCK ( ( portTickType ) 0 )
/* Constant to access the VIC. */ /* Constant to access the VIC. */
#define serCLEAR_VIC_INTERRUPT ( ( unsigned portLONG ) 0 ) #define serCLEAR_VIC_INTERRUPT ( ( unsigned long ) 0 )
/* Constants to determine the ISR source. */ /* Constants to determine the ISR source. */
#define serSOURCE_THRE ( ( unsigned portCHAR ) 0x02 ) #define serSOURCE_THRE ( ( unsigned char ) 0x02 )
#define serSOURCE_RX_TIMEOUT ( ( unsigned portCHAR ) 0x0c ) #define serSOURCE_RX_TIMEOUT ( ( unsigned char ) 0x0c )
#define serSOURCE_ERROR ( ( unsigned portCHAR ) 0x06 ) #define serSOURCE_ERROR ( ( unsigned char ) 0x06 )
#define serSOURCE_RX ( ( unsigned portCHAR ) 0x04 ) #define serSOURCE_RX ( ( unsigned char ) 0x04 )
#define serINTERRUPT_SOURCE_MASK ( ( unsigned portCHAR ) 0x0f ) #define serINTERRUPT_SOURCE_MASK ( ( unsigned char ) 0x0f )
#define serINTERRUPT_IS_PENDING ( ( unsigned portCHAR ) 0x01 ) #define serINTERRUPT_IS_PENDING ( ( unsigned char ) 0x01 )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -117,18 +118,18 @@ static xQueueHandle xRxedChars;
static xQueueHandle xCharsForTx; static xQueueHandle xCharsForTx;
/* Communication flag between the interrupt service routine and serial API. */ /* Communication flag between the interrupt service routine and serial API. */
static volatile portLONG lTHREEmpty; static volatile long lTHREEmpty;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
unsigned portLONG ulDivisor, ulWantedClock; unsigned long ulDivisor, ulWantedClock;
xComPortHandle xReturn = serHANDLE; xComPortHandle xReturn = serHANDLE;
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* Initialise the THRE empty flag. */ /* Initialise the THRE empty flag. */
lTHREEmpty = pdTRUE; lTHREEmpty = pdTRUE;
@ -136,7 +137,7 @@ xComPortHandle xReturn = serHANDLE;
if( if(
( xRxedChars != serINVALID_QUEUE ) && ( xRxedChars != serINVALID_QUEUE ) &&
( xCharsForTx != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) &&
( ulWantedBaud != ( unsigned portLONG ) 0 ) ( ulWantedBaud != ( unsigned long ) 0 )
) )
{ {
portENTER_CRITICAL() portENTER_CRITICAL()
@ -149,9 +150,9 @@ xComPortHandle xReturn = serHANDLE;
U1LCR |= serDLAB; U1LCR |= serDLAB;
/* Setup the divisor. */ /* Setup the divisor. */
U1DLL = ( unsigned portCHAR ) ( ulDivisor & ( unsigned portLONG ) 0xff ); U1DLL = ( unsigned char ) ( ulDivisor & ( unsigned long ) 0xff );
ulDivisor >>= 8; ulDivisor >>= 8;
U1DLM = ( unsigned portCHAR ) ( ulDivisor & ( unsigned portLONG ) 0xff ); U1DLM = ( unsigned char ) ( ulDivisor & ( unsigned long ) 0xff );
/* Turn on the FIFO's and clear the buffers. */ /* Turn on the FIFO's and clear the buffers. */
U1FCR = ( serFIFO_ON | serCLEAR_FIFO ); U1FCR = ( serFIFO_ON | serCLEAR_FIFO );
@ -162,7 +163,7 @@ xComPortHandle xReturn = serHANDLE;
/* Setup the VIC for the UART. */ /* Setup the VIC for the UART. */
VICIntSelect &= ~( serU1VIC_CHANNEL_BIT ); VICIntSelect &= ~( serU1VIC_CHANNEL_BIT );
VICIntEnable |= serU1VIC_CHANNEL_BIT; VICIntEnable |= serU1VIC_CHANNEL_BIT;
VICVectAddr1 = ( unsigned portLONG ) vUART_ISREntry; VICVectAddr1 = ( unsigned long ) vUART_ISREntry;
VICVectCntl1 = serU1VIC_CHANNEL | serU1VIC_ENABLE; VICVectCntl1 = serU1VIC_CHANNEL | serU1VIC_ENABLE;
/* Enable UART0 interrupts. */ /* Enable UART0 interrupts. */
@ -179,7 +180,7 @@ xComPortHandle xReturn = serHANDLE;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports UART0. */ /* The port handle is not required as this driver only supports UART0. */
( void ) pxPort; ( void ) pxPort;
@ -197,9 +198,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* NOTE: This implementation does not handle the queue being full as no /* NOTE: This implementation does not handle the queue being full as no
block time is used! */ block time is used! */
@ -209,7 +210,7 @@ signed portCHAR *pxNext;
( void ) usStringLength; ( void ) usStringLength;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -218,7 +219,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
signed portBASE_TYPE xReturn; signed portBASE_TYPE xReturn;
@ -228,7 +229,7 @@ signed portBASE_TYPE xReturn;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
/* Is there space to write directly to the UART? */ /* Is there space to write directly to the UART? */
if( lTHREEmpty == ( portLONG ) pdTRUE ) if( lTHREEmpty == ( long ) pdTRUE )
{ {
/* We wrote the character directly to the UART, so was /* We wrote the character directly to the UART, so was
successful. */ successful. */
@ -248,7 +249,7 @@ signed portBASE_TYPE xReturn;
were blocked waiting to post interrupts were not disabled. It is were blocked waiting to post interrupts were not disabled. It is
possible that the serial ISR has emptied the Tx queue, in which possible that the serial ISR has emptied the Tx queue, in which
case we need to start the Tx off again. */ case we need to start the Tx off again. */
if( lTHREEmpty == ( portLONG ) pdTRUE ) if( lTHREEmpty == ( long ) pdTRUE )
{ {
xQueueReceive( xCharsForTx, &cOutChar, serNO_BLOCK ); xQueueReceive( xCharsForTx, &cOutChar, serNO_BLOCK );
lTHREEmpty = pdFALSE; lTHREEmpty = pdFALSE;
@ -264,9 +265,9 @@ signed portBASE_TYPE xReturn;
void vUART_ISRHandler( void ) void vUART_ISRHandler( void )
{ {
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
unsigned portCHAR ucInterrupt; unsigned char ucInterrupt;
ucInterrupt = U1IIR; ucInterrupt = U1IIR;

View File

@ -1,48 +1,49 @@
;/* ;/*
; FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. ; FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
; ;
; This file is part of the FreeRTOS distribution. ; This file is part of the FreeRTOS distribution.
; ;
; FreeRTOS is free software; you can redistribute it and/or modify it under ; FreeRTOS is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License (version 2) as published by the ; the terms of the GNU General Public License (version 2) as published by the
; Free Software Foundation and modified by the FreeRTOS exception. ; Free Software Foundation and modified by the FreeRTOS exception.
; **NOTE** The exception to the GPL is included to allow you to distribute a ; **NOTE** The exception to the GPL is included to allow you to distribute a
; combined work that includes FreeRTOS without being obliged to provide the ; combined work that includes FreeRTOS without being obliged to provide the
; source code for proprietary components outside of the FreeRTOS kernel. ; source code for proprietary components outside of the FreeRTOS kernel.
; Alternative commercial license and support terms are also available upon ; Alternative commercial license and support terms are also available upon
; request. See the licensing section of http://www.FreeRTOS.org for full ; request. See the licensing section of http://www.FreeRTOS.org for full
; license details. ; license details.
; ;
; FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ; FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
; more details. ; more details.
; ;
; You should have received a copy of the GNU General Public License along ; You should have received a copy of the GNU General Public License along
; with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 ; with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
; Temple Place, Suite 330, Boston, MA 02111-1307 USA. ; Temple Place, Suite 330, Boston, MA 02111-1307 USA.
; ;
; ;
; *************************************************************************** ; ***************************************************************************
; * * ; * *
; * Looking for a quick start? Then check out the FreeRTOS eBook! * ; * The FreeRTOS eBook and reference manual are available to purchase for a *
; * See http://www.FreeRTOS.org/Documentation for details * ; * small fee. Help yourself get started quickly while also helping the *
; * * ; * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
; *************************************************************************** ; * *
; ***************************************************************************
; ;
; 1 tab == 4 spaces! ; 1 tab == 4 spaces!
; ;
; Please ensure to read the configuration and relevant port sections of the ; Please ensure to read the configuration and relevant port sections of the
; online documentation. ; online documentation.
; ;
; http://www.FreeRTOS.org - Documentation, latest information, license and ; http://www.FreeRTOS.org - Documentation, latest information, license and
; contact details. ; contact details.
; ;
; http://www.SafeRTOS.com - A version that is certified for use in safety ; http://www.SafeRTOS.com - A version that is certified for use in safety
; critical systems. ; critical systems.
; ;
; http://www.OpenRTOS.com - Commercial support, development, porting, ; http://www.OpenRTOS.com - Commercial support, development, porting,
; licensing and training services. ; licensing and training services.
;*/ ;*/
INCLUDE portmacro.inc INCLUDE portmacro.inc

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -80,7 +81,7 @@ the CPU frequency. */
#define configCPU_CLOCK_HZ ( 58982400UL ) /* =14.7456MHz xtal multiplied by 4 using the PLL. */ #define configCPU_CLOCK_HZ ( 58982400UL ) /* =14.7456MHz xtal multiplied by 4 using the PLL. */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 6 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 6 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 128 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 18 * 1024 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 18 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 15 ) #define configMAX_TASK_NAME_LEN ( 15 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1

View File

@ -50,9 +50,9 @@
</Watch3> </Watch3>
<Watch4> <Watch4>
<Watches active="0" update="Never" > <Watches active="0" update="Never" >
<Watchpoint evalMode="1" linenumber="0" evalType="1" radix="16" name="pxMutex" expression="pxMutex" filename="" />
<Watchpoint evalMode="1" linenumber="0" evalType="1" radix="-1" name="pxCurrentTCB" expression="pxCurrentTCB" filename="" />
<Watchpoint evalMode="1" linenumber="0" evalType="1" radix="-1" name="(xQUEUE *)xMutex" expression="(xQUEUE *)xMutex" filename="" /> <Watchpoint evalMode="1" linenumber="0" evalType="1" radix="-1" name="(xQUEUE *)xMutex" expression="(xQUEUE *)xMutex" filename="" />
<Watchpoint evalMode="1" linenumber="0" evalType="1" radix="-1" name="pxCurrentTCB" expression="pxCurrentTCB" filename="" />
<Watchpoint evalMode="1" linenumber="0" evalType="1" radix="16" name="pxMutex" expression="pxMutex" filename="" />
</Watches> </Watches>
</Watch4> </Watch4>
<Files> <Files>

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -96,7 +97,7 @@
#include "semtest.h" #include "semtest.h"
/* Hardware configuration definitions. */ /* Hardware configuration definitions. */
#define mainBUS_CLK_FULL ( ( unsigned portCHAR ) 0x01 ) #define mainBUS_CLK_FULL ( ( unsigned char ) 0x01 )
#define mainLED_BIT 0x80000000 #define mainLED_BIT 0x80000000
#define mainP0_14__EINT_1 ( 2 << 28 ) #define mainP0_14__EINT_1 ( 2 << 28 )
#define mainEINT_1_EDGE_SENSITIVE 2 #define mainEINT_1_EDGE_SENSITIVE 2
@ -175,7 +176,7 @@ int main( void )
VPBDIV = mainBUS_CLK_FULL; VPBDIV = mainBUS_CLK_FULL;
/* Create the queue used to pass message to vPrintTask. */ /* Create the queue used to pass message to vPrintTask. */
xPrintQueue = xQueueCreate( mainQUEUE_SIZE, sizeof( portCHAR * ) ); xPrintQueue = xQueueCreate( mainQUEUE_SIZE, sizeof( char * ) );
/* Create the semaphore used to wake vButtonHandlerTask(). */ /* Create the semaphore used to wake vButtonHandlerTask(). */
vSemaphoreCreateBinary( xButtonSemaphore ); vSemaphoreCreateBinary( xButtonSemaphore );
@ -244,8 +245,8 @@ static void vCheckTask( void *pvParameters )
{ {
portBASE_TYPE xErrorOccurred = pdFALSE; portBASE_TYPE xErrorOccurred = pdFALSE;
portTickType xLastExecutionTime; portTickType xLastExecutionTime;
const portCHAR * const pcPassMessage = "PASS\n"; const char * const pcPassMessage = "PASS\n";
const portCHAR * const pcFailMessage = "FAIL\n"; const char * const pcFailMessage = "FAIL\n";
/* Just to remove compiler warnings. */ /* Just to remove compiler warnings. */
( void ) pvParameters; ( void ) pvParameters;
@ -319,7 +320,7 @@ const portCHAR * const pcFailMessage = "FAIL\n";
static void vPrintTask( void *pvParameters ) static void vPrintTask( void *pvParameters )
{ {
portCHAR *pcMessage; char *pcMessage;
/* Just to stop compiler warnings. */ /* Just to stop compiler warnings. */
( void ) pvParameters; ( void ) pvParameters;
@ -339,9 +340,9 @@ portCHAR *pcMessage;
static void vButtonHandlerTask( void *pvParameters ) static void vButtonHandlerTask( void *pvParameters )
{ {
static signed portCHAR cListBuffer[ mainLIST_BUFFER_SIZE ]; static signed char cListBuffer[ mainLIST_BUFFER_SIZE ];
const signed portCHAR *pcList = &( cListBuffer[ 0 ] ); const signed char *pcList = &( cListBuffer[ 0 ] );
const portCHAR * const pcHeader = "\nTask State Priority Stack #\n************************************************"; const char * const pcHeader = "\nTask State Priority Stack #\n************************************************";
extern void (vButtonISRWrapper) ( void ); extern void (vButtonISRWrapper) ( void );
/* Just to stop compiler warnings. */ /* Just to stop compiler warnings. */
@ -358,7 +359,7 @@ extern void (vButtonISRWrapper) ( void );
/* Setup the VIC for EINT 1. */ /* Setup the VIC for EINT 1. */
VICIntSelect &= ~mainEINT_1_VIC_CHANNEL_BIT; VICIntSelect &= ~mainEINT_1_VIC_CHANNEL_BIT;
VICIntEnable |= mainEINT_1_VIC_CHANNEL_BIT; VICIntEnable |= mainEINT_1_VIC_CHANNEL_BIT;
VICVectAddr1 = ( portLONG ) vButtonISRWrapper; VICVectAddr1 = ( long ) vButtonISRWrapper;
VICVectCntl1 = mainEINT_1_ENABLE_BIT | mainEINT_1_CHANNEL; VICVectCntl1 = mainEINT_1_ENABLE_BIT | mainEINT_1_CHANNEL;
} }
portEXIT_CRITICAL(); portEXIT_CRITICAL();
@ -384,7 +385,7 @@ extern void (vButtonISRWrapper) ( void );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed portCHAR *pcTaskName ) void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
{ {
/* Check pcTaskName for the name of the offending task, or pxCurrentTCB /* Check pcTaskName for the name of the offending task, or pxCurrentTCB
if pcTaskName has itself been corrupted. */ if pcTaskName has itself been corrupted. */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#include "FreeRTOS.h" #include "FreeRTOS.h"
#include "semphr.h" #include "semphr.h"

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -76,10 +77,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 1 #define configUSE_TICK_HOOK 1
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 48000000 ) /* =12Mhz xtal multiplied by 5 using the PLL. */ #define configCPU_CLOCK_HZ ( ( unsigned long ) 48000000 ) /* =12Mhz xtal multiplied by 5 using the PLL. */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 104 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 104 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 18 * 1024 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 18 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 10 ) #define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1

View File

@ -1,48 +1,49 @@
#/* #/*
# FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. # FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
# #
# This file is part of the FreeRTOS distribution. # This file is part of the FreeRTOS distribution.
# #
# FreeRTOS is free software; you can redistribute it and/or modify it under # FreeRTOS is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License (version 2) as published by the # the terms of the GNU General Public License (version 2) as published by the
# Free Software Foundation and modified by the FreeRTOS exception. # Free Software Foundation and modified by the FreeRTOS exception.
# **NOTE** The exception to the GPL is included to allow you to distribute a # **NOTE** The exception to the GPL is included to allow you to distribute a
# combined work that includes FreeRTOS without being obliged to provide the # combined work that includes FreeRTOS without being obliged to provide the
# source code for proprietary components outside of the FreeRTOS kernel. # source code for proprietary components outside of the FreeRTOS kernel.
# Alternative commercial license and support terms are also available upon # Alternative commercial license and support terms are also available upon
# request. See the licensing section of http://www.FreeRTOS.org for full # request. See the licensing section of http://www.FreeRTOS.org for full
# license details. # license details.
# #
# FreeRTOS is distributed in the hope that it will be useful, but WITHOUT # FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details. # more details.
# #
# You should have received a copy of the GNU General Public License along # You should have received a copy of the GNU General Public License along
# with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 # with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
# Temple Place, Suite 330, Boston, MA 02111-1307 USA. # Temple Place, Suite 330, Boston, MA 02111-1307 USA.
# #
# #
# *************************************************************************** # ***************************************************************************
# * * # * *
# * Looking for a quick start? Then check out the FreeRTOS eBook! * # * The FreeRTOS eBook and reference manual are available to purchase for a *
# * See http://www.FreeRTOS.org/Documentation for details * # * small fee. Help yourself get started quickly while also helping the *
# * * # * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
# *************************************************************************** # * *
# ***************************************************************************
# #
# 1 tab == 4 spaces! # 1 tab == 4 spaces!
# #
# Please ensure to read the configuration and relevant port sections of the # Please ensure to read the configuration and relevant port sections of the
# online documentation. # online documentation.
# #
# http://www.FreeRTOS.org - Documentation, latest information, license and # http://www.FreeRTOS.org - Documentation, latest information, license and
# contact details. # contact details.
# #
# http://www.SafeRTOS.com - A version that is certified for use in safety # http://www.SafeRTOS.com - A version that is certified for use in safety
# critical systems. # critical systems.
# #
# http://www.OpenRTOS.com - Commercial support, development, porting, # http://www.OpenRTOS.com - Commercial support, development, porting,
# licensing and training services. # licensing and training services.
#*/ #*/

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* FreeRTOS.org includes. */ /* FreeRTOS.org includes. */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Standard includes. */ /* Standard includes. */
#include <string.h> #include <string.h>

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -78,10 +79,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 57600000 ) #define configCPU_CLOCK_HZ ( ( unsigned long ) 57600000 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 120 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 120 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 18 * 1024 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 18 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* FreeRTOS.org includes. */ /* FreeRTOS.org includes. */
@ -51,9 +52,9 @@
/* Demo application includes. */ /* Demo application includes. */
#include "partest.h" #include "partest.h"
#define partstFIRST_IO ( ( unsigned portLONG ) 0x01 ) #define partstFIRST_IO ( ( unsigned long ) 0x01 )
#define partstNUM_LEDS ( 8 ) #define partstNUM_LEDS ( 8 )
#define partstALL_OUTPUTS_OFF ( ( unsigned portLONG ) 0xff ) #define partstALL_OUTPUTS_OFF ( ( unsigned long ) 0xff )
/*----------------------------------------------------------- /*-----------------------------------------------------------
* Simple parallel port IO routines. * Simple parallel port IO routines.
@ -73,12 +74,12 @@ void vParTestInitialise( void )
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue ) void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{ {
unsigned portLONG ulLED = partstFIRST_IO; unsigned long ulLED = partstFIRST_IO;
if( uxLED < partstNUM_LEDS ) if( uxLED < partstNUM_LEDS )
{ {
/* Rotate to the wanted bit of port */ /* Rotate to the wanted bit of port */
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
/* Set of clear the output. */ /* Set of clear the output. */
if( xValue ) if( xValue )
@ -95,13 +96,13 @@ unsigned portLONG ulLED = partstFIRST_IO;
void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{ {
unsigned portLONG ulLED = partstFIRST_IO, ulCurrentState; unsigned long ulLED = partstFIRST_IO, ulCurrentState;
if( uxLED < partstNUM_LEDS ) if( uxLED < partstNUM_LEDS )
{ {
/* Rotate to the wanted bit of port 0. Only P10 to P13 have an LED /* Rotate to the wanted bit of port 0. Only P10 to P13 have an LED
attached. */ attached. */
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
/* If this bit is already set, clear it, and visa versa. */ /* If this bit is already set, clear it, and visa versa. */
ulCurrentState = FIO2PIN; ulCurrentState = FIO2PIN;
@ -119,9 +120,9 @@ unsigned portLONG ulLED = partstFIRST_IO, ulCurrentState;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
unsigned portBASE_TYPE uxParTextGetLED( unsigned portBASE_TYPE uxLED ) unsigned portBASE_TYPE uxParTextGetLED( unsigned portBASE_TYPE uxLED )
{ {
unsigned portLONG ulLED = partstFIRST_IO; unsigned long ulLED = partstFIRST_IO;
ulLED <<= ( unsigned portLONG ) uxLED; ulLED <<= ( unsigned long ) uxLED;
return ( FIO2PIN & ulLED ); return ( FIO2PIN & ulLED );
} }

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Environment includes. */ /* Environment includes. */
@ -120,7 +121,7 @@ int main (void)
xLCDQueue = xQueueCreate( mainQUEUE_SIZE, sizeof( xLCDMessage ) ); xLCDQueue = xQueueCreate( mainQUEUE_SIZE, sizeof( xLCDMessage ) );
/* Create the lwIP task. This uses the lwIP RTOS abstraction layer.*/ /* Create the lwIP task. This uses the lwIP RTOS abstraction layer.*/
xTaskCreate( vuIP_Task, ( signed portCHAR * ) "uIP", mainBASIC_WEB_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY - 1, NULL ); xTaskCreate( vuIP_Task, ( signed char * ) "uIP", mainBASIC_WEB_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY - 1, NULL );
/* Start the standard demo tasks - these serve no useful purpose other than /* Start the standard demo tasks - these serve no useful purpose other than
to demonstrate the FreeRTOS API being used and to test the port. */ to demonstrate the FreeRTOS API being used and to test the port. */
@ -132,8 +133,8 @@ int main (void)
vStartIntegerMathTasks( mainINTEGER_TASK_PRIORITY ); vStartIntegerMathTasks( mainINTEGER_TASK_PRIORITY );
/* Start the tasks defined within this file/specific to this demo. */ /* Start the tasks defined within this file/specific to this demo. */
xTaskCreate( vCheckTask, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); xTaskCreate( vCheckTask, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
xTaskCreate( vLCDTask, ( signed portCHAR * ) "LCD", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY - 1, NULL ); xTaskCreate( vLCDTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY - 1, NULL );
/* The suicide tasks must be created last as they need to know how many /* The suicide tasks must be created last as they need to know how many
tasks were running prior to their creation in order to ascertain whether tasks were running prior to their creation in order to ascertain whether
@ -222,7 +223,7 @@ xLCDMessage xMessage;
LCD_cur_off(); LCD_cur_off();
LCD_cls(); LCD_cls();
LCD_gotoxy( 1, 1 ); LCD_gotoxy( 1, 1 );
LCD_puts( ( signed portCHAR * ) "www.FreeRTOS.org" ); LCD_puts( ( signed char * ) "www.FreeRTOS.org" );
for( ;; ) for( ;; )
{ {

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Standard includes. */ /* Standard includes. */
#include <string.h> #include <string.h>

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -64,10 +65,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 48000000 ) #define configCPU_CLOCK_HZ ( ( unsigned long ) 48000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) 20480 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) 20480 )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Library includes. */ /* Library includes. */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -103,7 +104,7 @@
#define mainCHECK_TASK_LED ( 4 ) #define mainCHECK_TASK_LED ( 4 )
/* Constants for the ComTest tasks. */ /* Constants for the ComTest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
#define mainCOM_TEST_LED ( 6 ) /* The LED built onto the kickstart board. */ #define mainCOM_TEST_LED ( 6 ) /* The LED built onto the kickstart board. */
/* /*
@ -123,7 +124,7 @@ static void prvSetupHardware( void );
* Checks that all the demo application tasks are still executing without error * Checks that all the demo application tasks are still executing without error
* - as described at the top of the file. Called by vErrorChecks(). * - as described at the top of the file. Called by vErrorChecks().
*/ */
static portLONG prvCheckOtherTasksAreStillRunning( void ); static long prvCheckOtherTasksAreStillRunning( void );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -216,9 +217,9 @@ portTickType xLastWakeTime;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static portLONG prvCheckOtherTasksAreStillRunning( void ) static long prvCheckOtherTasksAreStillRunning( void )
{ {
portLONG lReturn = ( portLONG ) pdPASS; long lReturn = ( long ) pdPASS;
/* Check all the demo tasks (other than the flash tasks) to ensure /* Check all the demo tasks (other than the flash tasks) to ensure
that they are all still running, and that none of them have detected that they are all still running, and that none of them have detected
@ -226,32 +227,32 @@ portLONG lReturn = ( portLONG ) pdPASS;
if( xAreIntegerMathsTaskStillRunning() != pdTRUE ) if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xArePollingQueuesStillRunning() != pdTRUE ) if( xArePollingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreSemaphoreTasksStillRunning() != pdTRUE ) if( xAreSemaphoreTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreBlockingQueuesStillRunning() != pdTRUE ) if( xAreBlockingQueuesStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreComTestTasksStillRunning() != pdTRUE ) if( xAreComTestTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE ) if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{ {
lReturn = ( portLONG ) pdFAIL; lReturn = ( long ) pdFAIL;
} }
return lReturn; return lReturn;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -91,13 +92,13 @@ __arm void vSerialISR( void );
/* /*
* See the serial2.h header file. * See the serial2.h header file.
*/ */
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
xComPortHandle xReturn; xComPortHandle xReturn;
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* If the queues were created correctly then setup the serial port /* If the queues were created correctly then setup the serial port
hardware. */ hardware. */
@ -137,7 +138,7 @@ xComPortHandle xReturn;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports one port. */ /* The port handle is not required as this driver only supports one port. */
( void ) pxPort; ( void ) pxPort;
@ -155,9 +156,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* A couple of parameters that this port does not use. */ /* A couple of parameters that this port does not use. */
( void ) usStringLength; ( void ) usStringLength;
@ -170,7 +171,7 @@ signed portCHAR *pxNext;
( void ) pxPort; ( void ) pxPort;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -179,7 +180,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
/* Place the character in the queue of characters to be transmitted. */ /* Place the character in the queue of characters to be transmitted. */
if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS ) if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
@ -209,8 +210,8 @@ within serialISR.s79 which in turn calls this function. See the port
documentation on the FreeRTOS.org website for more information. */ documentation on the FreeRTOS.org website for more information. */
__arm void vSerialISR( void ) __arm void vSerialISR( void )
{ {
unsigned portSHORT usStatus; unsigned short usStatus;
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* What caused the interrupt? */ /* What caused the interrupt? */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -66,10 +67,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 60000000 ) /* Timer clock. */ #define configCPU_CLOCK_HZ ( ( unsigned long ) 60000000 ) /* Timer clock. */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) 12800 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) 12800 )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Library includes. */ /* Library includes. */
@ -64,8 +65,8 @@
typedef struct GPIOMAP typedef struct GPIOMAP
{ {
GPIO_TypeDef *pxPort; GPIO_TypeDef *pxPort;
unsigned portLONG ulPin; unsigned long ulPin;
unsigned portLONG ulValue; unsigned long ulValue;
} GPIO_MAP; } GPIO_MAP;
static GPIO_MAP xLEDMap[ partstNUM_LEDS ] = static GPIO_MAP xLEDMap[ partstNUM_LEDS ] =

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -120,8 +121,8 @@ time. */
/* The type that is posted to the LCD queue. */ /* The type that is posted to the LCD queue. */
typedef struct LCD_MESSAGE typedef struct LCD_MESSAGE
{ {
unsigned portCHAR *pucString; /* Points to the string to be displayed. */ unsigned char *pucString; /* Points to the string to be displayed. */
unsigned portCHAR ucLine; /* The line of the LCD that should be used. */ unsigned char ucLine; /* The line of the LCD that should be used. */
} LCDMessage; } LCDMessage;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -174,8 +175,8 @@ int main( void )
vStartIntegerMathTasks( tskIDLE_PRIORITY ); vStartIntegerMathTasks( tskIDLE_PRIORITY );
/* Create the tasks defined within this file. */ /* Create the tasks defined within this file. */
xTaskCreate( vPrintTask, ( signed portCHAR * ) "LCD", configMINIMAL_STACK_SIZE, NULL, mainLCD_TASK_PRIORITY, NULL ); xTaskCreate( vPrintTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE, NULL, mainLCD_TASK_PRIORITY, NULL );
xTaskCreate( vCheckTask, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); xTaskCreate( vCheckTask, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
vTaskStartScheduler(); vTaskStartScheduler();
@ -187,10 +188,10 @@ int main( void )
static void vCheckTask( void *pvParameters ) static void vCheckTask( void *pvParameters )
{ {
static unsigned portLONG ulErrorDetected = pdFALSE; static unsigned long ulErrorDetected = pdFALSE;
portTickType xLastExecutionTime; portTickType xLastExecutionTime;
unsigned portCHAR *ucErrorMessage = ( unsigned portCHAR * )" FAIL"; unsigned char *ucErrorMessage = ( unsigned char * )" FAIL";
unsigned portCHAR *ucSuccessMessage = ( unsigned portCHAR * )" PASS"; unsigned char *ucSuccessMessage = ( unsigned char * )" PASS";
unsigned portBASE_TYPE uxColumn = mainMAX_WRITE_COLUMN; unsigned portBASE_TYPE uxColumn = mainMAX_WRITE_COLUMN;
LCDMessage xMessage; LCDMessage xMessage;
@ -233,7 +234,7 @@ LCDMessage xMessage;
/* Calculate the LCD line on which we would like the message to /* Calculate the LCD line on which we would like the message to
be displayed. The column variable is used for convenience as be displayed. The column variable is used for convenience as
it is incremented each cycle anyway. */ it is incremented each cycle anyway. */
xMessage.ucLine = ( unsigned portCHAR ) ( uxColumn & 0x01 ); xMessage.ucLine = ( unsigned char ) ( uxColumn & 0x01 );
/* The message displayed depends on whether an error was found or /* The message displayed depends on whether an error was found or
not. Any discovered error is latched. Here the column variable not. Any discovered error is latched. Here the column variable
@ -324,8 +325,8 @@ ErrorStatus OSC4MStartUpStatus01;
/* Initialize the demonstration menu */ /* Initialize the demonstration menu */
LCD_Init(); LCD_Init();
LCD_DisplayString(Line1, ( unsigned portCHAR * ) "www.FreeRTOS.org", BlackText); LCD_DisplayString(Line1, ( unsigned char * ) "www.FreeRTOS.org", BlackText);
LCD_DisplayString(Line2, ( unsigned portCHAR * ) " STR750 Demo ", BlackText); LCD_DisplayString(Line2, ( unsigned char * ) " STR750 Demo ", BlackText);
EIC_IRQCmd(ENABLE); EIC_IRQCmd(ENABLE);
} }

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -94,7 +95,7 @@ void vConfigureQueues( xQueueHandle xQForRx, xQueueHandle xQForTx, volatile port
/* /*
* See the serial2.h header file. * See the serial2.h header file.
*/ */
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
xComPortHandle xReturn; xComPortHandle xReturn;
UART_InitTypeDef UART_InitStructure; UART_InitTypeDef UART_InitStructure;
@ -102,8 +103,8 @@ GPIO_InitTypeDef GPIO_InitStructure;
EIC_IRQInitTypeDef EIC_IRQInitStructure; EIC_IRQInitTypeDef EIC_IRQInitStructure;
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* If the queues were created correctly then setup the serial port /* If the queues were created correctly then setup the serial port
hardware. */ hardware. */
@ -163,7 +164,7 @@ EIC_IRQInitTypeDef EIC_IRQInitStructure;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports one port. */ /* The port handle is not required as this driver only supports one port. */
( void ) pxPort; ( void ) pxPort;
@ -181,9 +182,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* A couple of parameters that this port does not use. */ /* A couple of parameters that this port does not use. */
( void ) usStringLength; ( void ) usStringLength;
@ -196,7 +197,7 @@ signed portCHAR *pxNext;
( void ) pxPort; ( void ) pxPort;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -205,7 +206,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
portBASE_TYPE xReturn; portBASE_TYPE xReturn;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/*----------------------------------------------------------- /*-----------------------------------------------------------
@ -74,7 +75,7 @@ void vConfigureQueues( xQueueHandle xQForRx, xQueueHandle xQForTx, portBASE_TYPE
void vSerialISR( void ) void vSerialISR( void )
{ {
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
do do

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -64,10 +65,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 60000000 ) /* Timer clock. */ #define configCPU_CLOCK_HZ ( ( unsigned long ) 60000000 ) /* Timer clock. */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) 12800 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) 12800 )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Library includes. */ /* Library includes. */
@ -64,8 +65,8 @@
typedef struct GPIOMAP typedef struct GPIOMAP
{ {
GPIO_TypeDef *pxPort; GPIO_TypeDef *pxPort;
unsigned portLONG ulPin; unsigned long ulPin;
unsigned portLONG ulValue; unsigned long ulValue;
} GPIO_MAP; } GPIO_MAP;
static GPIO_MAP xLEDMap[ partstNUM_LEDS ] = static GPIO_MAP xLEDMap[ partstNUM_LEDS ] =

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -120,8 +121,8 @@ time. */
/* The type that is posted to the LCD queue. */ /* The type that is posted to the LCD queue. */
typedef struct LCD_MESSAGE typedef struct LCD_MESSAGE
{ {
unsigned portCHAR *pucString; /* Points to the string to be displayed. */ unsigned char *pucString; /* Points to the string to be displayed. */
unsigned portCHAR ucLine; /* The line of the LCD that should be used. */ unsigned char ucLine; /* The line of the LCD that should be used. */
} LCDMessage; } LCDMessage;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -174,8 +175,8 @@ void main( void )
vStartIntegerMathTasks( tskIDLE_PRIORITY ); vStartIntegerMathTasks( tskIDLE_PRIORITY );
/* Create the tasks defined within this file. */ /* Create the tasks defined within this file. */
xTaskCreate( vPrintTask, ( signed portCHAR * ) "LCD", configMINIMAL_STACK_SIZE, NULL, mainLCD_TASK_PRIORITY, NULL ); xTaskCreate( vPrintTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE, NULL, mainLCD_TASK_PRIORITY, NULL );
xTaskCreate( vCheckTask, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); xTaskCreate( vCheckTask, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
vTaskStartScheduler(); vTaskStartScheduler();
@ -186,10 +187,10 @@ void main( void )
static void vCheckTask( void *pvParameters ) static void vCheckTask( void *pvParameters )
{ {
static unsigned portLONG ulErrorDetected = pdFALSE; static unsigned long ulErrorDetected = pdFALSE;
portTickType xLastExecutionTime; portTickType xLastExecutionTime;
unsigned portCHAR *cErrorMessage = " FAIL"; unsigned char *cErrorMessage = " FAIL";
unsigned portCHAR *cSuccessMessage = " PASS"; unsigned char *cSuccessMessage = " PASS";
unsigned portBASE_TYPE uxColumn = mainMAX_WRITE_COLUMN; unsigned portBASE_TYPE uxColumn = mainMAX_WRITE_COLUMN;
LCDMessage xMessage; LCDMessage xMessage;
@ -232,7 +233,7 @@ LCDMessage xMessage;
/* Calculate the LCD line on which we would like the message to /* Calculate the LCD line on which we would like the message to
be displayed. The column variable is used for convenience as be displayed. The column variable is used for convenience as
it is incremented each cycle anyway. */ it is incremented each cycle anyway. */
xMessage.ucLine = ( unsigned portCHAR ) ( uxColumn & 0x01 ); xMessage.ucLine = ( unsigned char ) ( uxColumn & 0x01 );
/* The message displayed depends on whether an error was found or /* The message displayed depends on whether an error was found or
not. Any discovered error is latched. Here the column variable not. Any discovered error is latched. Here the column variable

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -84,7 +85,7 @@ __arm void vSerialISR( void );
/* /*
* See the serial2.h header file. * See the serial2.h header file.
*/ */
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
xComPortHandle xReturn; xComPortHandle xReturn;
UART_InitTypeDef UART_InitStructure; UART_InitTypeDef UART_InitStructure;
@ -92,8 +93,8 @@ GPIO_InitTypeDef GPIO_InitStructure;
EIC_IRQInitTypeDef EIC_IRQInitStructure; EIC_IRQInitTypeDef EIC_IRQInitStructure;
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* If the queues were created correctly then setup the serial port /* If the queues were created correctly then setup the serial port
hardware. */ hardware. */
@ -150,7 +151,7 @@ EIC_IRQInitTypeDef EIC_IRQInitStructure;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports one port. */ /* The port handle is not required as this driver only supports one port. */
( void ) pxPort; ( void ) pxPort;
@ -168,9 +169,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* A couple of parameters that this port does not use. */ /* A couple of parameters that this port does not use. */
( void ) usStringLength; ( void ) usStringLength;
@ -183,7 +184,7 @@ signed portCHAR *pxNext;
( void ) pxPort; ( void ) pxPort;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -192,7 +193,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
portBASE_TYPE xReturn; portBASE_TYPE xReturn;
@ -232,7 +233,7 @@ void vSerialClose( xComPortHandle xPort )
__arm void vSerialISR( void ) __arm void vSerialISR( void )
{ {
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
do do

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -65,9 +66,9 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) BOARD_MCK ) #define configCPU_CLOCK_HZ ( ( unsigned long ) BOARD_MCK )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 190 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 190 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 40000 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 40000 ) )
#define configMAX_TASK_NAME_LEN ( 12 ) #define configMAX_TASK_NAME_LEN ( 12 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#include "FreeRTOS.h" #include "FreeRTOS.h"

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -150,7 +151,7 @@ int main()
static void prvCheckTask( void * pvParameters ) static void prvCheckTask( void * pvParameters )
{ {
portTickType xNextWakeTime, xPeriod = mainNO_ERROR_PERIOD; portTickType xNextWakeTime, xPeriod = mainNO_ERROR_PERIOD;
static volatile unsigned portLONG ulErrorCode = 0UL; static volatile unsigned long ulErrorCode = 0UL;
/* Just to remove the compiler warning. */ /* Just to remove the compiler warning. */
( void ) pvParameters; ( void ) pvParameters;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -78,8 +79,8 @@
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 ) #define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
#define serHANDLE ( ( xComPortHandle ) 1 ) #define serHANDLE ( ( xComPortHandle ) 1 )
#define serNO_BLOCK ( ( portTickType ) 0 ) #define serNO_BLOCK ( ( portTickType ) 0 )
#define serNO_TIMEGUARD ( ( unsigned portLONG ) 0 ) #define serNO_TIMEGUARD ( ( unsigned long ) 0 )
#define serNO_PERIPHERAL_B_SETUP ( ( unsigned portLONG ) 0 ) #define serNO_PERIPHERAL_B_SETUP ( ( unsigned long ) 0 )
/* Queues used to hold received characters, and characters waiting to be /* Queues used to hold received characters, and characters waiting to be
@ -97,13 +98,13 @@ __arm void vSerialISR( void );
/* /*
* See the serial2.h header file. * See the serial2.h header file.
*/ */
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
xComPortHandle xReturn = serHANDLE; xComPortHandle xReturn = serHANDLE;
/* Create the queues used to hold Rx and Tx characters. */ /* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* If the queues were created correctly then setup the serial port /* If the queues were created correctly then setup the serial port
hardware. */ hardware. */
@ -139,7 +140,7 @@ xComPortHandle xReturn = serHANDLE;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports one port. */ /* The port handle is not required as this driver only supports one port. */
( void ) pxPort; ( void ) pxPort;
@ -157,9 +158,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* A couple of parameters that this port does not use. */ /* A couple of parameters that this port does not use. */
( void ) usStringLength; ( void ) usStringLength;
@ -172,7 +173,7 @@ signed portCHAR *pxNext;
( void ) pxPort; ( void ) pxPort;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -181,7 +182,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
/* Just to remove compiler warning. */ /* Just to remove compiler warning. */
( void ) pxPort; ( void ) pxPort;
@ -215,8 +216,8 @@ within serialISR.s79 which in turn calls this function. See the port
documentation on the FreeRTOS.org website for more information. */ documentation on the FreeRTOS.org website for more information. */
__arm void vSerialISR( void ) __arm void vSerialISR( void )
{ {
unsigned portLONG ulStatus; unsigned long ulStatus;
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* What caused the interrupt? */ /* What caused the interrupt? */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -72,11 +73,11 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0 #define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 96000000 ) #define configCPU_CLOCK_HZ ( ( unsigned long ) 96000000 )
#define configCPU_PERIPH_HZ ( ( unsigned portLONG ) 48000000 ) #define configCPU_PERIPH_HZ ( ( unsigned long ) 48000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 100 ) #define configTICK_RATE_HZ ( ( portTickType ) 100 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 180 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 180 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) 52000 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) 52000 )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1

View File

@ -137,7 +137,7 @@ void ENET_MACControlConfig(ENET_MACConfig *MAC_Config)
*******************************************************************************/ *******************************************************************************/
portBASE_TYPE ENET_SetOperatingMode( void ) portBASE_TYPE ENET_SetOperatingMode( void )
{ {
unsigned portLONG ulStatusReg, ulControlReg, ulLinkAbilityReg; unsigned long ulStatusReg, ulControlReg, ulLinkAbilityReg;
/* Link status is latched, so read twice to get current value */ /* Link status is latched, so read twice to get current value */
ulStatusReg = ENET_MIIReadReg(0, STE100P_STATUS_REG); ulStatusReg = ENET_MIIReadReg(0, STE100P_STATUS_REG);

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Library includes. */ /* Library includes. */
@ -55,7 +56,7 @@
#include "partest.h" #include "partest.h"
#define partstMAX_LEDs 4 #define partstMAX_LEDs 4
#define partstLED_PORT *( ( unsigned portSHORT * ) 0x5800f3fc ) #define partstLED_PORT *( ( unsigned short * ) 0x5800f3fc )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -73,7 +74,7 @@ void vParTestInitialise( void )
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue ) void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{ {
unsigned portSHORT usLED = 0x0001; unsigned short usLED = 0x0001;
if( uxLED < partstMAX_LEDs ) if( uxLED < partstMAX_LEDs )
{ {
@ -97,7 +98,7 @@ unsigned portSHORT usLED = 0x0001;
void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{ {
unsigned portSHORT usLED = 0x0001; unsigned short usLED = 0x0001;
if( uxLED < partstMAX_LEDs ) if( uxLED < partstMAX_LEDs )
{ {

View File

@ -40,7 +40,7 @@
/* Message queue constants. */ /* Message queue constants. */
#define archMESG_QUEUE_LENGTH ( 6 ) #define archMESG_QUEUE_LENGTH ( 6 )
#define archPOST_BLOCK_TIME_MS ( ( unsigned portLONG ) 10000 ) #define archPOST_BLOCK_TIME_MS ( ( unsigned long ) 10000 )
struct timeoutlist struct timeoutlist
{ {
@ -329,7 +329,7 @@ sys_thread_t sys_thread_new(void (* thread)(void *arg), void *arg, int prio)
xTaskHandle CreatedTask; xTaskHandle CreatedTask;
int result; int result;
result = xTaskCreate(thread, ( signed portCHAR * ) s_sys_arch_state.cTaskName, s_sys_arch_state.nStackDepth, arg, prio, &CreatedTask ); result = xTaskCreate(thread, ( signed char * ) s_sys_arch_state.cTaskName, s_sys_arch_state.nStackDepth, arg, prio, &CreatedTask );
// For each task created, store the task handle (pid) in the timers array. // For each task created, store the task handle (pid) in the timers array.
// This scheme doesn't allow for threads to be deleted // This scheme doesn't allow for threads to be deleted
@ -384,7 +384,7 @@ void sys_set_default_state()
sprintf(s_sys_arch_state.cTaskName, "thread%d", s_sys_arch_state.nTaskCount); sprintf(s_sys_arch_state.cTaskName, "thread%d", s_sys_arch_state.nTaskCount);
} }
void sys_set_state(signed portCHAR *pTaskName, unsigned portSHORT nStackSize) void sys_set_state(signed char *pTaskName, unsigned short nStackSize)
{ {
s_sys_arch_state.nStackDepth = nStackSize; s_sys_arch_state.nStackDepth = nStackSize;
sprintf(s_sys_arch_state.cTaskName, "%s", pTaskName); sprintf(s_sys_arch_state.cTaskName, "%s", pTaskName);

View File

@ -48,15 +48,15 @@ typedef xTaskHandle sys_thread_t;
typedef struct _sys_arch_state_t typedef struct _sys_arch_state_t
{ {
// Task creation data. // Task creation data.
portCHAR cTaskName[configMAX_TASK_NAME_LEN]; char cTaskName[configMAX_TASK_NAME_LEN];
unsigned portSHORT nStackDepth; unsigned short nStackDepth;
unsigned short nTaskCount; unsigned short nTaskCount;
} sys_arch_state_t; } sys_arch_state_t;
//extern sys_arch_state_t s_sys_arch_state; //extern sys_arch_state_t s_sys_arch_state;
void sys_set_default_state(); void sys_set_default_state();
void sys_set_state(signed portCHAR *pTaskName, unsigned portSHORT nStackSize); void sys_set_state(signed char *pTaskName, unsigned short nStackSize);
#endif /* __SYS_RTXC_H__ */ #endif /* __SYS_RTXC_H__ */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef BASIC_WEB_SERVER_H #ifndef BASIC_WEB_SERVER_H

View File

@ -1,49 +1,50 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -100,7 +101,7 @@ void vlwIPInit( void )
pbuf_init(); pbuf_init();
netif_init(); netif_init();
ip_init(); ip_init();
sys_set_state(( signed portCHAR * ) "lwIP", lwipTCP_STACK_SIZE); sys_set_state(( signed char * ) "lwIP", lwipTCP_STACK_SIZE);
tcpip_init( NULL, NULL ); tcpip_init( NULL, NULL );
sys_set_default_state(); sys_set_default_state();
} }

View File

@ -131,7 +131,7 @@ static void low_level_init(struct netif *netif)
portEXIT_CRITICAL(); portEXIT_CRITICAL();
/* Create the task that handles the EMAC. */ /* Create the task that handles the EMAC. */
xTaskCreate( ethernetif_input, ( signed portCHAR * ) "ETH_INT", netifINTERFACE_TASK_STACK_SIZE, NULL, netifINTERFACE_TASK_PRIORITY, NULL ); xTaskCreate( ethernetif_input, ( signed char * ) "ETH_INT", netifINTERFACE_TASK_STACK_SIZE, NULL, netifINTERFACE_TASK_PRIORITY, NULL );
} }

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -130,7 +131,7 @@
#define mainLCD_DELAY ( 20 / portTICK_RATE_MS ) #define mainLCD_DELAY ( 20 / portTICK_RATE_MS )
/* Constants for the ComTest tasks. */ /* Constants for the ComTest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
#define mainCOM_TEST_LED ( 3 ) #define mainCOM_TEST_LED ( 3 )
/* The maximum number of messages that can be pending to be written to the LCD. */ /* The maximum number of messages that can be pending to be written to the LCD. */
@ -142,7 +143,7 @@
/* The structure that is passed on the LCD message queue. */ /* The structure that is passed on the LCD message queue. */
typedef struct typedef struct
{ {
portCHAR **ppcMessageToDisplay; /*<< Points to a char* pointing to the message to display. */ char **ppcMessageToDisplay; /*<< Points to a char* pointing to the message to display. */
portBASE_TYPE xRow; /*<< The row on which the message should be displayed. */ portBASE_TYPE xRow; /*<< The row on which the message should be displayed. */
} xLCDMessage; } xLCDMessage;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -190,7 +191,7 @@ static void prvLCDMessageTask( void * pvParameters );
static xQueueHandle xLCDQueue; static xQueueHandle xLCDQueue;
/* Error status flag. */ /* Error status flag. */
static unsigned portLONG ulErrorFlags = 0; static unsigned long ulErrorFlags = 0;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -235,7 +236,7 @@ void main( void )
#ifdef STACK_LWIP #ifdef STACK_LWIP
/* Create the lwIP task. This uses the lwIP RTOS abstraction layer.*/ /* Create the lwIP task. This uses the lwIP RTOS abstraction layer.*/
vlwIPInit(); vlwIPInit();
sys_set_state( ( signed portCHAR * ) "httpd", lwipBASIC_SERVER_STACK_SIZE ); sys_set_state( ( signed char * ) "httpd", lwipBASIC_SERVER_STACK_SIZE );
sys_thread_new( vBasicWEBServer, ( void * ) NULL, basicwebWEBSERVER_PRIORITY ); sys_thread_new( vBasicWEBServer, ( void * ) NULL, basicwebWEBSERVER_PRIORITY );
sys_set_default_state(); sys_set_default_state();
#endif #endif
@ -293,11 +294,11 @@ static void prvSetupHardware( void )
static void vErrorChecks( void *pvParameters ) static void vErrorChecks( void *pvParameters )
{ {
static portCHAR cCheckVal[ mainMAX_FLAG_STRING_LEN ]; static char cCheckVal[ mainMAX_FLAG_STRING_LEN ];
portCHAR *pcFlagString; char *pcFlagString;
xLCDMessage xMessageToSend; xLCDMessage xMessageToSend;
portTickType xLastWakeTime; portTickType xLastWakeTime;
portCHAR *pcStringsToDisplay[] = { char *pcStringsToDisplay[] = {
"Check status flag" "Check status flag"
}; };
@ -393,7 +394,7 @@ xLCDMessage xMessageToSend;
portBASE_TYPE xIndex = 0; portBASE_TYPE xIndex = 0;
/* The strings that are written to the LCD. */ /* The strings that are written to the LCD. */
portCHAR *pcStringsToDisplay[] = { char *pcStringsToDisplay[] = {
"IAR ", "IAR ",
"STR912 ", "STR912 ",
"Demo ", "Demo ",
@ -436,7 +437,7 @@ void prvLCDTask( void * pvParameters )
{ {
xQueueHandle *pxLCDQueue; xQueueHandle *pxLCDQueue;
xLCDMessage xReceivedMessage; xLCDMessage xReceivedMessage;
portCHAR *pcString; char *pcString;
/* To test the parameter passing mechanism, the queue on which messages are /* To test the parameter passing mechanism, the queue on which messages are
received is passed in as a parameter even though it is available as a file received is passed in as a parameter even though it is available as a file

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -92,19 +93,19 @@ __arm void UART1_IRQHandler( void );
/* Flag to indicate whether or not a task is blocked waiting for space on /* Flag to indicate whether or not a task is blocked waiting for space on
the FIFO. */ the FIFO. */
static portLONG lTaskWaiting = pdFALSE; static long lTaskWaiting = pdFALSE;
/* /*
* See the serial2.h header file. * See the serial2.h header file.
*/ */
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
xComPortHandle xReturn; xComPortHandle xReturn;
UART_InitTypeDef xUART1_Init; UART_InitTypeDef xUART1_Init;
GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitTypeDef GPIO_InitStructure;
/* Create the queues used to hold Rx characters. */ /* Create the queues used to hold Rx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* Create the semaphore used to wake a task waiting for space to become /* Create the semaphore used to wake a task waiting for space to become
available in the FIFO. */ available in the FIFO. */
@ -180,7 +181,7 @@ GPIO_InitTypeDef GPIO_InitStructure;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* The port handle is not required as this driver only supports one port. */ /* The port handle is not required as this driver only supports one port. */
( void ) pxPort; ( void ) pxPort;
@ -198,9 +199,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength ) void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{ {
signed portCHAR *pxNext; signed char *pxNext;
/* A couple of parameters that this port does not use. */ /* A couple of parameters that this port does not use. */
( void ) usStringLength; ( void ) usStringLength;
@ -213,7 +214,7 @@ signed portCHAR *pxNext;
( void ) pxPort; ( void ) pxPort;
/* Send each character in the string, one at a time. */ /* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString; pxNext = ( signed char * ) pcString;
while( *pxNext ) while( *pxNext )
{ {
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK ); xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@ -222,7 +223,7 @@ signed portCHAR *pxNext;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
portBASE_TYPE xReturn; portBASE_TYPE xReturn;
@ -267,7 +268,7 @@ void vSerialClose( xComPortHandle xPort )
void UART1_IRQHandler( void ) void UART1_IRQHandler( void )
{ {
signed portCHAR cChar; signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
while( UART1->RIS & mainRXRIS ) while( UART1->RIS & mainRXRIS )

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Standard includes. */ /* Standard includes. */
#include <string.h> #include <string.h>
@ -122,7 +123,7 @@ static void prvSetMACAddress( void );
/* /*
* Used to return a pointer to the next buffer to be used. * Used to return a pointer to the next buffer to be used.
*/ */
extern unsigned portCHAR *pcGetNextBuffer( void ); extern unsigned char *pcGetNextBuffer( void );
/* /*
* Port functions required by the uIP stack. * Port functions required by the uIP stack.
@ -262,7 +263,7 @@ struct timer periodic_timer, arp_timer;
static void prvENET_Send(void) static void prvENET_Send(void)
{ {
portBASE_TYPE i; portBASE_TYPE i;
static unsigned portCHAR *pcTxData; static unsigned char *pcTxData;
/* Get a DMA buffer into which we can write the data to send. */ /* Get a DMA buffer into which we can write the data to send. */
for( i = 0; i < uipBUFFER_WAIT_ATTEMPTS; i++ ) for( i = 0; i < uipBUFFER_WAIT_ATTEMPTS; i++ )

View File

@ -65,7 +65,7 @@
#define configPBA_CLOCK_HZ ( FOSC0 ) #define configPBA_CLOCK_HZ ( FOSC0 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 8 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 8 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 128 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
/* configTOTAL_HEAP_SIZE is not used when heap_3.c is used. */ /* configTOTAL_HEAP_SIZE is not used when heap_3.c is used. */
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 1024*25 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 1024*25 ) )
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )

View File

@ -30,50 +30,51 @@
*****************************************************************************/ *****************************************************************************/
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -67,10 +68,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 1 #define configUSE_IDLE_HOOK 1
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 8000000 ) #define configCPU_CLOCK_HZ ( ( unsigned long ) 8000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 85 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 85 )
#define configTOTAL_HEAP_SIZE ( (size_t ) ( 1500 ) ) #define configTOTAL_HEAP_SIZE ( (size_t ) ( 1500 ) )
#define configMAX_TASK_NAME_LEN ( 8 ) #define configMAX_TASK_NAME_LEN ( 8 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -65,11 +66,11 @@ Changes from V2.6.0
* Simple parallel port IO routines. * Simple parallel port IO routines.
*-----------------------------------------------------------*/ *-----------------------------------------------------------*/
#define partstALL_BITS_OUTPUT ( ( unsigned portCHAR ) 0xff ) #define partstALL_BITS_OUTPUT ( ( unsigned char ) 0xff )
#define partstALL_OUTPUTS_OFF ( ( unsigned portCHAR ) 0xff ) #define partstALL_OUTPUTS_OFF ( ( unsigned char ) 0xff )
#define partstMAX_OUTPUT_LED ( ( unsigned portCHAR ) 7 ) #define partstMAX_OUTPUT_LED ( ( unsigned char ) 7 )
static volatile unsigned portCHAR ucCurrentOutputValue = partstALL_OUTPUTS_OFF; /*lint !e956 File scope parameters okay here. */ static volatile unsigned char ucCurrentOutputValue = partstALL_OUTPUTS_OFF; /*lint !e956 File scope parameters okay here. */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -85,7 +86,7 @@ void vParTestInitialise( void )
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue ) void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{ {
unsigned portCHAR ucBit = ( unsigned portCHAR ) 1; unsigned char ucBit = ( unsigned char ) 1;
if( uxLED <= partstMAX_OUTPUT_LED ) if( uxLED <= partstMAX_OUTPUT_LED )
{ {
@ -95,7 +96,7 @@ unsigned portCHAR ucBit = ( unsigned portCHAR ) 1;
{ {
if( xValue == pdTRUE ) if( xValue == pdTRUE )
{ {
ucBit ^= ( unsigned portCHAR ) 0xff; ucBit ^= ( unsigned char ) 0xff;
ucCurrentOutputValue &= ucBit; ucCurrentOutputValue &= ucBit;
} }
else else
@ -112,11 +113,11 @@ unsigned portCHAR ucBit = ( unsigned portCHAR ) 1;
void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{ {
unsigned portCHAR ucBit; unsigned char ucBit;
if( uxLED <= partstMAX_OUTPUT_LED ) if( uxLED <= partstMAX_OUTPUT_LED )
{ {
ucBit = ( ( unsigned portCHAR ) 1 ) << uxLED; ucBit = ( ( unsigned char ) 1 ) << uxLED;
vTaskSuspendAll(); vTaskSuspendAll();
{ {

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -83,7 +84,7 @@ Changes from V1.2.5
Changes from V2.0.0 Changes from V2.0.0
+ Delay periods are now specified using variables and constants of + Delay periods are now specified using variables and constants of
portTickType rather than unsigned portLONG. portTickType rather than unsigned long.
Changes from V2.2.0 Changes from V2.2.0
@ -129,7 +130,7 @@ tasks just use the idle priority. */
#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) #define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 )
/* Baud rate used by the serial port tasks. */ /* Baud rate used by the serial port tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 38400 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 38400 )
/* LED used by the serial port tasks. This is toggled on each character Tx, /* LED used by the serial port tasks. This is toggled on each character Tx,
and mainCOM_TEST_LED + 1 is toggles on each character Rx. */ and mainCOM_TEST_LED + 1 is toggles on each character Rx. */
@ -173,7 +174,7 @@ static void prvIncrementResetCount( void );
*/ */
void vApplicationIdleHook( void ); void vApplicationIdleHook( void );
portSHORT main( void ) short main( void )
{ {
prvIncrementResetCount(); prvIncrementResetCount();
@ -203,7 +204,7 @@ portSHORT main( void )
static void vErrorChecks( void *pvParameters ) static void vErrorChecks( void *pvParameters )
{ {
static volatile unsigned portLONG ulDummyVariable = 3UL; static volatile unsigned long ulDummyVariable = 3UL;
/* The parameters are not used. */ /* The parameters are not used. */
( void ) pvParameters; ( void ) pvParameters;
@ -259,10 +260,10 @@ static portBASE_TYPE xErrorHasOccurred = pdFALSE;
static void prvIncrementResetCount( void ) static void prvIncrementResetCount( void )
{ {
unsigned portCHAR ucCount; unsigned char ucCount;
const unsigned portCHAR ucReadBit = ( unsigned portCHAR ) 0x01; const unsigned char ucReadBit = ( unsigned char ) 0x01;
const unsigned portCHAR ucWrite1 = ( unsigned portCHAR ) 0x04; const unsigned char ucWrite1 = ( unsigned char ) 0x04;
const unsigned portCHAR ucWrite2 = ( unsigned portCHAR ) 0x02; const unsigned char ucWrite2 = ( unsigned char ) 0x02;
/* Increment the EEPROM value at 0x00. /* Increment the EEPROM value at 0x00.

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Scheduler include files. */ /* Scheduler include files. */

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef REG_TEST_H #ifndef REG_TEST_H

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -55,24 +56,24 @@
#include "task.h" #include "task.h"
#include "serial.h" #include "serial.h"
#define serBAUD_DIV_CONSTANT ( ( unsigned portLONG ) 16 ) #define serBAUD_DIV_CONSTANT ( ( unsigned long ) 16 )
/* Constants for writing to UCSRB. */ /* Constants for writing to UCSRB. */
#define serRX_INT_ENABLE ( ( unsigned portCHAR ) 0x80 ) #define serRX_INT_ENABLE ( ( unsigned char ) 0x80 )
#define serRX_ENABLE ( ( unsigned portCHAR ) 0x10 ) #define serRX_ENABLE ( ( unsigned char ) 0x10 )
#define serTX_ENABLE ( ( unsigned portCHAR ) 0x08 ) #define serTX_ENABLE ( ( unsigned char ) 0x08 )
#define serTX_INT_ENABLE ( ( unsigned portCHAR ) 0x20 ) #define serTX_INT_ENABLE ( ( unsigned char ) 0x20 )
/* Constants for writing to UCSRC. */ /* Constants for writing to UCSRC. */
#define serUCSRC_SELECT ( ( unsigned portCHAR ) 0x80 ) #define serUCSRC_SELECT ( ( unsigned char ) 0x80 )
#define serEIGHT_DATA_BITS ( ( unsigned portCHAR ) 0x06 ) #define serEIGHT_DATA_BITS ( ( unsigned char ) 0x06 )
static xQueueHandle xRxedChars; static xQueueHandle xRxedChars;
static xQueueHandle xCharsForTx; static xQueueHandle xCharsForTx;
#define vInterruptOn() \ #define vInterruptOn() \
{ \ { \
unsigned portCHAR ucByte; \ unsigned char ucByte; \
\ \
ucByte = UCSRB; \ ucByte = UCSRB; \
ucByte |= serTX_INT_ENABLE; \ ucByte |= serTX_INT_ENABLE; \
@ -82,7 +83,7 @@ static xQueueHandle xCharsForTx;
#define vInterruptOff() \ #define vInterruptOff() \
{ \ { \
unsigned portCHAR ucByte; \ unsigned char ucByte; \
\ \
ucByte = UCSRB; \ ucByte = UCSRB; \
ucByte &= ~serTX_INT_ENABLE; \ ucByte &= ~serTX_INT_ENABLE; \
@ -90,27 +91,27 @@ static xQueueHandle xCharsForTx;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
unsigned portLONG ulBaudRateCounter; unsigned long ulBaudRateCounter;
unsigned portCHAR ucByte; unsigned char ucByte;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
/* Create the queues used by the com test task. */ /* Create the queues used by the com test task. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* Calculate the baud rate register value from the equation in the /* Calculate the baud rate register value from the equation in the
data sheet. */ data sheet. */
ulBaudRateCounter = ( configCPU_CLOCK_HZ / ( serBAUD_DIV_CONSTANT * ulWantedBaud ) ) - ( unsigned portLONG ) 1; ulBaudRateCounter = ( configCPU_CLOCK_HZ / ( serBAUD_DIV_CONSTANT * ulWantedBaud ) ) - ( unsigned long ) 1;
/* Set the baud rate. */ /* Set the baud rate. */
ucByte = ( unsigned portCHAR ) ( ulBaudRateCounter & ( unsigned portLONG ) 0xff ); ucByte = ( unsigned char ) ( ulBaudRateCounter & ( unsigned long ) 0xff );
outb( UBRRL, ucByte ); outb( UBRRL, ucByte );
ulBaudRateCounter >>= ( unsigned portLONG ) 8; ulBaudRateCounter >>= ( unsigned long ) 8;
ucByte = ( unsigned portCHAR ) ( ulBaudRateCounter & ( unsigned portLONG ) 0xff ); ucByte = ( unsigned char ) ( ulBaudRateCounter & ( unsigned long ) 0xff );
outb( UBRRH, ucByte ); outb( UBRRH, ucByte );
/* Enable the Rx interrupt. The Tx interrupt will get enabled /* Enable the Rx interrupt. The Tx interrupt will get enabled
@ -129,7 +130,7 @@ unsigned portCHAR ucByte;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* Get the next character from the buffer. Return false if no characters /* Get the next character from the buffer. Return false if no characters
are available, or arrive before xBlockTime expires. */ are available, or arrive before xBlockTime expires. */
@ -144,7 +145,7 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
/* Return false if after the block time there is no room on the Tx queue. */ /* Return false if after the block time there is no room on the Tx queue. */
if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS ) if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
@ -160,7 +161,7 @@ signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOut
void vSerialClose( xComPortHandle xPort ) void vSerialClose( xComPortHandle xPort )
{ {
unsigned portCHAR ucByte; unsigned char ucByte;
/* Turn off the interrupts. We may also want to delete the queues and/or /* Turn off the interrupts. We may also want to delete the queues and/or
re-install the original ISR. */ re-install the original ISR. */
@ -178,7 +179,7 @@ unsigned portCHAR ucByte;
__interrupt void SIG_UART_RECV( void ) __interrupt void SIG_UART_RECV( void )
{ {
signed portCHAR ucChar, xHigherPriorityTaskWoken = pdFALSE; signed char ucChar, xHigherPriorityTaskWoken = pdFALSE;
/* Get the character and post it on the queue of Rxed characters. /* Get the character and post it on the queue of Rxed characters.
If the post causes a task to wake force a context switch as the woken task If the post causes a task to wake force a context switch as the woken task
@ -196,7 +197,7 @@ signed portCHAR ucChar, xHigherPriorityTaskWoken = pdFALSE;
__interrupt void SIG_UART_DATA( void ) __interrupt void SIG_UART_DATA( void )
{ {
signed portCHAR cChar, cTaskWoken = pdFALSE; signed char cChar, cTaskWoken = pdFALSE;
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &cTaskWoken ) == pdTRUE ) if( xQueueReceiveFromISR( xCharsForTx, &cChar, &cTaskWoken ) == pdTRUE )
{ {

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
@ -65,10 +66,10 @@
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 1 #define configUSE_IDLE_HOOK 1
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 8000000 ) #define configCPU_CLOCK_HZ ( ( unsigned long ) 8000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 85 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 85 )
#define configTOTAL_HEAP_SIZE ( (size_t ) ( 1500 ) ) #define configTOTAL_HEAP_SIZE ( (size_t ) ( 1500 ) )
#define configMAX_TASK_NAME_LEN ( 8 ) #define configMAX_TASK_NAME_LEN ( 8 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -65,11 +66,11 @@ Changes from V2.6.0
* Simple parallel port IO routines. * Simple parallel port IO routines.
*-----------------------------------------------------------*/ *-----------------------------------------------------------*/
#define partstALL_BITS_OUTPUT ( ( unsigned portCHAR ) 0xff ) #define partstALL_BITS_OUTPUT ( ( unsigned char ) 0xff )
#define partstALL_OUTPUTS_OFF ( ( unsigned portCHAR ) 0xff ) #define partstALL_OUTPUTS_OFF ( ( unsigned char ) 0xff )
#define partstMAX_OUTPUT_LED ( ( unsigned portCHAR ) 7 ) #define partstMAX_OUTPUT_LED ( ( unsigned char ) 7 )
static volatile unsigned portCHAR ucCurrentOutputValue = partstALL_OUTPUTS_OFF; /*lint !e956 File scope parameters okay here. */ static volatile unsigned char ucCurrentOutputValue = partstALL_OUTPUTS_OFF; /*lint !e956 File scope parameters okay here. */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -85,7 +86,7 @@ void vParTestInitialise( void )
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue ) void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{ {
unsigned portCHAR ucBit = ( unsigned portCHAR ) 1; unsigned char ucBit = ( unsigned char ) 1;
if( uxLED <= partstMAX_OUTPUT_LED ) if( uxLED <= partstMAX_OUTPUT_LED )
{ {
@ -95,7 +96,7 @@ unsigned portCHAR ucBit = ( unsigned portCHAR ) 1;
{ {
if( xValue == pdTRUE ) if( xValue == pdTRUE )
{ {
ucBit ^= ( unsigned portCHAR ) 0xff; ucBit ^= ( unsigned char ) 0xff;
ucCurrentOutputValue &= ucBit; ucCurrentOutputValue &= ucBit;
} }
else else
@ -112,11 +113,11 @@ unsigned portCHAR ucBit = ( unsigned portCHAR ) 1;
void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{ {
unsigned portCHAR ucBit; unsigned char ucBit;
if( uxLED <= partstMAX_OUTPUT_LED ) if( uxLED <= partstMAX_OUTPUT_LED )
{ {
ucBit = ( ( unsigned portCHAR ) 1 ) << uxLED; ucBit = ( ( unsigned char ) 1 ) << uxLED;
vTaskSuspendAll(); vTaskSuspendAll();
{ {

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -83,7 +84,7 @@ Changes from V1.2.5
Changes from V2.0.0 Changes from V2.0.0
+ Delay periods are now specified using variables and constants of + Delay periods are now specified using variables and constants of
portTickType rather than unsigned portLONG. portTickType rather than unsigned long.
Changes from V2.6.1 Changes from V2.6.1
@ -126,7 +127,7 @@ tasks just use the idle priority. */
#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) #define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 )
/* Baud rate used by the serial port tasks. */ /* Baud rate used by the serial port tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 38400 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 38400 )
/* LED used by the serial port tasks. This is toggled on each character Tx, /* LED used by the serial port tasks. This is toggled on each character Tx,
and mainCOM_TEST_LED + 1 is toggles on each character Rx. */ and mainCOM_TEST_LED + 1 is toggles on each character Rx. */
@ -172,7 +173,7 @@ void vApplicationIdleHook( void );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
portSHORT main( void ) short main( void )
{ {
prvIncrementResetCount(); prvIncrementResetCount();
@ -186,7 +187,7 @@ portSHORT main( void )
vStartRegTestTasks(); vStartRegTestTasks();
/* Create the tasks defined within this file. */ /* Create the tasks defined within this file. */
xTaskCreate( vErrorChecks, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); xTaskCreate( vErrorChecks, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
/* Create the co-routines that flash the LED's. */ /* Create the co-routines that flash the LED's. */
vStartFlashCoRoutines( mainNUM_FLASH_COROUTINES ); vStartFlashCoRoutines( mainNUM_FLASH_COROUTINES );
@ -202,7 +203,7 @@ portSHORT main( void )
static void vErrorChecks( void *pvParameters ) static void vErrorChecks( void *pvParameters )
{ {
static volatile unsigned portLONG ulDummyVariable = 3UL; static volatile unsigned long ulDummyVariable = 3UL;
/* The parameters are not used. */ /* The parameters are not used. */
( void ) pvParameters; ( void ) pvParameters;
@ -258,7 +259,7 @@ static portBASE_TYPE xErrorHasOccurred = pdFALSE;
static void prvIncrementResetCount( void ) static void prvIncrementResetCount( void )
{ {
unsigned portCHAR ucCount; unsigned char ucCount;
eeprom_read_block( &ucCount, mainRESET_COUNT_ADDRESS, sizeof( ucCount ) ); eeprom_read_block( &ucCount, mainRESET_COUNT_ADDRESS, sizeof( ucCount ) );
ucCount++; ucCount++;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Scheduler include files. */ /* Scheduler include files. */
@ -66,8 +67,8 @@ portBASE_TYPE xRegTestError = pdFALSE;
void vStartRegTestTasks( void ) void vStartRegTestTasks( void )
{ {
xTaskCreate( prvRegisterCheck1, ( signed portCHAR * ) "Reg1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvRegisterCheck1, ( signed char * ) "Reg1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
xTaskCreate( prvRegisterCheck2, ( signed portCHAR * ) "Reg2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvRegisterCheck2, ( signed char * ) "Reg2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
#ifndef REG_TEST_H #ifndef REG_TEST_H

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* /*
@ -55,7 +56,7 @@ Changes from V1.2.3
Changes from V2.0.0 Changes from V2.0.0
+ Delay periods are now specified using variables and constants of + Delay periods are now specified using variables and constants of
portTickType rather than unsigned portLONG. portTickType rather than unsigned long.
+ xQueueReceiveFromISR() used in place of xQueueReceive() within the ISR. + xQueueReceiveFromISR() used in place of xQueueReceive() within the ISR.
Changes from V2.6.0 Changes from V2.6.0
@ -75,24 +76,24 @@ Changes from V2.6.0
#include "task.h" #include "task.h"
#include "serial.h" #include "serial.h"
#define serBAUD_DIV_CONSTANT ( ( unsigned portLONG ) 16 ) #define serBAUD_DIV_CONSTANT ( ( unsigned long ) 16 )
/* Constants for writing to UCSRB. */ /* Constants for writing to UCSRB. */
#define serRX_INT_ENABLE ( ( unsigned portCHAR ) 0x80 ) #define serRX_INT_ENABLE ( ( unsigned char ) 0x80 )
#define serRX_ENABLE ( ( unsigned portCHAR ) 0x10 ) #define serRX_ENABLE ( ( unsigned char ) 0x10 )
#define serTX_ENABLE ( ( unsigned portCHAR ) 0x08 ) #define serTX_ENABLE ( ( unsigned char ) 0x08 )
#define serTX_INT_ENABLE ( ( unsigned portCHAR ) 0x20 ) #define serTX_INT_ENABLE ( ( unsigned char ) 0x20 )
/* Constants for writing to UCSRC. */ /* Constants for writing to UCSRC. */
#define serUCSRC_SELECT ( ( unsigned portCHAR ) 0x80 ) #define serUCSRC_SELECT ( ( unsigned char ) 0x80 )
#define serEIGHT_DATA_BITS ( ( unsigned portCHAR ) 0x06 ) #define serEIGHT_DATA_BITS ( ( unsigned char ) 0x06 )
static xQueueHandle xRxedChars; static xQueueHandle xRxedChars;
static xQueueHandle xCharsForTx; static xQueueHandle xCharsForTx;
#define vInterruptOn() \ #define vInterruptOn() \
{ \ { \
unsigned portCHAR ucByte; \ unsigned char ucByte; \
\ \
ucByte = UCSRB; \ ucByte = UCSRB; \
ucByte |= serTX_INT_ENABLE; \ ucByte |= serTX_INT_ENABLE; \
@ -102,7 +103,7 @@ static xQueueHandle xCharsForTx;
#define vInterruptOff() \ #define vInterruptOff() \
{ \ { \
unsigned portCHAR ucInByte; \ unsigned char ucInByte; \
\ \
ucInByte = UCSRB; \ ucInByte = UCSRB; \
ucInByte &= ~serTX_INT_ENABLE; \ ucInByte &= ~serTX_INT_ENABLE; \
@ -110,27 +111,27 @@ static xQueueHandle xCharsForTx;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength ) xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{ {
unsigned portLONG ulBaudRateCounter; unsigned long ulBaudRateCounter;
unsigned portCHAR ucByte; unsigned char ucByte;
portENTER_CRITICAL(); portENTER_CRITICAL();
{ {
/* Create the queues used by the com test task. */ /* Create the queues used by the com test task. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) ); xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* Calculate the baud rate register value from the equation in the /* Calculate the baud rate register value from the equation in the
data sheet. */ data sheet. */
ulBaudRateCounter = ( configCPU_CLOCK_HZ / ( serBAUD_DIV_CONSTANT * ulWantedBaud ) ) - ( unsigned portLONG ) 1; ulBaudRateCounter = ( configCPU_CLOCK_HZ / ( serBAUD_DIV_CONSTANT * ulWantedBaud ) ) - ( unsigned long ) 1;
/* Set the baud rate. */ /* Set the baud rate. */
ucByte = ( unsigned portCHAR ) ( ulBaudRateCounter & ( unsigned portLONG ) 0xff ); ucByte = ( unsigned char ) ( ulBaudRateCounter & ( unsigned long ) 0xff );
UBRRL = ucByte; UBRRL = ucByte;
ulBaudRateCounter >>= ( unsigned portLONG ) 8; ulBaudRateCounter >>= ( unsigned long ) 8;
ucByte = ( unsigned portCHAR ) ( ulBaudRateCounter & ( unsigned portLONG ) 0xff ); ucByte = ( unsigned char ) ( ulBaudRateCounter & ( unsigned long ) 0xff );
UBRRH = ucByte; UBRRH = ucByte;
/* Enable the Rx interrupt. The Tx interrupt will get enabled /* Enable the Rx interrupt. The Tx interrupt will get enabled
@ -149,7 +150,7 @@ unsigned portCHAR ucByte;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{ {
/* Only one port is supported. */ /* Only one port is supported. */
( void ) pxPort; ( void ) pxPort;
@ -167,7 +168,7 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime ) signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{ {
/* Only one port is supported. */ /* Only one port is supported. */
( void ) pxPort; ( void ) pxPort;
@ -186,7 +187,7 @@ signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOut
void vSerialClose( xComPortHandle xPort ) void vSerialClose( xComPortHandle xPort )
{ {
unsigned portCHAR ucByte; unsigned char ucByte;
/* The parameter is not used. */ /* The parameter is not used. */
( void ) xPort; ( void ) xPort;
@ -207,7 +208,7 @@ unsigned portCHAR ucByte;
SIGNAL( SIG_UART_RECV ) SIGNAL( SIG_UART_RECV )
{ {
signed portCHAR cChar; signed char cChar;
signed portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; signed portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* Get the character and post it on the queue of Rxed characters. /* Get the character and post it on the queue of Rxed characters.
@ -226,7 +227,7 @@ signed portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
SIGNAL( SIG_UART_DATA ) SIGNAL( SIG_UART_DATA )
{ {
signed portCHAR cChar, cTaskWoken; signed char cChar, cTaskWoken;
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &cTaskWoken ) == pdTRUE ) if( xQueueReceiveFromISR( xCharsForTx, &cChar, &cTaskWoken ) == pdTRUE )
{ {

View File

@ -37,7 +37,7 @@
void vInitFEC( void ); void vInitFEC( void );
/* Receive any data into the uip_buf array. */ /* Receive any data into the uip_buf array. */
unsigned portLONG ulFECRx( void ); unsigned long ulFECRx( void );
/* Transmit the uip_buf array. */ /* Transmit the uip_buf array. */
void vFECTx( void ); void vFECTx( void );

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -80,7 +81,7 @@ before compiling. */
#define configUSE_TICK_HOOK 1 #define configUSE_TICK_HOOK 1
#define configCPU_CLOCK_HZ ( 50000000UL ) #define configCPU_CLOCK_HZ ( 50000000UL )
#define configTICK_RATE_HZ ( ( portTickType ) 100 ) #define configTICK_RATE_HZ ( ( portTickType ) 100 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 13 * 1024 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 13 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 12 ) #define configMAX_TASK_NAME_LEN ( 12 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */

View File

@ -30,10 +30,10 @@
#define ETH_MTU (ETH_HDR_LEN + ETH_MAX_DATA) #define ETH_MTU (ETH_HDR_LEN + ETH_MAX_DATA)
/* Ethernet Addresses */ /* Ethernet Addresses */
typedef unsigned portCHAR ETH_ADDR[ETH_ADDR_LEN]; typedef unsigned char ETH_ADDR[ETH_ADDR_LEN];
/* 16-bit Ethernet Frame Type, ie. Protocol */ /* 16-bit Ethernet Frame Type, ie. Protocol */
typedef unsigned portSHORT ETH_FRM_TYPE; typedef unsigned short ETH_FRM_TYPE;
/* Ethernet Frame Header definition */ /* Ethernet Frame Header definition */
typedef struct typedef struct
@ -47,7 +47,7 @@ typedef struct
typedef struct typedef struct
{ {
ETH_HDR head; ETH_HDR head;
unsigned portCHAR* data; unsigned char* data;
} ETH_FRAME; } ETH_FRAME;
/*******************************************************************/ /*******************************************************************/

View File

@ -29,9 +29,9 @@
#pragma options align= packed #pragma options align= packed
typedef struct typedef struct
{ {
unsigned portSHORT status; /* control and status */ unsigned short status; /* control and status */
unsigned portSHORT length; /* transfer length */ unsigned short length; /* transfer length */
unsigned portCHAR *data; /* buffer address */ unsigned char *data; /* buffer address */
} FECBD; } FECBD;
/* /*
@ -85,7 +85,7 @@ typedef struct
int fecbd_init(int, int, int); int fecbd_init(int, int, int);
void fecbd_flush(int); void fecbd_flush(int);
void fecbd_dump( void ); void fecbd_dump( void );
unsigned portLONG fecbd_get_start(int, int); unsigned long fecbd_get_start(int, int);
FECBD* fecbd_rx_alloc(int); FECBD* fecbd_rx_alloc(int);
FECBD* fecbd_tx_alloc(int); FECBD* fecbd_tx_alloc(int);
FECBD* fecbd_tx_free(int); FECBD* fecbd_tx_free(int);

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* Standard includes. */ /* Standard includes. */
@ -192,7 +193,7 @@ extern void ( vEMAC_ISR )( void );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vApplicationProcessFormInput( portCHAR *pcInputString, portBASE_TYPE xInputLength ) void vApplicationProcessFormInput( char *pcInputString, portBASE_TYPE xInputLength )
{ {
char *c; char *c;

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
@ -96,7 +97,7 @@
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* ComTest constants - there is no free LED for the comtest tasks. */ /* ComTest constants - there is no free LED for the comtest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 19200 ) #define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 19200 )
#define mainCOM_TEST_LED ( 5 ) #define mainCOM_TEST_LED ( 5 )
/* Task priorities. */ /* Task priorities. */
@ -137,7 +138,7 @@ extern void vuIP_Task( void *pvParameters );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* Counters used to detect errors within the reg test tasks. */ /* Counters used to detect errors within the reg test tasks. */
static volatile unsigned portLONG ulRegTest1Counter = 0x11111111, ulRegTest2Counter = 0x22222222; static volatile unsigned long ulRegTest1Counter = 0x11111111, ulRegTest2Counter = 0x22222222;
/* Flag that latches any errors detected in the system. */ /* Flag that latches any errors detected in the system. */
unsigned long ulCheckErrors = 0; unsigned long ulCheckErrors = 0;
@ -151,7 +152,7 @@ extern void vBasicWEBServer( void *pv );
/* Setup the hardware ready for this demo. */ /* Setup the hardware ready for this demo. */
prvSetupHardware(); prvSetupHardware();
xTaskCreate( vuIP_Task, ( signed portCHAR * ) "uIP", mainBASIC_WEB_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY - 1, NULL ); xTaskCreate( vuIP_Task, ( signed char * ) "uIP", mainBASIC_WEB_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY - 1, NULL );
/* Start the standard demo tasks. */ /* Start the standard demo tasks. */
vStartLEDFlashTasks( tskIDLE_PRIORITY ); vStartLEDFlashTasks( tskIDLE_PRIORITY );
@ -161,8 +162,8 @@ extern void vBasicWEBServer( void *pv );
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY ); vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
/* Start the reg test tasks - defined in this file. */ /* Start the reg test tasks - defined in this file. */
xTaskCreate( vRegTest1Task, ( signed portCHAR * ) "Reg1", configMINIMAL_STACK_SIZE, ( void * ) &ulRegTest1Counter, tskIDLE_PRIORITY, NULL ); xTaskCreate( vRegTest1Task, ( signed char * ) "Reg1", configMINIMAL_STACK_SIZE, ( void * ) &ulRegTest1Counter, tskIDLE_PRIORITY, NULL );
xTaskCreate( vRegTest2Task, ( signed portCHAR * ) "Reg2", configMINIMAL_STACK_SIZE, ( void * ) &ulRegTest2Counter, tskIDLE_PRIORITY, NULL ); xTaskCreate( vRegTest2Task, ( signed char * ) "Reg2", configMINIMAL_STACK_SIZE, ( void * ) &ulRegTest2Counter, tskIDLE_PRIORITY, NULL );
/* Start the scheduler. */ /* Start the scheduler. */
vTaskStartScheduler(); vTaskStartScheduler();
@ -281,7 +282,7 @@ static void prvSetupHardware( void )
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed portCHAR *pcTaskName ) void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
{ {
/* This will get called if a stack overflow is detected during the context /* This will get called if a stack overflow is detected during the context
switch. Set configCHECK_FOR_STACK_OVERFLOWS to 2 to also check for stack switch. Set configCHECK_FOR_STACK_OVERFLOWS to 2 to also check for stack

View File

@ -1,48 +1,49 @@
/* /*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd. FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation and modified by the FreeRTOS exception. Free Software Foundation and modified by the FreeRTOS exception.
**NOTE** The exception to the GPL is included to allow you to distribute a **NOTE** The exception to the GPL is included to allow you to distribute a
combined work that includes FreeRTOS without being obliged to provide the combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel. source code for proprietary components outside of the FreeRTOS kernel.
Alternative commercial license and support terms are also available upon Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full request. See the licensing section of http://www.FreeRTOS.org for full
license details. license details.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. more details.
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA. Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*************************************************************************** ***************************************************************************
* * * *
* Looking for a quick start? Then check out the FreeRTOS eBook! * * The FreeRTOS eBook and reference manual are available to purchase for a *
* See http://www.FreeRTOS.org/Documentation for details * * small fee. Help yourself get started quickly while also helping the *
* * * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
*************************************************************************** * *
***************************************************************************
1 tab == 4 spaces! 1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the Please ensure to read the configuration and relevant port sections of the
online documentation. online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and http://www.FreeRTOS.org - Documentation, latest information, license and
contact details. contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems. critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting, http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services. licensing and training services.
*/ */
/* CodeWarrior often thinks it knows better than you which files you want to /* CodeWarrior often thinks it knows better than you which files you want to
@ -76,9 +77,9 @@ before compiling. */
#define configUSE_PREEMPTION 1 #define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 1 #define configUSE_IDLE_HOOK 1
#define configUSE_TICK_HOOK 0 #define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 80000000 ) #define configCPU_CLOCK_HZ ( ( unsigned long ) 80000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 100 ) #define configTICK_RATE_HZ ( ( portTickType ) 100 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 15000 ) ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 15000 ) )
#define configMAX_TASK_NAME_LEN ( 12 ) #define configMAX_TASK_NAME_LEN ( 12 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1

Some files were not shown because too many files have changed in this diff Show More