mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Remove unnecessary use of portLONG, portCHAR and portSHORT.
Change version number in headers.
This commit is contained in:
parent
26f0258688
commit
506dd1b7c8
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -372,7 +373,7 @@ void vPortEndScheduler( void ) PRIVILEGED_FUNCTION;
|
||||||
*/
|
*/
|
||||||
#if( portUSING_MPU_WRAPPERS == 1 )
|
#if( portUSING_MPU_WRAPPERS == 1 )
|
||||||
struct xMEMORY_REGION;
|
struct xMEMORY_REGION;
|
||||||
void vPortStoreTaskMPUSettings( xMPU_SETTINGS *xMPUSettings, const struct xMEMORY_REGION * const xRegions, portSTACK_TYPE *pxBottomOfStack, unsigned portSHORT usStackDepth ) PRIVILEGED_FUNCTION;
|
void vPortStoreTaskMPUSettings( xMPU_SETTINGS *xMPUSettings, const struct xMEMORY_REGION * const xRegions, portSTACK_TYPE *pxBottomOfStack, unsigned short usStackDepth ) PRIVILEGED_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@ extern "C" {
|
||||||
* MACROS AND DEFINITIONS
|
* MACROS AND DEFINITIONS
|
||||||
*----------------------------------------------------------*/
|
*----------------------------------------------------------*/
|
||||||
|
|
||||||
#define tskKERNEL_VERSION_NUMBER "V5.4.2"
|
#define tskKERNEL_VERSION_NUMBER "V6.0.0"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -74,15 +75,15 @@ Changes from V2.6.1
|
||||||
/*lint -e950 Non ANSI reserved words okay in this file only. */
|
/*lint -e950 Non ANSI reserved words okay in this file only. */
|
||||||
|
|
||||||
#define portTIMER_EOI_TYPE ( 8 )
|
#define portTIMER_EOI_TYPE ( 8 )
|
||||||
#define portRESET_PIC() portOUTPUT_WORD( ( unsigned portSHORT ) 0xff22, portTIMER_EOI_TYPE )
|
#define portRESET_PIC() portOUTPUT_WORD( ( unsigned short ) 0xff22, portTIMER_EOI_TYPE )
|
||||||
#define portTIMER_INT_NUMBER 0x12
|
#define portTIMER_INT_NUMBER 0x12
|
||||||
|
|
||||||
#define portTIMER_1_CONTROL_REGISTER ( ( unsigned portSHORT ) 0xff5e )
|
#define portTIMER_1_CONTROL_REGISTER ( ( unsigned short ) 0xff5e )
|
||||||
#define portTIMER_0_CONTROL_REGISTER ( ( unsigned portSHORT ) 0xff56 )
|
#define portTIMER_0_CONTROL_REGISTER ( ( unsigned short ) 0xff56 )
|
||||||
#define portTIMER_INTERRUPT_ENABLE ( ( unsigned portSHORT ) 0x2000 )
|
#define portTIMER_INTERRUPT_ENABLE ( ( unsigned short ) 0x2000 )
|
||||||
|
|
||||||
/* Setup the hardware to generate the required tick frequency. */
|
/* Setup the hardware to generate the required tick frequency. */
|
||||||
static void prvSetTickFrequency( unsigned portLONG ulTickRateHz );
|
static void prvSetTickFrequency( unsigned long ulTickRateHz );
|
||||||
|
|
||||||
/* Set the hardware back to the state as per before the scheduler started. */
|
/* Set the hardware back to the state as per before the scheduler started. */
|
||||||
static void prvExitFunction( void );
|
static void prvExitFunction( void );
|
||||||
|
@ -205,8 +206,8 @@ void vPortEndScheduler( void )
|
||||||
|
|
||||||
static void prvExitFunction( void )
|
static void prvExitFunction( void )
|
||||||
{
|
{
|
||||||
const unsigned portSHORT usTimerDisable = 0x0000;
|
const unsigned short usTimerDisable = 0x0000;
|
||||||
unsigned portSHORT usTimer0Control;
|
unsigned short usTimer0Control;
|
||||||
|
|
||||||
/* Interrupts should be disabled here anyway - but no
|
/* Interrupts should be disabled here anyway - but no
|
||||||
harm in making sure. */
|
harm in making sure. */
|
||||||
|
@ -238,23 +239,23 @@ unsigned portSHORT usTimer0Control;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvSetTickFrequency( unsigned portLONG ulTickRateHz )
|
static void prvSetTickFrequency( unsigned long ulTickRateHz )
|
||||||
{
|
{
|
||||||
const unsigned portSHORT usMaxCountRegister = 0xff5a;
|
const unsigned short usMaxCountRegister = 0xff5a;
|
||||||
const unsigned portSHORT usTimerPriorityRegister = 0xff32;
|
const unsigned short usTimerPriorityRegister = 0xff32;
|
||||||
const unsigned portSHORT usTimerEnable = 0xC000;
|
const unsigned short usTimerEnable = 0xC000;
|
||||||
const unsigned portSHORT usRetrigger = 0x0001;
|
const unsigned short usRetrigger = 0x0001;
|
||||||
const unsigned portSHORT usTimerHighPriority = 0x0000;
|
const unsigned short usTimerHighPriority = 0x0000;
|
||||||
unsigned portSHORT usTimer0Control;
|
unsigned short usTimer0Control;
|
||||||
|
|
||||||
/* ( CPU frequency / 4 ) / clock 2 max count [inpw( 0xff62 ) = 7] */
|
/* ( CPU frequency / 4 ) / clock 2 max count [inpw( 0xff62 ) = 7] */
|
||||||
|
|
||||||
const unsigned portLONG ulClockFrequency = ( unsigned portLONG ) 0x7f31a0UL;
|
const unsigned long ulClockFrequency = ( unsigned long ) 0x7f31a0UL;
|
||||||
|
|
||||||
unsigned portLONG ulTimerCount = ulClockFrequency / ulTickRateHz;
|
unsigned long ulTimerCount = ulClockFrequency / ulTickRateHz;
|
||||||
|
|
||||||
portOUTPUT_WORD( portTIMER_1_CONTROL_REGISTER, usTimerEnable | portTIMER_INTERRUPT_ENABLE | usRetrigger );
|
portOUTPUT_WORD( portTIMER_1_CONTROL_REGISTER, usTimerEnable | portTIMER_INTERRUPT_ENABLE | usRetrigger );
|
||||||
portOUTPUT_WORD( usMaxCountRegister, ( unsigned portSHORT ) ulTimerCount );
|
portOUTPUT_WORD( usMaxCountRegister, ( unsigned short ) ulTimerCount );
|
||||||
portOUTPUT_WORD( usTimerPriorityRegister, usTimerHighPriority );
|
portOUTPUT_WORD( usTimerPriorityRegister, usTimerHighPriority );
|
||||||
|
|
||||||
/* Stop the DOS tick - don't do this if you want to maintain a TOD clock. */
|
/* Stop the DOS tick - don't do this if you want to maintain a TOD clock. */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -75,7 +76,7 @@ Changes from V4.0.1
|
||||||
#define portTIMER_INT_NUMBER 0x08
|
#define portTIMER_INT_NUMBER 0x08
|
||||||
|
|
||||||
/* Setup hardware for required tick interrupt rate. */
|
/* Setup hardware for required tick interrupt rate. */
|
||||||
static void prvSetTickFrequency( unsigned portLONG ulTickRateHz );
|
static void prvSetTickFrequency( unsigned long ulTickRateHz );
|
||||||
|
|
||||||
/* Restore hardware to as it was prior to starting the scheduler. */
|
/* Restore hardware to as it was prior to starting the scheduler. */
|
||||||
static void prvExitFunction( void );
|
static void prvExitFunction( void );
|
||||||
|
@ -107,7 +108,7 @@ static void prvSetTickFrequencyDefault( void );
|
||||||
/*lint -e956 File scopes necessary here. */
|
/*lint -e956 File scopes necessary here. */
|
||||||
|
|
||||||
/* Used to signal when to chain to the DOS tick, and when to just clear the PIC ourselves. */
|
/* Used to signal when to chain to the DOS tick, and when to just clear the PIC ourselves. */
|
||||||
static portSHORT sDOSTickCounter;
|
static short sDOSTickCounter;
|
||||||
|
|
||||||
/* Set true when the vectors are set so the scheduler will service the tick. */
|
/* Set true when the vectors are set so the scheduler will service the tick. */
|
||||||
static portBASE_TYPE xSchedulerRunning = pdFALSE;
|
static portBASE_TYPE xSchedulerRunning = pdFALSE;
|
||||||
|
@ -224,7 +225,7 @@ static void prvPortResetPIC( void )
|
||||||
--sDOSTickCounter;
|
--sDOSTickCounter;
|
||||||
if( sDOSTickCounter <= 0 )
|
if( sDOSTickCounter <= 0 )
|
||||||
{
|
{
|
||||||
sDOSTickCounter = ( portSHORT ) portTICKS_PER_DOS_TICK;
|
sDOSTickCounter = ( short ) portTICKS_PER_DOS_TICK;
|
||||||
__asm{ int portSWITCH_INT_NUMBER + 1 };
|
__asm{ int portSWITCH_INT_NUMBER + 1 };
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -279,28 +280,28 @@ void ( __interrupt __far *pxOriginalTickISR )();
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvSetTickFrequency( unsigned portLONG ulTickRateHz )
|
static void prvSetTickFrequency( unsigned long ulTickRateHz )
|
||||||
{
|
{
|
||||||
const unsigned portSHORT usPIT_MODE = ( unsigned portSHORT ) 0x43;
|
const unsigned short usPIT_MODE = ( unsigned short ) 0x43;
|
||||||
const unsigned portSHORT usPIT0 = ( unsigned portSHORT ) 0x40;
|
const unsigned short usPIT0 = ( unsigned short ) 0x40;
|
||||||
const unsigned portLONG ulPIT_CONST = ( unsigned portLONG ) 1193180UL;
|
const unsigned long ulPIT_CONST = ( unsigned long ) 1193180UL;
|
||||||
const unsigned portSHORT us8254_CTR0_MODE3 = ( unsigned portSHORT ) 0x36;
|
const unsigned short us8254_CTR0_MODE3 = ( unsigned short ) 0x36;
|
||||||
unsigned portLONG ulOutput;
|
unsigned long ulOutput;
|
||||||
|
|
||||||
/* Setup the 8245 to tick at the wanted frequency. */
|
/* Setup the 8245 to tick at the wanted frequency. */
|
||||||
portOUTPUT_BYTE( usPIT_MODE, us8254_CTR0_MODE3 );
|
portOUTPUT_BYTE( usPIT_MODE, us8254_CTR0_MODE3 );
|
||||||
ulOutput = ulPIT_CONST / ulTickRateHz;
|
ulOutput = ulPIT_CONST / ulTickRateHz;
|
||||||
portOUTPUT_BYTE( usPIT0, ( unsigned portSHORT )( ulOutput & ( unsigned portLONG ) 0xff ) );
|
portOUTPUT_BYTE( usPIT0, ( unsigned short )( ulOutput & ( unsigned long ) 0xff ) );
|
||||||
ulOutput >>= 8;
|
ulOutput >>= 8;
|
||||||
portOUTPUT_BYTE( usPIT0, ( unsigned portSHORT ) ( ulOutput & ( unsigned portLONG ) 0xff ) );
|
portOUTPUT_BYTE( usPIT0, ( unsigned short ) ( ulOutput & ( unsigned long ) 0xff ) );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvSetTickFrequencyDefault( void )
|
static void prvSetTickFrequencyDefault( void )
|
||||||
{
|
{
|
||||||
const unsigned portSHORT usPIT_MODE = ( unsigned portSHORT ) 0x43;
|
const unsigned short usPIT_MODE = ( unsigned short ) 0x43;
|
||||||
const unsigned portSHORT usPIT0 = ( unsigned portSHORT ) 0x40;
|
const unsigned short usPIT0 = ( unsigned short ) 0x40;
|
||||||
const unsigned portSHORT us8254_CTR0_MODE3 = ( unsigned portSHORT ) 0x36;
|
const unsigned short us8254_CTR0_MODE3 = ( unsigned short ) 0x36;
|
||||||
|
|
||||||
portOUTPUT_BYTE( usPIT_MODE, us8254_CTR0_MODE3 );
|
portOUTPUT_BYTE( usPIT_MODE, us8254_CTR0_MODE3 );
|
||||||
portOUTPUT_BYTE( usPIT0,0 );
|
portOUTPUT_BYTE( usPIT0,0 );
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -56,24 +57,24 @@
|
||||||
#define portINITIAL_STATUS_REGISTER ( ( portSTACK_TYPE ) 0x2000)
|
#define portINITIAL_STATUS_REGISTER ( ( portSTACK_TYPE ) 0x2000)
|
||||||
|
|
||||||
/* The clock prescale into the timer peripheral. */
|
/* The clock prescale into the timer peripheral. */
|
||||||
#define portPRESCALE_VALUE ( ( unsigned portCHAR ) 10 )
|
#define portPRESCALE_VALUE ( ( unsigned char ) 10 )
|
||||||
|
|
||||||
/* The clock frequency into the RTC. */
|
/* The clock frequency into the RTC. */
|
||||||
#define portRTC_CLOCK_HZ ( ( unsigned portLONG ) 1000 )
|
#define portRTC_CLOCK_HZ ( ( unsigned long ) 1000 )
|
||||||
|
|
||||||
asm void interrupt VectorNumber_VL1swi vPortYieldISR( void );
|
asm void interrupt VectorNumber_VL1swi vPortYieldISR( void );
|
||||||
static void prvSetupTimerInterrupt( void );
|
static void prvSetupTimerInterrupt( void );
|
||||||
|
|
||||||
/* Used to keep track of the number of nested calls to taskENTER_CRITICAL(). This
|
/* Used to keep track of the number of nested calls to taskENTER_CRITICAL(). This
|
||||||
will be set to 0 prior to the first task being started. */
|
will be set to 0 prior to the first task being started. */
|
||||||
static unsigned portLONG ulCriticalNesting = 0x9999UL;
|
static unsigned long ulCriticalNesting = 0x9999UL;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE * pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE * pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
||||||
{
|
{
|
||||||
|
|
||||||
unsigned portLONG ulOriginalA5;
|
unsigned long ulOriginalA5;
|
||||||
|
|
||||||
__asm{ MOVE.L A5, ulOriginalA5 };
|
__asm{ MOVE.L A5, ulOriginalA5 };
|
||||||
|
|
||||||
|
@ -171,7 +172,7 @@ void vPortExitCritical( void )
|
||||||
|
|
||||||
void vPortYieldHandler( void )
|
void vPortYieldHandler( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulSavedInterruptMask;
|
unsigned long ulSavedInterruptMask;
|
||||||
|
|
||||||
ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR();
|
ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR();
|
||||||
{
|
{
|
||||||
|
@ -185,7 +186,7 @@ unsigned portLONG ulSavedInterruptMask;
|
||||||
|
|
||||||
void interrupt VectorNumber_Vrtc vPortTickISR( void )
|
void interrupt VectorNumber_Vrtc vPortTickISR( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulSavedInterruptMask;
|
unsigned long ulSavedInterruptMask;
|
||||||
|
|
||||||
/* Clear the interrupt. */
|
/* Clear the interrupt. */
|
||||||
RTCSC |= RTCSC_RTIF_MASK;
|
RTCSC |= RTCSC_RTIF_MASK;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -57,7 +58,7 @@
|
||||||
|
|
||||||
/* Used to keep track of the number of nested calls to taskENTER_CRITICAL(). This
|
/* Used to keep track of the number of nested calls to taskENTER_CRITICAL(). This
|
||||||
will be set to 0 prior to the first task being started. */
|
will be set to 0 prior to the first task being started. */
|
||||||
static unsigned portLONG ulCriticalNesting = 0x9999UL;
|
static unsigned long ulCriticalNesting = 0x9999UL;
|
||||||
|
|
||||||
|
|
||||||
#define portSAVE_CONTEXT() \
|
#define portSAVE_CONTEXT() \
|
||||||
|
@ -155,7 +156,7 @@ void vPortExitCritical( void )
|
||||||
|
|
||||||
void vPortYieldHandler( void )
|
void vPortYieldHandler( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulSavedInterruptMask;
|
unsigned long ulSavedInterruptMask;
|
||||||
|
|
||||||
ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR();
|
ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR();
|
||||||
/* Note this will clear all forced interrupts - this is done for speed. */
|
/* Note this will clear all forced interrupts - this is done for speed. */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -191,7 +192,7 @@ void vPortEndScheduler( void )
|
||||||
*/
|
*/
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
volatile unsigned portLONG ulDummy;
|
volatile unsigned long ulDummy;
|
||||||
|
|
||||||
/* Enable clock to the tick timer... */
|
/* Enable clock to the tick timer... */
|
||||||
AT91C_BASE_PS->PS_PCER = portTIMER_CLK_ENABLE_BIT;
|
AT91C_BASE_PS->PS_PCER = portTIMER_CLK_ENABLE_BIT;
|
||||||
|
@ -211,12 +212,12 @@ volatile unsigned portLONG ulDummy;
|
||||||
#if configUSE_PREEMPTION == 1
|
#if configUSE_PREEMPTION == 1
|
||||||
{
|
{
|
||||||
extern void ( vPreemptiveTick )( void );
|
extern void ( vPreemptiveTick )( void );
|
||||||
AT91C_BASE_AIC->AIC_SVR[portTIMER_AIC_CHANNEL] = ( unsigned portLONG ) vPreemptiveTick;
|
AT91C_BASE_AIC->AIC_SVR[portTIMER_AIC_CHANNEL] = ( unsigned long ) vPreemptiveTick;
|
||||||
}
|
}
|
||||||
#else // else use cooperative scheduler
|
#else // else use cooperative scheduler
|
||||||
{
|
{
|
||||||
extern void ( vNonPreemptiveTick )( void );
|
extern void ( vNonPreemptiveTick )( void );
|
||||||
AT91C_BASE_AIC->AIC_SVR[portTIMER_AIC_CHANNEL] = ( unsigned portLONG ) vNonPreemptiveTick;
|
AT91C_BASE_AIC->AIC_SVR[portTIMER_AIC_CHANNEL] = ( unsigned long ) vNonPreemptiveTick;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -65,11 +66,11 @@
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
|
||||||
/* Constants required to handle interrupts. */
|
/* Constants required to handle interrupts. */
|
||||||
#define portCLEAR_AIC_INTERRUPT ( ( unsigned portLONG ) 0 )
|
#define portCLEAR_AIC_INTERRUPT ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
volatile unsigned portLONG ulCriticalNesting = 9999UL;
|
volatile unsigned long ulCriticalNesting = 9999UL;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -129,7 +130,7 @@ void vPortYieldProcessor( void )
|
||||||
void vNonPreemptiveTick( void ) __attribute__ ((interrupt ("IRQ")));
|
void vNonPreemptiveTick( void ) __attribute__ ((interrupt ("IRQ")));
|
||||||
void vNonPreemptiveTick( void )
|
void vNonPreemptiveTick( void )
|
||||||
{
|
{
|
||||||
static volatile unsigned portLONG ulDummy;
|
static volatile unsigned long ulDummy;
|
||||||
|
|
||||||
/* Clear tick timer interrupt indication. */
|
/* Clear tick timer interrupt indication. */
|
||||||
ulDummy = portTIMER_REG_BASE_PTR->TC_SR;
|
ulDummy = portTIMER_REG_BASE_PTR->TC_SR;
|
||||||
|
@ -152,7 +153,7 @@ void vPortYieldProcessor( void )
|
||||||
|
|
||||||
/* WARNING - Do not use local (stack) variables here. Use globals
|
/* WARNING - Do not use local (stack) variables here. Use globals
|
||||||
if you must! */
|
if you must! */
|
||||||
static volatile unsigned portLONG ulDummy;
|
static volatile unsigned long ulDummy;
|
||||||
|
|
||||||
/* Clear tick timer interrupt indication. */
|
/* Clear tick timer interrupt indication. */
|
||||||
ulDummy = portTIMER_REG_BASE_PTR->TC_SR;
|
ulDummy = portTIMER_REG_BASE_PTR->TC_SR;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -79,18 +80,18 @@
|
||||||
#define portNO_CRITICAL_SECTION_NESTING ( ( portSTACK_TYPE ) 0 )
|
#define portNO_CRITICAL_SECTION_NESTING ( ( portSTACK_TYPE ) 0 )
|
||||||
|
|
||||||
/* Constants required to setup the tick ISR. */
|
/* Constants required to setup the tick ISR. */
|
||||||
#define portENABLE_TIMER ( ( unsigned portCHAR ) 0x01 )
|
#define portENABLE_TIMER ( ( unsigned char ) 0x01 )
|
||||||
#define portPRESCALE_VALUE 0x00
|
#define portPRESCALE_VALUE 0x00
|
||||||
#define portINTERRUPT_ON_MATCH ( ( unsigned portLONG ) 0x01 )
|
#define portINTERRUPT_ON_MATCH ( ( unsigned long ) 0x01 )
|
||||||
#define portRESET_COUNT_ON_MATCH ( ( unsigned portLONG ) 0x02 )
|
#define portRESET_COUNT_ON_MATCH ( ( unsigned long ) 0x02 )
|
||||||
|
|
||||||
/* Constants required to setup the PIT. */
|
/* Constants required to setup the PIT. */
|
||||||
#define portPIT_CLOCK_DIVISOR ( ( unsigned portLONG ) 16 )
|
#define portPIT_CLOCK_DIVISOR ( ( unsigned long ) 16 )
|
||||||
#define portPIT_COUNTER_VALUE ( ( ( configCPU_CLOCK_HZ / portPIT_CLOCK_DIVISOR ) / 1000UL ) * portTICK_RATE_MS )
|
#define portPIT_COUNTER_VALUE ( ( ( configCPU_CLOCK_HZ / portPIT_CLOCK_DIVISOR ) / 1000UL ) * portTICK_RATE_MS )
|
||||||
|
|
||||||
#define portINT_LEVEL_SENSITIVE 0
|
#define portINT_LEVEL_SENSITIVE 0
|
||||||
#define portPIT_ENABLE ( ( unsigned portSHORT ) 0x1 << 24 )
|
#define portPIT_ENABLE ( ( unsigned short ) 0x1 << 24 )
|
||||||
#define portPIT_INT_ENABLE ( ( unsigned portSHORT ) 0x1 << 25 )
|
#define portPIT_INT_ENABLE ( ( unsigned short ) 0x1 << 25 )
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Setup the timer to generate the tick interrupts. */
|
/* Setup the timer to generate the tick interrupts. */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -66,12 +67,12 @@
|
||||||
#include "AT91SAM7X256.h"
|
#include "AT91SAM7X256.h"
|
||||||
|
|
||||||
/* Constants required to handle interrupts. */
|
/* Constants required to handle interrupts. */
|
||||||
#define portTIMER_MATCH_ISR_BIT ( ( unsigned portCHAR ) 0x01 )
|
#define portTIMER_MATCH_ISR_BIT ( ( unsigned char ) 0x01 )
|
||||||
#define portCLEAR_VIC_INTERRUPT ( ( unsigned portLONG ) 0 )
|
#define portCLEAR_VIC_INTERRUPT ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
volatile unsigned portLONG ulCriticalNesting = 9999UL;
|
volatile unsigned long ulCriticalNesting = 9999UL;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -131,7 +132,7 @@ void vPortYieldProcessor( void )
|
||||||
void vNonPreemptiveTick( void ) __attribute__ ((interrupt ("IRQ")));
|
void vNonPreemptiveTick( void ) __attribute__ ((interrupt ("IRQ")));
|
||||||
void vNonPreemptiveTick( void )
|
void vNonPreemptiveTick( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulDummy;
|
unsigned long ulDummy;
|
||||||
|
|
||||||
/* Increment the tick count - which may wake some tasks but as the
|
/* Increment the tick count - which may wake some tasks but as the
|
||||||
preemptive scheduler is not being used any woken task is not given
|
preemptive scheduler is not being used any woken task is not given
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -69,15 +70,15 @@
|
||||||
#define portNO_CRITICAL_SECTION_NESTING ( ( portSTACK_TYPE ) 0 )
|
#define portNO_CRITICAL_SECTION_NESTING ( ( portSTACK_TYPE ) 0 )
|
||||||
|
|
||||||
/* Constants required to setup the tick ISR. */
|
/* Constants required to setup the tick ISR. */
|
||||||
#define portENABLE_TIMER ( ( unsigned portCHAR ) 0x01 )
|
#define portENABLE_TIMER ( ( unsigned char ) 0x01 )
|
||||||
#define portPRESCALE_VALUE 0x00
|
#define portPRESCALE_VALUE 0x00
|
||||||
#define portINTERRUPT_ON_MATCH ( ( unsigned portLONG ) 0x01 )
|
#define portINTERRUPT_ON_MATCH ( ( unsigned long ) 0x01 )
|
||||||
#define portRESET_COUNT_ON_MATCH ( ( unsigned portLONG ) 0x02 )
|
#define portRESET_COUNT_ON_MATCH ( ( unsigned long ) 0x02 )
|
||||||
|
|
||||||
/* Constants required to setup the VIC for the tick ISR. */
|
/* Constants required to setup the VIC for the tick ISR. */
|
||||||
#define portTIMER_VIC_CHANNEL ( ( unsigned portLONG ) 0x0004 )
|
#define portTIMER_VIC_CHANNEL ( ( unsigned long ) 0x0004 )
|
||||||
#define portTIMER_VIC_CHANNEL_BIT ( ( unsigned portLONG ) 0x0010 )
|
#define portTIMER_VIC_CHANNEL_BIT ( ( unsigned long ) 0x0010 )
|
||||||
#define portTIMER_VIC_ENABLE ( ( unsigned portLONG ) 0x0020 )
|
#define portTIMER_VIC_ENABLE ( ( unsigned long ) 0x0020 )
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -195,7 +196,7 @@ void vPortEndScheduler( void )
|
||||||
*/
|
*/
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulCompareMatch;
|
unsigned long ulCompareMatch;
|
||||||
extern void ( vTickISR )( void );
|
extern void ( vTickISR )( void );
|
||||||
|
|
||||||
/* A 1ms tick does not require the use of the timer prescale. This is
|
/* A 1ms tick does not require the use of the timer prescale. This is
|
||||||
|
@ -224,7 +225,7 @@ extern void ( vTickISR )( void );
|
||||||
/* The ISR installed depends on whether the preemptive or cooperative
|
/* The ISR installed depends on whether the preemptive or cooperative
|
||||||
scheduler is being used. */
|
scheduler is being used. */
|
||||||
|
|
||||||
VICVectAddr0 = ( portLONG ) vTickISR;
|
VICVectAddr0 = ( long ) vTickISR;
|
||||||
VICVectCntl0 = portTIMER_VIC_CHANNEL | portTIMER_VIC_ENABLE;
|
VICVectCntl0 = portTIMER_VIC_CHANNEL | portTIMER_VIC_ENABLE;
|
||||||
|
|
||||||
/* Start the timer - interrupts are disabled when this function is called
|
/* Start the timer - interrupts are disabled when this function is called
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -75,12 +76,12 @@
|
||||||
#include "FreeRTOS.h"
|
#include "FreeRTOS.h"
|
||||||
|
|
||||||
/* Constants required to handle interrupts. */
|
/* Constants required to handle interrupts. */
|
||||||
#define portTIMER_MATCH_ISR_BIT ( ( unsigned portCHAR ) 0x01 )
|
#define portTIMER_MATCH_ISR_BIT ( ( unsigned char ) 0x01 )
|
||||||
#define portCLEAR_VIC_INTERRUPT ( ( unsigned portLONG ) 0 )
|
#define portCLEAR_VIC_INTERRUPT ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
volatile unsigned portLONG ulCriticalNesting = 9999UL;
|
volatile unsigned long ulCriticalNesting = 9999UL;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -61,23 +62,23 @@ FreeRTOS.org versions prior to V4.4.0 did not include this definition. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Constants required to manipulate the NVIC. */
|
/* Constants required to manipulate the NVIC. */
|
||||||
#define portNVIC_SYSTICK_CTRL ( ( volatile unsigned portLONG *) 0xe000e010 )
|
#define portNVIC_SYSTICK_CTRL ( ( volatile unsigned long *) 0xe000e010 )
|
||||||
#define portNVIC_SYSTICK_LOAD ( ( volatile unsigned portLONG *) 0xe000e014 )
|
#define portNVIC_SYSTICK_LOAD ( ( volatile unsigned long *) 0xe000e014 )
|
||||||
#define portNVIC_INT_CTRL ( ( volatile unsigned portLONG *) 0xe000ed04 )
|
#define portNVIC_INT_CTRL ( ( volatile unsigned long *) 0xe000ed04 )
|
||||||
#define portNVIC_SYSPRI2 ( ( volatile unsigned portLONG *) 0xe000ed20 )
|
#define portNVIC_SYSPRI2 ( ( volatile unsigned long *) 0xe000ed20 )
|
||||||
#define portNVIC_SYSTICK_CLK 0x00000004
|
#define portNVIC_SYSTICK_CLK 0x00000004
|
||||||
#define portNVIC_SYSTICK_INT 0x00000002
|
#define portNVIC_SYSTICK_INT 0x00000002
|
||||||
#define portNVIC_SYSTICK_ENABLE 0x00000001
|
#define portNVIC_SYSTICK_ENABLE 0x00000001
|
||||||
#define portNVIC_PENDSVSET 0x10000000
|
#define portNVIC_PENDSVSET 0x10000000
|
||||||
#define portNVIC_PENDSV_PRI ( ( ( unsigned portLONG ) configKERNEL_INTERRUPT_PRIORITY ) << 16 )
|
#define portNVIC_PENDSV_PRI ( ( ( unsigned long ) configKERNEL_INTERRUPT_PRIORITY ) << 16 )
|
||||||
#define portNVIC_SYSTICK_PRI ( ( ( unsigned portLONG ) configKERNEL_INTERRUPT_PRIORITY ) << 24 )
|
#define portNVIC_SYSTICK_PRI ( ( ( unsigned long ) configKERNEL_INTERRUPT_PRIORITY ) << 24 )
|
||||||
|
|
||||||
/* Constants required to set up the initial stack. */
|
/* Constants required to set up the initial stack. */
|
||||||
#define portINITIAL_XPSR ( 0x01000000 )
|
#define portINITIAL_XPSR ( 0x01000000 )
|
||||||
|
|
||||||
/* The priority used by the kernel is assigned to a variable to make access
|
/* The priority used by the kernel is assigned to a variable to make access
|
||||||
from inline assembler easier. */
|
from inline assembler easier. */
|
||||||
const unsigned portLONG ulKernelPriority = configKERNEL_INTERRUPT_PRIORITY;
|
const unsigned long ulKernelPriority = configKERNEL_INTERRUPT_PRIORITY;
|
||||||
|
|
||||||
/* Each task maintains its own interrupt status in the critical nesting
|
/* Each task maintains its own interrupt status in the critical nesting
|
||||||
variable. */
|
variable. */
|
||||||
|
@ -245,7 +246,7 @@ void xPortPendSVHandler( void )
|
||||||
|
|
||||||
void xPortSysTickHandler( void )
|
void xPortSysTickHandler( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulDummy;
|
unsigned long ulDummy;
|
||||||
|
|
||||||
/* If using preemption, also force a context switch. */
|
/* If using preemption, also force a context switch. */
|
||||||
#if configUSE_PREEMPTION == 1
|
#if configUSE_PREEMPTION == 1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -68,10 +69,10 @@ Changes from V2.6.0
|
||||||
#define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x80 )
|
#define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x80 )
|
||||||
|
|
||||||
/* Hardware constants for timer 1. */
|
/* Hardware constants for timer 1. */
|
||||||
#define portCLEAR_COUNTER_ON_MATCH ( ( unsigned portCHAR ) 0x08 )
|
#define portCLEAR_COUNTER_ON_MATCH ( ( unsigned char ) 0x08 )
|
||||||
#define portPRESCALE_64 ( ( unsigned portCHAR ) 0x03 )
|
#define portPRESCALE_64 ( ( unsigned char ) 0x03 )
|
||||||
#define portCLOCK_PRESCALER ( ( unsigned portLONG ) 64 )
|
#define portCLOCK_PRESCALER ( ( unsigned long ) 64 )
|
||||||
#define portCOMPARE_MATCH_A_INTERRUPT_ENABLE ( ( unsigned portCHAR ) 0x10 )
|
#define portCOMPARE_MATCH_A_INTERRUPT_ENABLE ( ( unsigned char ) 0x10 )
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -204,7 +205,7 @@ static void prvSetupTimerInterrupt( void );
|
||||||
*/
|
*/
|
||||||
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
||||||
{
|
{
|
||||||
unsigned portSHORT usAddress;
|
unsigned short usAddress;
|
||||||
|
|
||||||
/* Place a few bytes of known values on the bottom of the stack.
|
/* Place a few bytes of known values on the bottom of the stack.
|
||||||
This is just useful for debugging. */
|
This is just useful for debugging. */
|
||||||
|
@ -223,12 +224,12 @@ unsigned portSHORT usAddress;
|
||||||
|
|
||||||
/* The start of the task code will be popped off the stack last, so place
|
/* The start of the task code will be popped off the stack last, so place
|
||||||
it on first. */
|
it on first. */
|
||||||
usAddress = ( unsigned portSHORT ) pxCode;
|
usAddress = ( unsigned short ) pxCode;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
usAddress >>= 8;
|
usAddress >>= 8;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
/* Next simulate the stack as if after a call to portSAVE_CONTEXT().
|
/* Next simulate the stack as if after a call to portSAVE_CONTEXT().
|
||||||
|
@ -290,12 +291,12 @@ unsigned portSHORT usAddress;
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
/* Place the parameter on the stack in the expected location. */
|
/* Place the parameter on the stack in the expected location. */
|
||||||
usAddress = ( unsigned portSHORT ) pvParameters;
|
usAddress = ( unsigned short ) pvParameters;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
usAddress >>= 8;
|
usAddress >>= 8;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) 0x26; /* R26 X */
|
*pxTopOfStack = ( portSTACK_TYPE ) 0x26; /* R26 X */
|
||||||
|
@ -379,8 +380,8 @@ void vPortYieldFromTick( void )
|
||||||
*/
|
*/
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulCompareMatch;
|
unsigned long ulCompareMatch;
|
||||||
unsigned portCHAR ucHighByte, ucLowByte;
|
unsigned char ucHighByte, ucLowByte;
|
||||||
|
|
||||||
/* Using 16bit timer 1 to generate the tick. Correct fuses must be
|
/* Using 16bit timer 1 to generate the tick. Correct fuses must be
|
||||||
selected for the configCPU_CLOCK_HZ clock. */
|
selected for the configCPU_CLOCK_HZ clock. */
|
||||||
|
@ -391,13 +392,13 @@ unsigned portCHAR ucHighByte, ucLowByte;
|
||||||
ulCompareMatch /= portCLOCK_PRESCALER;
|
ulCompareMatch /= portCLOCK_PRESCALER;
|
||||||
|
|
||||||
/* Adjust for correct value. */
|
/* Adjust for correct value. */
|
||||||
ulCompareMatch -= ( unsigned portLONG ) 1;
|
ulCompareMatch -= ( unsigned long ) 1;
|
||||||
|
|
||||||
/* Setup compare match value for compare match A. Interrupts are disabled
|
/* Setup compare match value for compare match A. Interrupts are disabled
|
||||||
before this is called so we need not worry here. */
|
before this is called so we need not worry here. */
|
||||||
ucLowByte = ( unsigned portCHAR ) ( ulCompareMatch & ( unsigned portLONG ) 0xff );
|
ucLowByte = ( unsigned char ) ( ulCompareMatch & ( unsigned long ) 0xff );
|
||||||
ulCompareMatch >>= 8;
|
ulCompareMatch >>= 8;
|
||||||
ucHighByte = ( unsigned portCHAR ) ( ulCompareMatch & ( unsigned portLONG ) 0xff );
|
ucHighByte = ( unsigned char ) ( ulCompareMatch & ( unsigned long ) 0xff );
|
||||||
OCR1AH = ucHighByte;
|
OCR1AH = ucHighByte;
|
||||||
OCR1AL = ucLowByte;
|
OCR1AL = ucLowByte;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -39,8 +39,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -82,8 +83,8 @@
|
||||||
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 0 )
|
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 0 )
|
||||||
|
|
||||||
/* Each task maintains its own critical nesting variable. */
|
/* Each task maintains its own critical nesting variable. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
volatile unsigned portLONG ulCriticalNesting = 9999UL;
|
volatile unsigned long ulCriticalNesting = 9999UL;
|
||||||
|
|
||||||
#if( configTICK_USE_TC==0 )
|
#if( configTICK_USE_TC==0 )
|
||||||
static void prvScheduleNextTick( void );
|
static void prvScheduleNextTick( void );
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -39,8 +39,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -56,7 +57,7 @@
|
||||||
|
|
||||||
/* Used to keep track of the number of nested calls to taskENTER_CRITICAL(). This
|
/* Used to keep track of the number of nested calls to taskENTER_CRITICAL(). This
|
||||||
will be set to 0 prior to the first task being started. */
|
will be set to 0 prior to the first task being started. */
|
||||||
static unsigned portLONG ulCriticalNesting = 0x9999UL;
|
static unsigned long ulCriticalNesting = 0x9999UL;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -138,7 +139,7 @@ void vPortExitCritical( void )
|
||||||
|
|
||||||
void vPortYieldHandler( void )
|
void vPortYieldHandler( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulSavedInterruptMask;
|
unsigned long ulSavedInterruptMask;
|
||||||
|
|
||||||
ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR();
|
ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR();
|
||||||
/* Note this will clear all forced interrupts - this is done for speed. */
|
/* Note this will clear all forced interrupts - this is done for speed. */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -61,12 +62,12 @@
|
||||||
#define portINITIAL_CCR ( ( portSTACK_TYPE ) 0x00 )
|
#define portINITIAL_CCR ( ( portSTACK_TYPE ) 0x00 )
|
||||||
|
|
||||||
/* Hardware specific constants used to generate the RTOS tick from the TPU. */
|
/* Hardware specific constants used to generate the RTOS tick from the TPU. */
|
||||||
#define portCLEAR_ON_TGRA_COMPARE_MATCH ( ( unsigned portCHAR ) 0x20 )
|
#define portCLEAR_ON_TGRA_COMPARE_MATCH ( ( unsigned char ) 0x20 )
|
||||||
#define portCLOCK_DIV_64 ( ( unsigned portCHAR ) 0x03 )
|
#define portCLOCK_DIV_64 ( ( unsigned char ) 0x03 )
|
||||||
#define portCLOCK_DIV ( ( unsigned portLONG ) 64 )
|
#define portCLOCK_DIV ( ( unsigned long ) 64 )
|
||||||
#define portTGRA_INTERRUPT_ENABLE ( ( unsigned portCHAR ) 0x01 )
|
#define portTGRA_INTERRUPT_ENABLE ( ( unsigned char ) 0x01 )
|
||||||
#define portTIMER_CHANNEL ( ( unsigned portCHAR ) 0x02 )
|
#define portTIMER_CHANNEL ( ( unsigned char ) 0x02 )
|
||||||
#define portMSTP13 ( ( unsigned portSHORT ) 0x2000 )
|
#define portMSTP13 ( ( unsigned short ) 0x2000 )
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Setup TPU channel one for the RTOS tick at the requested frequency.
|
* Setup TPU channel one for the RTOS tick at the requested frequency.
|
||||||
|
@ -85,10 +86,10 @@ void vPortYield( void ) __attribute__ ( ( saveall, interrupt_handler ) );
|
||||||
*/
|
*/
|
||||||
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulValue;
|
unsigned long ulValue;
|
||||||
|
|
||||||
/* This requires an even address. */
|
/* This requires an even address. */
|
||||||
ulValue = ( unsigned portLONG ) pxTopOfStack;
|
ulValue = ( unsigned long ) pxTopOfStack;
|
||||||
if( ulValue & 1UL )
|
if( ulValue & 1UL )
|
||||||
{
|
{
|
||||||
pxTopOfStack = pxTopOfStack - 1;
|
pxTopOfStack = pxTopOfStack - 1;
|
||||||
|
@ -107,7 +108,7 @@ unsigned portLONG ulValue;
|
||||||
|
|
||||||
/* The initial stack mimics an interrupt stack. First there is the program
|
/* The initial stack mimics an interrupt stack. First there is the program
|
||||||
counter (24 bits). */
|
counter (24 bits). */
|
||||||
ulValue = ( unsigned portLONG ) pxCode;
|
ulValue = ( unsigned long ) pxCode;
|
||||||
|
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( ulValue & 0xff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( ulValue & 0xff );
|
||||||
|
@ -137,7 +138,7 @@ unsigned portLONG ulValue;
|
||||||
*pxTopOfStack = 0x66;
|
*pxTopOfStack = 0x66;
|
||||||
|
|
||||||
/* ER0 */
|
/* ER0 */
|
||||||
ulValue = ( unsigned portLONG ) pvParameters;
|
ulValue = ( unsigned long ) pvParameters;
|
||||||
|
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( ulValue & 0xff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( ulValue & 0xff );
|
||||||
|
@ -299,7 +300,7 @@ void vPortYield( void )
|
||||||
*/
|
*/
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
const unsigned portLONG ulCompareMatch = ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) / portCLOCK_DIV;
|
const unsigned long ulCompareMatch = ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) / portCLOCK_DIV;
|
||||||
|
|
||||||
/* Turn the module on. */
|
/* Turn the module on. */
|
||||||
MSTPCR &= ~portMSTP13;
|
MSTPCR &= ~portMSTP13;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
|
|
@ -86,11 +86,11 @@ typedef volatile unsigned char vuint8;
|
||||||
#define MCF_INTC0_ICRn_IP(x) ( ( ( x ) & 0x07 ) << 0 )
|
#define MCF_INTC0_ICRn_IP(x) ( ( ( x ) & 0x07 ) << 0 )
|
||||||
#define MCF_INTC0_ICRn_IL(x) ( ( ( x ) & 0x07 ) << 3 )
|
#define MCF_INTC0_ICRn_IL(x) ( ( ( x ) & 0x07 ) << 3 )
|
||||||
|
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
#define portINITIAL_CRITICAL_NESTING ( ( unsigned portLONG ) 10 )
|
#define portINITIAL_CRITICAL_NESTING ( ( unsigned long ) 10 )
|
||||||
|
|
||||||
/* ------------------------ Static variables ------------------------------ */
|
/* ------------------------ Static variables ------------------------------ */
|
||||||
volatile unsigned portLONG ulCriticalNesting = portINITIAL_CRITICAL_NESTING;
|
volatile unsigned long ulCriticalNesting = portINITIAL_CRITICAL_NESTING;
|
||||||
|
|
||||||
/* ------------------------ Static functions ------------------------------ */
|
/* ------------------------ Static functions ------------------------------ */
|
||||||
#if configUSE_PREEMPTION == 0
|
#if configUSE_PREEMPTION == 0
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@
|
||||||
/* Constants required for hardware setup. The tick ISR runs off the ACLK,
|
/* Constants required for hardware setup. The tick ISR runs off the ACLK,
|
||||||
not the MCLK. */
|
not the MCLK. */
|
||||||
#define portACLK_FREQUENCY_HZ ( ( portTickType ) 32768 )
|
#define portACLK_FREQUENCY_HZ ( ( portTickType ) 32768 )
|
||||||
#define portINITIAL_CRITICAL_NESTING ( ( unsigned portSHORT ) 10 )
|
#define portINITIAL_CRITICAL_NESTING ( ( unsigned short ) 10 )
|
||||||
#define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x08 )
|
#define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x08 )
|
||||||
|
|
||||||
/* We require the address of the pxCurrentTCB variable, but don't want to know
|
/* We require the address of the pxCurrentTCB variable, but don't want to know
|
||||||
|
@ -86,7 +87,7 @@ with interrupts only being re-enabled if the count is zero.
|
||||||
usCriticalNesting will get set to zero when the scheduler starts, but must
|
usCriticalNesting will get set to zero when the scheduler starts, but must
|
||||||
not be initialised to zero as this will cause problems during the startup
|
not be initialised to zero as this will cause problems during the startup
|
||||||
sequence. */
|
sequence. */
|
||||||
volatile unsigned portSHORT usCriticalNesting = portINITIAL_CRITICAL_NESTING;
|
volatile unsigned short usCriticalNesting = portINITIAL_CRITICAL_NESTING;
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -84,7 +85,7 @@ volatile unsigned portBASE_TYPE uxCriticalNesting = portINITIAL_NESTING_VALUE;
|
||||||
|
|
||||||
/* To limit the amount of stack required by each task, this port uses a
|
/* To limit the amount of stack required by each task, this port uses a
|
||||||
separate stack for interrupts. */
|
separate stack for interrupts. */
|
||||||
unsigned portLONG *pulISRStack;
|
unsigned long *pulISRStack;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -104,8 +105,8 @@ static void prvSetupTimerInterrupt( void );
|
||||||
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
||||||
{
|
{
|
||||||
extern void *_SDA2_BASE_, *_SDA_BASE_;
|
extern void *_SDA2_BASE_, *_SDA_BASE_;
|
||||||
const unsigned portLONG ulR2 = ( unsigned portLONG ) &_SDA2_BASE_;
|
const unsigned long ulR2 = ( unsigned long ) &_SDA2_BASE_;
|
||||||
const unsigned portLONG ulR13 = ( unsigned portLONG ) &_SDA_BASE_;
|
const unsigned long ulR13 = ( unsigned long ) &_SDA_BASE_;
|
||||||
|
|
||||||
/* Place a few bytes of known values on the bottom of the stack.
|
/* Place a few bytes of known values on the bottom of the stack.
|
||||||
This is essential for the Microblaze port and these lines must
|
This is essential for the Microblaze port and these lines must
|
||||||
|
@ -214,7 +215,7 @@ extern void ( vStartFirstTask )( void );
|
||||||
prvSetupTimerInterrupt();
|
prvSetupTimerInterrupt();
|
||||||
|
|
||||||
/* Allocate the stack to be used by the interrupt handler. */
|
/* Allocate the stack to be used by the interrupt handler. */
|
||||||
pulISRStack = ( unsigned portLONG * ) pvPortMalloc( configMINIMAL_STACK_SIZE * sizeof( portSTACK_TYPE ) );
|
pulISRStack = ( unsigned long * ) pvPortMalloc( configMINIMAL_STACK_SIZE * sizeof( portSTACK_TYPE ) );
|
||||||
|
|
||||||
/* Restore the context of the first task that is going to run. */
|
/* Restore the context of the first task that is going to run. */
|
||||||
if( pulISRStack != NULL )
|
if( pulISRStack != NULL )
|
||||||
|
@ -263,7 +264,7 @@ extern void VPortYieldASM( void );
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
XTmrCtr xTimer;
|
XTmrCtr xTimer;
|
||||||
const unsigned portLONG ulCounterValue = configCPU_CLOCK_HZ / configTICK_RATE_HZ;
|
const unsigned long ulCounterValue = configCPU_CLOCK_HZ / configTICK_RATE_HZ;
|
||||||
unsigned portBASE_TYPE uxMask;
|
unsigned portBASE_TYPE uxMask;
|
||||||
|
|
||||||
/* The OPB timer1 is used to generate the tick. Use the provided library
|
/* The OPB timer1 is used to generate the tick. Use the provided library
|
||||||
|
@ -293,7 +294,7 @@ unsigned portBASE_TYPE uxMask;
|
||||||
*/
|
*/
|
||||||
void vTaskISRHandler( void )
|
void vTaskISRHandler( void )
|
||||||
{
|
{
|
||||||
static unsigned portLONG ulPending;
|
static unsigned long ulPending;
|
||||||
|
|
||||||
/* Which interrupts are pending? */
|
/* Which interrupts are pending? */
|
||||||
ulPending = XIntc_In32( ( XPAR_INTC_SINGLE_BASEADDR + XIN_IVR_OFFSET ) );
|
ulPending = XIntc_In32( ( XPAR_INTC_SINGLE_BASEADDR + XIN_IVR_OFFSET ) );
|
||||||
|
@ -302,12 +303,12 @@ static unsigned portLONG ulPending;
|
||||||
{
|
{
|
||||||
static XIntc_VectorTableEntry *pxTablePtr;
|
static XIntc_VectorTableEntry *pxTablePtr;
|
||||||
static XIntc_Config *pxConfig;
|
static XIntc_Config *pxConfig;
|
||||||
static unsigned portLONG ulInterruptMask;
|
static unsigned long ulInterruptMask;
|
||||||
|
|
||||||
ulInterruptMask = ( unsigned portLONG ) 1 << ulPending;
|
ulInterruptMask = ( unsigned long ) 1 << ulPending;
|
||||||
|
|
||||||
/* Get the configuration data using the device ID */
|
/* Get the configuration data using the device ID */
|
||||||
pxConfig = &XIntc_ConfigTable[ ( unsigned portLONG ) XPAR_INTC_SINGLE_DEVICE_ID ];
|
pxConfig = &XIntc_ConfigTable[ ( unsigned long ) XPAR_INTC_SINGLE_DEVICE_ID ];
|
||||||
|
|
||||||
pxTablePtr = &( pxConfig->HandlerTable[ ulPending ] );
|
pxTablePtr = &( pxConfig->HandlerTable[ ulPending ] );
|
||||||
if( pxConfig->AckBeforeService & ( ulInterruptMask ) )
|
if( pxConfig->AckBeforeService & ( ulInterruptMask ) )
|
||||||
|
@ -329,7 +330,7 @@ static unsigned portLONG ulPending;
|
||||||
*/
|
*/
|
||||||
void vTickISR( void *pvBaseAddress )
|
void vTickISR( void *pvBaseAddress )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulCSR;
|
unsigned long ulCSR;
|
||||||
|
|
||||||
/* Increment the RTOS tick - this might cause a task to unblock. */
|
/* Increment the RTOS tick - this might cause a task to unblock. */
|
||||||
vTaskIncrementTick();
|
vTaskIncrementTick();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -79,7 +80,7 @@ void vPortSysTickHandler( void * context, alt_u32 id );
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
void prvReadGp( unsigned portLONG *ulValue )
|
void prvReadGp( unsigned long *ulValue )
|
||||||
{
|
{
|
||||||
asm( "stw gp, (r4) " );
|
asm( "stw gp, (r4) " );
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -186,7 +187,7 @@ void vPortEndScheduler( void )
|
||||||
*/
|
*/
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
const unsigned portLONG ulInterval = ( ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL );
|
const unsigned long ulInterval = ( ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL );
|
||||||
|
|
||||||
XTime_PITClearInterrupt();
|
XTime_PITClearInterrupt();
|
||||||
XTime_FITClearInterrupt();
|
XTime_FITClearInterrupt();
|
||||||
|
@ -204,7 +205,7 @@ const unsigned portLONG ulInterval = ( ( configCPU_CLOCK_HZ / configTICK_RATE_HZ
|
||||||
|
|
||||||
void vPortISRHandler( void *pvNullDoNotUse )
|
void vPortISRHandler( void *pvNullDoNotUse )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulInterruptStatus, ulInterruptMask = 1UL;
|
unsigned long ulInterruptStatus, ulInterruptMask = 1UL;
|
||||||
portBASE_TYPE xInterruptNumber;
|
portBASE_TYPE xInterruptNumber;
|
||||||
XIntc_Config *pxInterruptController;
|
XIntc_Config *pxInterruptController;
|
||||||
XIntc_VectorTableEntry *pxTable;
|
XIntc_VectorTableEntry *pxTable;
|
||||||
|
@ -263,7 +264,7 @@ extern void vPortISRWrapper( void );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
portBASE_TYPE xPortInstallInterruptHandler( unsigned portCHAR ucInterruptID, XInterruptHandler pxHandler, void *pvCallBackRef )
|
portBASE_TYPE xPortInstallInterruptHandler( unsigned char ucInterruptID, XInterruptHandler pxHandler, void *pvCallBackRef )
|
||||||
{
|
{
|
||||||
portBASE_TYPE xReturn = pdFAIL;
|
portBASE_TYPE xReturn = pdFAIL;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -186,7 +187,7 @@ void vPortEndScheduler( void )
|
||||||
*/
|
*/
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
const unsigned portLONG ulInterval = ( ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL );
|
const unsigned long ulInterval = ( ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL );
|
||||||
|
|
||||||
XTime_DECClearInterrupt();
|
XTime_DECClearInterrupt();
|
||||||
XTime_FITClearInterrupt();
|
XTime_FITClearInterrupt();
|
||||||
|
@ -204,7 +205,7 @@ const unsigned portLONG ulInterval = ( ( configCPU_CLOCK_HZ / configTICK_RATE_HZ
|
||||||
|
|
||||||
void vPortISRHandler( void *pvNullDoNotUse )
|
void vPortISRHandler( void *pvNullDoNotUse )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulInterruptStatus, ulInterruptMask = 1UL;
|
unsigned long ulInterruptStatus, ulInterruptMask = 1UL;
|
||||||
portBASE_TYPE xInterruptNumber;
|
portBASE_TYPE xInterruptNumber;
|
||||||
XIntc_Config *pxInterruptController;
|
XIntc_Config *pxInterruptController;
|
||||||
XIntc_VectorTableEntry *pxTable;
|
XIntc_VectorTableEntry *pxTable;
|
||||||
|
@ -263,7 +264,7 @@ extern void vPortISRWrapper( void );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
portBASE_TYPE xPortInstallInterruptHandler( unsigned portCHAR ucInterruptID, XInterruptHandler pxHandler, void *pvCallBackRef )
|
portBASE_TYPE xPortInstallInterruptHandler( unsigned char ucInterruptID, XInterruptHandler pxHandler, void *pvCallBackRef )
|
||||||
{
|
{
|
||||||
portBASE_TYPE xReturn = pdFAIL;
|
portBASE_TYPE xReturn = pdFAIL;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -64,7 +65,7 @@
|
||||||
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
/* Prescale used on the timer clock when calculating the tick period. */
|
/* Prescale used on the timer clock when calculating the tick period. */
|
||||||
#define portPRESCALE 20
|
#define portPRESCALE 20
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -60,9 +61,9 @@
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
volatile unsigned portLONG ulCriticalNesting = 9999UL;
|
volatile unsigned long ulCriticalNesting = 9999UL;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; 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.
|
||||||
;
|
;
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
;
|
;
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; * *
|
; * *
|
||||||
; * 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -54,7 +55,7 @@
|
||||||
|
|
||||||
/* The critical nesting value is initialised to a non zero value to ensure
|
/* The critical nesting value is initialised to a non zero value to ensure
|
||||||
interrupts don't accidentally become enabled before the scheduler is started. */
|
interrupts don't accidentally become enabled before the scheduler is started. */
|
||||||
#define portINITIAL_CRITICAL_NESTING (( unsigned portSHORT ) 10)
|
#define portINITIAL_CRITICAL_NESTING (( unsigned short ) 10)
|
||||||
|
|
||||||
/* Initial PSW value allocated to a newly created task.
|
/* Initial PSW value allocated to a newly created task.
|
||||||
* 1100011000000000
|
* 1100011000000000
|
||||||
|
@ -86,7 +87,7 @@ with interrupts only being re-enabled if the count is zero.
|
||||||
usCriticalNesting will get set to zero when the scheduler starts, but must
|
usCriticalNesting will get set to zero when the scheduler starts, but must
|
||||||
not be initialised to zero as this will cause problems during the startup
|
not be initialised to zero as this will cause problems during the startup
|
||||||
sequence. */
|
sequence. */
|
||||||
volatile unsigned portSHORT usCriticalNesting = portINITIAL_CRITICAL_NESTING;
|
volatile unsigned short usCriticalNesting = portINITIAL_CRITICAL_NESTING;
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; 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.
|
||||||
;
|
;
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
;
|
;
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; * *
|
; * *
|
||||||
; * 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -61,16 +62,16 @@
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
|
||||||
/* Constants required to manipulate the NVIC. */
|
/* Constants required to manipulate the NVIC. */
|
||||||
#define portNVIC_SYSTICK_CTRL ( ( volatile unsigned portLONG *) 0xe000e010 )
|
#define portNVIC_SYSTICK_CTRL ( ( volatile unsigned long *) 0xe000e010 )
|
||||||
#define portNVIC_SYSTICK_LOAD ( ( volatile unsigned portLONG *) 0xe000e014 )
|
#define portNVIC_SYSTICK_LOAD ( ( volatile unsigned long *) 0xe000e014 )
|
||||||
#define portNVIC_INT_CTRL ( ( volatile unsigned portLONG *) 0xe000ed04 )
|
#define portNVIC_INT_CTRL ( ( volatile unsigned long *) 0xe000ed04 )
|
||||||
#define portNVIC_SYSPRI2 ( ( volatile unsigned portLONG *) 0xe000ed20 )
|
#define portNVIC_SYSPRI2 ( ( volatile unsigned long *) 0xe000ed20 )
|
||||||
#define portNVIC_SYSTICK_CLK 0x00000004
|
#define portNVIC_SYSTICK_CLK 0x00000004
|
||||||
#define portNVIC_SYSTICK_INT 0x00000002
|
#define portNVIC_SYSTICK_INT 0x00000002
|
||||||
#define portNVIC_SYSTICK_ENABLE 0x00000001
|
#define portNVIC_SYSTICK_ENABLE 0x00000001
|
||||||
#define portNVIC_PENDSVSET 0x10000000
|
#define portNVIC_PENDSVSET 0x10000000
|
||||||
#define portNVIC_PENDSV_PRI ( ( ( unsigned portLONG ) configKERNEL_INTERRUPT_PRIORITY ) << 16 )
|
#define portNVIC_PENDSV_PRI ( ( ( unsigned long ) configKERNEL_INTERRUPT_PRIORITY ) << 16 )
|
||||||
#define portNVIC_SYSTICK_PRI ( ( ( unsigned portLONG ) configKERNEL_INTERRUPT_PRIORITY ) << 24 )
|
#define portNVIC_SYSTICK_PRI ( ( ( unsigned long ) configKERNEL_INTERRUPT_PRIORITY ) << 24 )
|
||||||
|
|
||||||
/* Constants required to set up the initial stack. */
|
/* Constants required to set up the initial stack. */
|
||||||
#define portINITIAL_XPSR ( 0x01000000 )
|
#define portINITIAL_XPSR ( 0x01000000 )
|
||||||
|
@ -180,7 +181,7 @@ void vPortExitCritical( void )
|
||||||
|
|
||||||
void xPortSysTickHandler( void )
|
void xPortSysTickHandler( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulDummy;
|
unsigned long ulDummy;
|
||||||
|
|
||||||
/* If using preemption, also force a context switch. */
|
/* If using preemption, also force a context switch. */
|
||||||
#if configUSE_PREEMPTION == 1
|
#if configUSE_PREEMPTION == 1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -58,10 +59,10 @@
|
||||||
#define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x80 )
|
#define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x80 )
|
||||||
|
|
||||||
/* Hardware constants for timer 1. */
|
/* Hardware constants for timer 1. */
|
||||||
#define portCLEAR_COUNTER_ON_MATCH ( ( unsigned portCHAR ) 0x08 )
|
#define portCLEAR_COUNTER_ON_MATCH ( ( unsigned char ) 0x08 )
|
||||||
#define portPRESCALE_64 ( ( unsigned portCHAR ) 0x03 )
|
#define portPRESCALE_64 ( ( unsigned char ) 0x03 )
|
||||||
#define portCLOCK_PRESCALER ( ( unsigned portLONG ) 64 )
|
#define portCLOCK_PRESCALER ( ( unsigned long ) 64 )
|
||||||
#define portCOMPARE_MATCH_A_INTERRUPT_ENABLE ( ( unsigned portCHAR ) 0x10 )
|
#define portCOMPARE_MATCH_A_INTERRUPT_ENABLE ( ( unsigned char ) 0x10 )
|
||||||
|
|
||||||
/* The number of bytes used on the hardware stack by the task start address. */
|
/* The number of bytes used on the hardware stack by the task start address. */
|
||||||
#define portBYTES_USED_BY_RETURN_ADDRESS ( 2 )
|
#define portBYTES_USED_BY_RETURN_ADDRESS ( 2 )
|
||||||
|
@ -92,7 +93,7 @@ extern void vPortStart( void );
|
||||||
*/
|
*/
|
||||||
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
|
||||||
{
|
{
|
||||||
unsigned portSHORT usAddress;
|
unsigned short usAddress;
|
||||||
portSTACK_TYPE *pxTopOfHardwareStack;
|
portSTACK_TYPE *pxTopOfHardwareStack;
|
||||||
|
|
||||||
/* Place a few bytes of known values on the bottom of the stack.
|
/* Place a few bytes of known values on the bottom of the stack.
|
||||||
|
@ -131,12 +132,12 @@ portSTACK_TYPE *pxTopOfHardwareStack;
|
||||||
|
|
||||||
The first part of the stack is the hardware stack. Place the start
|
The first part of the stack is the hardware stack. Place the start
|
||||||
address of the task on the hardware stack. */
|
address of the task on the hardware stack. */
|
||||||
usAddress = ( unsigned portSHORT ) pxCode;
|
usAddress = ( unsigned short ) pxCode;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
usAddress >>= 8;
|
usAddress >>= 8;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
|
|
||||||
|
@ -159,15 +160,15 @@ portSTACK_TYPE *pxTopOfHardwareStack;
|
||||||
/* Next place the address of the hardware stack. This is required so
|
/* Next place the address of the hardware stack. This is required so
|
||||||
the AVR stack pointer can be restored to point to the hardware stack. */
|
the AVR stack pointer can be restored to point to the hardware stack. */
|
||||||
pxTopOfHardwareStack -= portBYTES_USED_BY_RETURN_ADDRESS;
|
pxTopOfHardwareStack -= portBYTES_USED_BY_RETURN_ADDRESS;
|
||||||
usAddress = ( unsigned portSHORT ) pxTopOfHardwareStack;
|
usAddress = ( unsigned short ) pxTopOfHardwareStack;
|
||||||
|
|
||||||
/* SPL */
|
/* SPL */
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
/* SPH */
|
/* SPH */
|
||||||
usAddress >>= 8;
|
usAddress >>= 8;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
|
|
||||||
|
@ -206,12 +207,12 @@ portSTACK_TYPE *pxTopOfHardwareStack;
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
/* Place the parameter on the stack in the expected location. */
|
/* Place the parameter on the stack in the expected location. */
|
||||||
usAddress = ( unsigned portSHORT ) pvParameters;
|
usAddress = ( unsigned short ) pvParameters;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
usAddress >>= 8;
|
usAddress >>= 8;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned portSHORT ) 0x00ff );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) 0x18; /* R18 */
|
*pxTopOfStack = ( portSTACK_TYPE ) 0x18; /* R18 */
|
||||||
|
@ -279,8 +280,8 @@ void vPortEndScheduler( void )
|
||||||
*/
|
*/
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulCompareMatch;
|
unsigned long ulCompareMatch;
|
||||||
unsigned portCHAR ucHighByte, ucLowByte;
|
unsigned char ucHighByte, ucLowByte;
|
||||||
|
|
||||||
/* Using 16bit timer 1 to generate the tick. Correct fuses must be
|
/* Using 16bit timer 1 to generate the tick. Correct fuses must be
|
||||||
selected for the configCPU_CLOCK_HZ clock. */
|
selected for the configCPU_CLOCK_HZ clock. */
|
||||||
|
@ -291,13 +292,13 @@ unsigned portCHAR ucHighByte, ucLowByte;
|
||||||
ulCompareMatch /= portCLOCK_PRESCALER;
|
ulCompareMatch /= portCLOCK_PRESCALER;
|
||||||
|
|
||||||
/* Adjust for correct value. */
|
/* Adjust for correct value. */
|
||||||
ulCompareMatch -= ( unsigned portLONG ) 1;
|
ulCompareMatch -= ( unsigned long ) 1;
|
||||||
|
|
||||||
/* Setup compare match value for compare match A. Interrupts are disabled
|
/* Setup compare match value for compare match A. Interrupts are disabled
|
||||||
before this is called so we need not worry here. */
|
before this is called so we need not worry here. */
|
||||||
ucLowByte = ( unsigned portCHAR ) ( ulCompareMatch & ( unsigned portLONG ) 0xff );
|
ucLowByte = ( unsigned char ) ( ulCompareMatch & ( unsigned long ) 0xff );
|
||||||
ulCompareMatch >>= 8;
|
ulCompareMatch >>= 8;
|
||||||
ucHighByte = ( unsigned portCHAR ) ( ulCompareMatch & ( unsigned portLONG ) 0xff );
|
ucHighByte = ( unsigned char ) ( ulCompareMatch & ( unsigned long ) 0xff );
|
||||||
OCR1AH = ucHighByte;
|
OCR1AH = ucHighByte;
|
||||||
OCR1AL = ucLowByte;
|
OCR1AL = ucLowByte;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; 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.
|
||||||
;
|
;
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
;
|
;
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; * *
|
; * *
|
||||||
; * 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 *
|
||||||
; * *
|
; * *
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
;
|
;
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -39,8 +39,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -83,8 +84,8 @@
|
||||||
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 0 )
|
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 0 )
|
||||||
|
|
||||||
/* Each task maintains its own critical nesting variable. */
|
/* Each task maintains its own critical nesting variable. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
volatile unsigned portLONG ulCriticalNesting = 9999UL;
|
volatile unsigned long ulCriticalNesting = 9999UL;
|
||||||
|
|
||||||
#if( configTICK_USE_TC==0 )
|
#if( configTICK_USE_TC==0 )
|
||||||
static void prvScheduleNextTick( void );
|
static void prvScheduleNextTick( void );
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -39,8 +39,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -63,16 +64,16 @@
|
||||||
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
||||||
|
|
||||||
/* Constants required to setup the PIT. */
|
/* Constants required to setup the PIT. */
|
||||||
#define portPIT_CLOCK_DIVISOR ( ( unsigned portLONG ) 16 )
|
#define portPIT_CLOCK_DIVISOR ( ( unsigned long ) 16 )
|
||||||
#define portPIT_COUNTER_VALUE ( ( ( configCPU_CLOCK_HZ / portPIT_CLOCK_DIVISOR ) / 1000UL ) * portTICK_RATE_MS )
|
#define portPIT_COUNTER_VALUE ( ( ( configCPU_CLOCK_HZ / portPIT_CLOCK_DIVISOR ) / 1000UL ) * portTICK_RATE_MS )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
|
|
||||||
#define portINT_LEVEL_SENSITIVE 0
|
#define portINT_LEVEL_SENSITIVE 0
|
||||||
#define portPIT_ENABLE ( ( unsigned portSHORT ) 0x1 << 24 )
|
#define portPIT_ENABLE ( ( unsigned short ) 0x1 << 24 )
|
||||||
#define portPIT_INT_ENABLE ( ( unsigned portSHORT ) 0x1 << 25 )
|
#define portPIT_INT_ENABLE ( ( unsigned short ) 0x1 << 25 )
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Setup the PIT to generate the tick interrupts. */
|
/* Setup the PIT to generate the tick interrupts. */
|
||||||
|
@ -81,7 +82,7 @@ static void prvSetupTimerInterrupt( void );
|
||||||
/* ulCriticalNesting will get set to zero when the first task starts. It
|
/* ulCriticalNesting will get set to zero when the first task starts. It
|
||||||
cannot be initialised to 0 as this will cause interrupts to be enabled
|
cannot be initialised to 0 as this will cause interrupts to be enabled
|
||||||
during the kernel initialisation process. */
|
during the kernel initialisation process. */
|
||||||
unsigned portLONG ulCriticalNesting = ( unsigned portLONG ) 9999;
|
unsigned long ulCriticalNesting = ( unsigned long ) 9999;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -190,7 +191,7 @@ void vPortEndScheduler( void )
|
||||||
static __arm __irq void vPortNonPreemptiveTick( void );
|
static __arm __irq void vPortNonPreemptiveTick( void );
|
||||||
static __arm __irq void vPortNonPreemptiveTick( void )
|
static __arm __irq void vPortNonPreemptiveTick( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulDummy;
|
unsigned long ulDummy;
|
||||||
|
|
||||||
/* Increment the tick count - which may wake some tasks but as the
|
/* Increment the tick count - which may wake some tasks but as the
|
||||||
preemptive scheduler is not being used any woken task is not given
|
preemptive scheduler is not being used any woken task is not given
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -79,12 +80,12 @@
|
||||||
#define port1SECOND_IN_uS ( 1000000.0 )
|
#define port1SECOND_IN_uS ( 1000000.0 )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
|
|
||||||
#define portINT_LEVEL_SENSITIVE 0
|
#define portINT_LEVEL_SENSITIVE 0
|
||||||
#define portPIT_ENABLE ( ( unsigned portSHORT ) 0x1 << 24 )
|
#define portPIT_ENABLE ( ( unsigned short ) 0x1 << 24 )
|
||||||
#define portPIT_INT_ENABLE ( ( unsigned portSHORT ) 0x1 << 25 )
|
#define portPIT_INT_ENABLE ( ( unsigned short ) 0x1 << 25 )
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Setup the PIT to generate the tick interrupts. */
|
/* Setup the PIT to generate the tick interrupts. */
|
||||||
|
@ -96,7 +97,7 @@ static void vPortTickISR( void );
|
||||||
/* ulCriticalNesting will get set to zero when the first task starts. It
|
/* ulCriticalNesting will get set to zero when the first task starts. It
|
||||||
cannot be initialised to 0 as this will cause interrupts to be enabled
|
cannot be initialised to 0 as this will cause interrupts to be enabled
|
||||||
during the kernel initialisation process. */
|
during the kernel initialisation process. */
|
||||||
unsigned portLONG ulCriticalNesting = ( unsigned portLONG ) 9999;
|
unsigned long ulCriticalNesting = ( unsigned long ) 9999;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -201,7 +202,7 @@ void vPortEndScheduler( void )
|
||||||
|
|
||||||
static __arm void vPortTickISR( void )
|
static __arm void vPortTickISR( void )
|
||||||
{
|
{
|
||||||
volatile unsigned portLONG ulDummy;
|
volatile unsigned long ulDummy;
|
||||||
|
|
||||||
/* Increment the tick count - which may wake some tasks but as the
|
/* Increment the tick count - which may wake some tasks but as the
|
||||||
preemptive scheduler is not being used any woken task is not given
|
preemptive scheduler is not being used any woken task is not given
|
||||||
|
@ -224,7 +225,7 @@ volatile unsigned portLONG ulDummy;
|
||||||
|
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
const unsigned portLONG ulPeriodIn_uS = ( 1.0 / ( double ) configTICK_RATE_HZ ) * port1SECOND_IN_uS;
|
const unsigned long ulPeriodIn_uS = ( 1.0 / ( double ) configTICK_RATE_HZ ) * port1SECOND_IN_uS;
|
||||||
|
|
||||||
/* Setup the PIT for the required frequency. */
|
/* Setup the PIT for the required frequency. */
|
||||||
PIT_Init( ulPeriodIn_uS, BOARD_MCK / port1MHz_IN_Hz );
|
PIT_Init( ulPeriodIn_uS, BOARD_MCK / port1MHz_IN_Hz );
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -66,10 +67,10 @@
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
|
||||||
/* Constants required to setup the tick ISR. */
|
/* Constants required to setup the tick ISR. */
|
||||||
#define portENABLE_TIMER ( ( unsigned portCHAR ) 0x01 )
|
#define portENABLE_TIMER ( ( unsigned char ) 0x01 )
|
||||||
#define portPRESCALE_VALUE 0x00
|
#define portPRESCALE_VALUE 0x00
|
||||||
#define portINTERRUPT_ON_MATCH ( ( unsigned portLONG ) 0x01 )
|
#define portINTERRUPT_ON_MATCH ( ( unsigned long ) 0x01 )
|
||||||
#define portRESET_COUNT_ON_MATCH ( ( unsigned portLONG ) 0x02 )
|
#define portRESET_COUNT_ON_MATCH ( ( unsigned long ) 0x02 )
|
||||||
|
|
||||||
/* Constants required to setup the initial stack. */
|
/* Constants required to setup the initial stack. */
|
||||||
#define portINITIAL_SPSR ( ( portSTACK_TYPE ) 0x1f ) /* System mode, ARM mode, interrupts enabled. */
|
#define portINITIAL_SPSR ( ( portSTACK_TYPE ) 0x1f ) /* System mode, ARM mode, interrupts enabled. */
|
||||||
|
@ -77,25 +78,25 @@
|
||||||
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
||||||
|
|
||||||
/* Constants required to setup the PIT. */
|
/* Constants required to setup the PIT. */
|
||||||
#define portPIT_CLOCK_DIVISOR ( ( unsigned portLONG ) 16 )
|
#define portPIT_CLOCK_DIVISOR ( ( unsigned long ) 16 )
|
||||||
#define portPIT_COUNTER_VALUE ( ( ( configCPU_CLOCK_HZ / portPIT_CLOCK_DIVISOR ) / 1000UL ) * portTICK_RATE_MS )
|
#define portPIT_COUNTER_VALUE ( ( ( configCPU_CLOCK_HZ / portPIT_CLOCK_DIVISOR ) / 1000UL ) * portTICK_RATE_MS )
|
||||||
|
|
||||||
/* Constants required to handle interrupts. */
|
/* Constants required to handle interrupts. */
|
||||||
#define portTIMER_MATCH_ISR_BIT ( ( unsigned portCHAR ) 0x01 )
|
#define portTIMER_MATCH_ISR_BIT ( ( unsigned char ) 0x01 )
|
||||||
#define portCLEAR_VIC_INTERRUPT ( ( unsigned portLONG ) 0 )
|
#define portCLEAR_VIC_INTERRUPT ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
|
|
||||||
#define portINT_LEVEL_SENSITIVE 0
|
#define portINT_LEVEL_SENSITIVE 0
|
||||||
#define portPIT_ENABLE ( ( unsigned portSHORT ) 0x1 << 24 )
|
#define portPIT_ENABLE ( ( unsigned short ) 0x1 << 24 )
|
||||||
#define portPIT_INT_ENABLE ( ( unsigned portSHORT ) 0x1 << 25 )
|
#define portPIT_INT_ENABLE ( ( unsigned short ) 0x1 << 25 )
|
||||||
|
|
||||||
/* Constants required to setup the VIC for the tick ISR. */
|
/* Constants required to setup the VIC for the tick ISR. */
|
||||||
#define portTIMER_VIC_CHANNEL ( ( unsigned portLONG ) 0x0004 )
|
#define portTIMER_VIC_CHANNEL ( ( unsigned long ) 0x0004 )
|
||||||
#define portTIMER_VIC_CHANNEL_BIT ( ( unsigned portLONG ) 0x0010 )
|
#define portTIMER_VIC_CHANNEL_BIT ( ( unsigned long ) 0x0010 )
|
||||||
#define portTIMER_VIC_ENABLE ( ( unsigned portLONG ) 0x0020 )
|
#define portTIMER_VIC_ENABLE ( ( unsigned long ) 0x0020 )
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -105,7 +106,7 @@ static void prvSetupTimerInterrupt( void );
|
||||||
/* ulCriticalNesting will get set to zero when the first task starts. It
|
/* ulCriticalNesting will get set to zero when the first task starts. It
|
||||||
cannot be initialised to 0 as this will cause interrupts to be enabled
|
cannot be initialised to 0 as this will cause interrupts to be enabled
|
||||||
during the kernel initialisation process. */
|
during the kernel initialisation process. */
|
||||||
unsigned portLONG ulCriticalNesting = ( unsigned portLONG ) 9999;
|
unsigned long ulCriticalNesting = ( unsigned long ) 9999;
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -250,7 +251,7 @@ void vPortEndScheduler( void )
|
||||||
|
|
||||||
static void prvSetupTimerInterrupt( void )
|
static void prvSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
unsigned portLONG ulCompareMatch;
|
unsigned long ulCompareMatch;
|
||||||
|
|
||||||
/* A 1ms tick does not require the use of the timer prescale. This is
|
/* A 1ms tick does not require the use of the timer prescale. This is
|
||||||
defaulted to zero but can be used if necessary. */
|
defaulted to zero but can be used if necessary. */
|
||||||
|
@ -282,13 +283,13 @@ unsigned portLONG ulCompareMatch;
|
||||||
{
|
{
|
||||||
extern void ( vPortPreemptiveTickEntry )( void );
|
extern void ( vPortPreemptiveTickEntry )( void );
|
||||||
|
|
||||||
VICVectAddr0 = ( unsigned portLONG ) vPortPreemptiveTickEntry;
|
VICVectAddr0 = ( unsigned long ) vPortPreemptiveTickEntry;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
extern void ( vNonPreemptiveTick )( void );
|
extern void ( vNonPreemptiveTick )( void );
|
||||||
|
|
||||||
VICVectAddr0 = ( portLONG ) vPortNonPreemptiveTick;
|
VICVectAddr0 = ( long ) vPortNonPreemptiveTick;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -56,7 +57,7 @@
|
||||||
/* Constants required for hardware setup. The tick ISR runs off the ACLK,
|
/* Constants required for hardware setup. The tick ISR runs off the ACLK,
|
||||||
not the MCLK. */
|
not the MCLK. */
|
||||||
#define portACLK_FREQUENCY_HZ ( ( portTickType ) 32768 )
|
#define portACLK_FREQUENCY_HZ ( ( portTickType ) 32768 )
|
||||||
#define portINITIAL_CRITICAL_NESTING ( ( unsigned portSHORT ) 10 )
|
#define portINITIAL_CRITICAL_NESTING ( ( unsigned short ) 10 )
|
||||||
#define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x08 )
|
#define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x08 )
|
||||||
|
|
||||||
/* We require the address of the pxCurrentTCB variable, but don't want to know
|
/* We require the address of the pxCurrentTCB variable, but don't want to know
|
||||||
|
@ -72,7 +73,7 @@ being re-enabled if the count is zero.
|
||||||
usCriticalNesting will get set to zero when the scheduler starts, but must
|
usCriticalNesting will get set to zero when the scheduler starts, but must
|
||||||
not be initialised to zero as this will cause problems during the startup
|
not be initialised to zero as this will cause problems during the startup
|
||||||
sequence. */
|
sequence. */
|
||||||
volatile unsigned portSHORT usCriticalNesting = portINITIAL_CRITICAL_NESTING;
|
volatile unsigned short usCriticalNesting = portINITIAL_CRITICAL_NESTING;
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -67,7 +68,7 @@
|
||||||
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
#define portMICROS_PER_SECOND 1000000
|
#define portMICROS_PER_SECOND 1000000
|
||||||
|
|
||||||
|
@ -79,7 +80,7 @@ static void prvSetupTimerInterrupt( void );
|
||||||
/* ulCriticalNesting will get set to zero when the first task starts. It
|
/* ulCriticalNesting will get set to zero when the first task starts. It
|
||||||
cannot be initialised to 0 as this will cause interrupts to be enabled
|
cannot be initialised to 0 as this will cause interrupts to be enabled
|
||||||
during the kernel initialisation process. */
|
during the kernel initialisation process. */
|
||||||
unsigned portLONG ulCriticalNesting = ( unsigned portLONG ) 9999;
|
unsigned long ulCriticalNesting = ( unsigned long ) 9999;
|
||||||
|
|
||||||
/* Tick interrupt routines for cooperative and preemptive operation
|
/* Tick interrupt routines for cooperative and preemptive operation
|
||||||
respectively. The preemptive version is not defined as __irq as it is called
|
respectively. The preemptive version is not defined as __irq as it is called
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; 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.
|
||||||
;
|
;
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
;
|
;
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; * *
|
; * *
|
||||||
; * 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
@ -63,7 +64,7 @@
|
||||||
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 4 )
|
||||||
|
|
||||||
/* Constants required to handle critical sections. */
|
/* Constants required to handle critical sections. */
|
||||||
#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 )
|
#define portNO_CRITICAL_NESTING ( ( unsigned long ) 0 )
|
||||||
|
|
||||||
/* Prescale used on the timer clock when calculating the tick period. */
|
/* Prescale used on the timer clock when calculating the tick period. */
|
||||||
#define portPRESCALE 20
|
#define portPRESCALE 20
|
||||||
|
@ -77,7 +78,7 @@ static void prvSetupTimerInterrupt( void );
|
||||||
/* ulCriticalNesting will get set to zero when the first task starts. It
|
/* ulCriticalNesting will get set to zero when the first task starts. It
|
||||||
cannot be initialised to 0 as this will cause interrupts to be enabled
|
cannot be initialised to 0 as this will cause interrupts to be enabled
|
||||||
during the kernel initialisation process. */
|
during the kernel initialisation process. */
|
||||||
unsigned portLONG ulCriticalNesting = ( unsigned portLONG ) 9999;
|
unsigned long ulCriticalNesting = ( unsigned long ) 9999;
|
||||||
|
|
||||||
/* Tick interrupt routines for preemptive operation. */
|
/* Tick interrupt routines for preemptive operation. */
|
||||||
__arm void vPortPreemptiveTick( void );
|
__arm void vPortPreemptiveTick( void );
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; 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.
|
||||||
;
|
;
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
;
|
;
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; * *
|
; * *
|
||||||
; * 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,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
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.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
* *
|
* *
|
||||||
* 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 *
|
||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue