From b4e65a09bd461d9ee361a1f6e0a326b55d7faae8 Mon Sep 17 00:00:00 2001 From: richardbarry Date: Tue, 5 Jun 2007 09:56:16 +0000 Subject: [PATCH] Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@87 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- Source/croutine.c | 2 +- Source/include/FreeRTOS.h | 2 +- Source/include/croutine.h | 2 +- Source/include/list.h | 2 +- Source/include/portable.h | 14 +- Source/include/projdefs.h | 2 +- Source/include/queue.h | 2 +- Source/include/semphr.h | 2 +- Source/include/task.h | 4 +- Source/list.c | 2 +- Source/portable/BCC/16BitDOS/Flsh186/port.c | 2 +- .../portable/BCC/16BitDOS/Flsh186/prtmacro.h | 2 +- Source/portable/BCC/16BitDOS/PC/port.c | 2 +- Source/portable/BCC/16BitDOS/PC/prtmacro.h | 2 +- Source/portable/BCC/16BitDOS/common/portasm.h | 2 +- .../portable/BCC/16BitDOS/common/portcomn.c | 2 +- Source/portable/CodeWarrior/HCS12/port.c | 2 +- Source/portable/CodeWarrior/HCS12/portmacro.h | 2 +- Source/portable/GCC/ARM7_AT91FR40008/port.c | 2 +- .../portable/GCC/ARM7_AT91FR40008/portISR.c | 2 +- .../portable/GCC/ARM7_AT91FR40008/portmacro.h | 2 +- Source/portable/GCC/ARM7_AT91SAM7S/port.c | 2 +- Source/portable/GCC/ARM7_AT91SAM7S/portISR.c | 2 +- .../portable/GCC/ARM7_AT91SAM7S/portmacro.h | 2 +- Source/portable/GCC/ARM7_LPC2000/port.c | 2 +- Source/portable/GCC/ARM7_LPC2000/portISR.c | 2 +- Source/portable/GCC/ARM7_LPC2000/portmacro.h | 2 +- Source/portable/GCC/ARM7_LPC23xx/port.c | 2 +- Source/portable/GCC/ARM7_LPC23xx/portISR.c | 2 +- Source/portable/GCC/ARM7_LPC23xx/portmacro.h | 2 +- Source/portable/GCC/ARM_CM3/port.c | 2 +- Source/portable/GCC/ARM_CM3/portmacro.h | 2 +- Source/portable/GCC/ATMega323/port.c | 2 +- Source/portable/GCC/ATMega323/portmacro.h | 2 +- Source/portable/GCC/AVR32_UC3/port.c | 2 +- Source/portable/GCC/AVR32_UC3/portmacro.h | 2 +- Source/portable/GCC/H8S2329/port.c | 2 +- Source/portable/GCC/H8S2329/portmacro.h | 2 +- Source/portable/GCC/HCS12/port.c | 2 +- Source/portable/GCC/HCS12/portmacro.h | 2 +- Source/portable/GCC/MCF5235/port.c | 526 +++++++++--------- Source/portable/GCC/MCF5235/portmacro.h | 296 +++++----- Source/portable/GCC/MSP430F449/port.c | 2 +- Source/portable/GCC/MSP430F449/portmacro.h | 2 +- Source/portable/GCC/MicroBlaze/port.c | 30 +- Source/portable/GCC/MicroBlaze/portmacro.h | 2 +- Source/portable/GCC/STR75x/port.c | 2 +- Source/portable/GCC/STR75x/portISR.c | 2 +- Source/portable/GCC/STR75x/portmacro.h | 2 +- Source/portable/IAR/ARM_CM3/port.c | 54 +- Source/portable/IAR/ARM_CM3/portasm.s | 78 ++- Source/portable/IAR/ARM_CM3/portmacro.h | 24 +- Source/portable/IAR/ATMega323/port.c | 2 +- Source/portable/IAR/ATMega323/portmacro.h | 2 +- Source/portable/IAR/ATMega323/portmacro.s90 | 2 +- Source/portable/IAR/AVR32_UC3/port.c | 2 +- Source/portable/IAR/AVR32_UC3/portmacro.h | 2 +- Source/portable/IAR/AtmelSAM7S64/port.c | 2 +- Source/portable/IAR/AtmelSAM7S64/portmacro.h | 2 +- Source/portable/IAR/LPC2000/port.c | 2 +- Source/portable/IAR/LPC2000/portmacro.h | 2 +- Source/portable/IAR/STR71x/port.c | 2 +- Source/portable/IAR/STR71x/portmacro.h | 2 +- Source/portable/IAR/STR75x/ISR_Support.h | 2 +- Source/portable/IAR/STR75x/port.c | 2 +- Source/portable/IAR/STR75x/portasm.s79 | 2 +- Source/portable/IAR/STR75x/portmacro.h | 2 +- Source/portable/IAR/STR91x/ISR_Support.h | 2 +- Source/portable/IAR/STR91x/port.c | 2 +- Source/portable/IAR/STR91x/portasm.s79 | 2 +- Source/portable/IAR/STR91x/portmacro.h | 2 +- Source/portable/Keil/ARM7/port.c | 2 +- Source/portable/Keil/ARM7/portISR.c | 2 +- Source/portable/Keil/ARM7/portmacro.h | 2 +- Source/portable/MPLAB/PIC18F/port.c | 4 +- Source/portable/MPLAB/PIC18F/portmacro.h | 2 +- Source/portable/MPLAB/PIC24_dsPIC/port.c | 26 +- Source/portable/MPLAB/PIC24_dsPIC/portmacro.h | 8 +- Source/portable/MemMang/heap_1.c | 2 +- Source/portable/MemMang/heap_2.c | 2 +- Source/portable/MemMang/heap_3.c | 2 +- .../Paradigm/Tern_EE/large_untested/port.c | 2 +- .../Paradigm/Tern_EE/large_untested/portasm.h | 2 +- .../Tern_EE/large_untested/portmacro.h | 2 +- Source/portable/Paradigm/Tern_EE/small/port.c | 2 +- .../portable/Paradigm/Tern_EE/small/portasm.h | 2 +- .../Paradigm/Tern_EE/small/portmacro.h | 2 +- Source/portable/RVDS/ARM_CM3/port.c | 2 +- Source/portable/RVDS/ARM_CM3/portmacro.h | 2 +- .../portable/Rowley/MSP430F449/Port1/port.c | 2 +- .../Rowley/MSP430F449/Port1/portmacro.h | 2 +- .../portable/Rowley/MSP430F449/Port2/port.c | 2 +- .../Rowley/MSP430F449/Port2/portmacro.h | 2 +- Source/portable/Rowley/MSP430F449/port.c | 2 +- Source/portable/Rowley/MSP430F449/portmacro.h | 2 +- Source/portable/SDCC/Cygnal/port.c | 2 +- Source/portable/SDCC/Cygnal/portmacro.h | 2 +- .../portable/WizC/PIC18/Drivers/Tick/Tick.c | 2 +- .../WizC/PIC18/Drivers/Tick/isrTick.c | 2 +- Source/portable/WizC/PIC18/addFreeRTOS.h | 2 +- Source/portable/WizC/PIC18/port.c | 12 +- Source/portable/WizC/PIC18/portmacro.h | 8 +- .../portable/oWatcom/16BitDOS/Flsh186/port.c | 2 +- .../oWatcom/16BitDOS/Flsh186/portmacro.h | 2 +- Source/portable/oWatcom/16BitDOS/PC/port.c | 2 +- .../portable/oWatcom/16BitDOS/PC/portmacro.h | 2 +- .../oWatcom/16BitDOS/common/portasm.h | 2 +- .../oWatcom/16BitDOS/common/portcomn.c | 2 +- Source/queue.c | 2 +- Source/tasks.c | 2 +- 110 files changed, 676 insertions(+), 602 deletions(-) diff --git a/Source/croutine.c b/Source/croutine.c index 4b7a5e2f4..0d780cae4 100644 --- a/Source/croutine.c +++ b/Source/croutine.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/include/FreeRTOS.h b/Source/include/FreeRTOS.h index a52abddbc..9b8b101f1 100644 --- a/Source/include/FreeRTOS.h +++ b/Source/include/FreeRTOS.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/include/croutine.h b/Source/include/croutine.h index eece2298d..8818abf14 100644 --- a/Source/include/croutine.h +++ b/Source/include/croutine.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/include/list.h b/Source/include/list.h index 923388fba..b3dadb63f 100644 --- a/Source/include/list.h +++ b/Source/include/list.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/include/portable.h b/Source/include/portable.h index a1c20ddc7..7aafd4422 100644 --- a/Source/include/portable.h +++ b/Source/include/portable.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -184,19 +184,11 @@ typedef void ( __interrupt __far *pxISR )(); #endif -#if __GNUC__ && (__AVR32_UC3A0256__ || \ - __AVR32_UC3A0512__ || \ - __AVR32_UC3A1128__ || \ - __AVR32_UC3A1256__ || \ - __AVR32_UC3A1512__) +#ifdef GCC_AVR32_PORT #include "portmacro.h" #endif -#if __ICCAVR32__ && (__AT32UC3A0256__ || \ - __AT32UC3A0512__ || \ - __AT32UC3A1128__ || \ - __AT32UC3A1256__ || \ - __AT32UC3A1512__) +#ifdef IAR_AVR32_PORT #include "portmacro.h" #endif diff --git a/Source/include/projdefs.h b/Source/include/projdefs.h index 8e331abf2..fe1902311 100644 --- a/Source/include/projdefs.h +++ b/Source/include/projdefs.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/include/queue.h b/Source/include/queue.h index 65786c601..f798dd603 100644 --- a/Source/include/queue.h +++ b/Source/include/queue.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/include/semphr.h b/Source/include/semphr.h index 8ba34d0d1..457d6e066 100644 --- a/Source/include/semphr.h +++ b/Source/include/semphr.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/include/task.h b/Source/include/task.h index 802af61a7..c690ea1c6 100644 --- a/Source/include/task.h +++ b/Source/include/task.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -43,7 +43,7 @@ * MACROS AND DEFINITIONS *----------------------------------------------------------*/ -#define tskKERNEL_VERSION_NUMBER "V4.2.1" +#define tskKERNEL_VERSION_NUMBER "V4.3.0" /** * task. h diff --git a/Source/list.c b/Source/list.c index 1561612df..503c320da 100644 --- a/Source/list.c +++ b/Source/list.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/BCC/16BitDOS/Flsh186/port.c b/Source/portable/BCC/16BitDOS/Flsh186/port.c index 09d4a40e2..f4166762b 100644 --- a/Source/portable/BCC/16BitDOS/Flsh186/port.c +++ b/Source/portable/BCC/16BitDOS/Flsh186/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/BCC/16BitDOS/Flsh186/prtmacro.h b/Source/portable/BCC/16BitDOS/Flsh186/prtmacro.h index 2a9240a27..5dafaba7e 100644 --- a/Source/portable/BCC/16BitDOS/Flsh186/prtmacro.h +++ b/Source/portable/BCC/16BitDOS/Flsh186/prtmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/BCC/16BitDOS/PC/port.c b/Source/portable/BCC/16BitDOS/PC/port.c index 68bf70701..76207a83c 100644 --- a/Source/portable/BCC/16BitDOS/PC/port.c +++ b/Source/portable/BCC/16BitDOS/PC/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/BCC/16BitDOS/PC/prtmacro.h b/Source/portable/BCC/16BitDOS/PC/prtmacro.h index 368d0d455..ec27cb024 100644 --- a/Source/portable/BCC/16BitDOS/PC/prtmacro.h +++ b/Source/portable/BCC/16BitDOS/PC/prtmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/BCC/16BitDOS/common/portasm.h b/Source/portable/BCC/16BitDOS/common/portasm.h index 876e43d6b..01260bd15 100644 --- a/Source/portable/BCC/16BitDOS/common/portasm.h +++ b/Source/portable/BCC/16BitDOS/common/portasm.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/BCC/16BitDOS/common/portcomn.c b/Source/portable/BCC/16BitDOS/common/portcomn.c index 3f68474fd..dcc1531fc 100644 --- a/Source/portable/BCC/16BitDOS/common/portcomn.c +++ b/Source/portable/BCC/16BitDOS/common/portcomn.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/CodeWarrior/HCS12/port.c b/Source/portable/CodeWarrior/HCS12/port.c index cf2b9db8b..8ce7521f9 100644 --- a/Source/portable/CodeWarrior/HCS12/port.c +++ b/Source/portable/CodeWarrior/HCS12/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/CodeWarrior/HCS12/portmacro.h b/Source/portable/CodeWarrior/HCS12/portmacro.h index 90e45334d..d11498c65 100644 --- a/Source/portable/CodeWarrior/HCS12/portmacro.h +++ b/Source/portable/CodeWarrior/HCS12/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_AT91FR40008/port.c b/Source/portable/GCC/ARM7_AT91FR40008/port.c index 1379f0f70..6f055f076 100644 --- a/Source/portable/GCC/ARM7_AT91FR40008/port.c +++ b/Source/portable/GCC/ARM7_AT91FR40008/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_AT91FR40008/portISR.c b/Source/portable/GCC/ARM7_AT91FR40008/portISR.c index cb60b0954..1cd7eb8d7 100644 --- a/Source/portable/GCC/ARM7_AT91FR40008/portISR.c +++ b/Source/portable/GCC/ARM7_AT91FR40008/portISR.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_AT91FR40008/portmacro.h b/Source/portable/GCC/ARM7_AT91FR40008/portmacro.h index ae4d1be2a..1c2eb8e79 100644 --- a/Source/portable/GCC/ARM7_AT91FR40008/portmacro.h +++ b/Source/portable/GCC/ARM7_AT91FR40008/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_AT91SAM7S/port.c b/Source/portable/GCC/ARM7_AT91SAM7S/port.c index a60f7b63f..188031224 100644 --- a/Source/portable/GCC/ARM7_AT91SAM7S/port.c +++ b/Source/portable/GCC/ARM7_AT91SAM7S/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_AT91SAM7S/portISR.c b/Source/portable/GCC/ARM7_AT91SAM7S/portISR.c index 5cb36af87..e0b4c3b81 100644 --- a/Source/portable/GCC/ARM7_AT91SAM7S/portISR.c +++ b/Source/portable/GCC/ARM7_AT91SAM7S/portISR.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h b/Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h index 3fe427cb5..93493363c 100644 --- a/Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h +++ b/Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_LPC2000/port.c b/Source/portable/GCC/ARM7_LPC2000/port.c index c72ebca64..6fffd8ae3 100644 --- a/Source/portable/GCC/ARM7_LPC2000/port.c +++ b/Source/portable/GCC/ARM7_LPC2000/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_LPC2000/portISR.c b/Source/portable/GCC/ARM7_LPC2000/portISR.c index 61d3fab79..ef93f39f1 100644 --- a/Source/portable/GCC/ARM7_LPC2000/portISR.c +++ b/Source/portable/GCC/ARM7_LPC2000/portISR.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_LPC2000/portmacro.h b/Source/portable/GCC/ARM7_LPC2000/portmacro.h index 3fe427cb5..93493363c 100644 --- a/Source/portable/GCC/ARM7_LPC2000/portmacro.h +++ b/Source/portable/GCC/ARM7_LPC2000/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_LPC23xx/port.c b/Source/portable/GCC/ARM7_LPC23xx/port.c index ea31578f1..28587d3ed 100644 --- a/Source/portable/GCC/ARM7_LPC23xx/port.c +++ b/Source/portable/GCC/ARM7_LPC23xx/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_LPC23xx/portISR.c b/Source/portable/GCC/ARM7_LPC23xx/portISR.c index c88dcbb24..7c44ff6a7 100644 --- a/Source/portable/GCC/ARM7_LPC23xx/portISR.c +++ b/Source/portable/GCC/ARM7_LPC23xx/portISR.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM7_LPC23xx/portmacro.h b/Source/portable/GCC/ARM7_LPC23xx/portmacro.h index beca9cc21..fb86f559a 100644 --- a/Source/portable/GCC/ARM7_LPC23xx/portmacro.h +++ b/Source/portable/GCC/ARM7_LPC23xx/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM_CM3/port.c b/Source/portable/GCC/ARM_CM3/port.c index 3a4904f45..a1812f76d 100644 --- a/Source/portable/GCC/ARM_CM3/port.c +++ b/Source/portable/GCC/ARM_CM3/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ARM_CM3/portmacro.h b/Source/portable/GCC/ARM_CM3/portmacro.h index 2b6ac640c..66c2f6870 100644 --- a/Source/portable/GCC/ARM_CM3/portmacro.h +++ b/Source/portable/GCC/ARM_CM3/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ATMega323/port.c b/Source/portable/GCC/ATMega323/port.c index 7b2c3f30e..697a0dfb7 100644 --- a/Source/portable/GCC/ATMega323/port.c +++ b/Source/portable/GCC/ATMega323/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/ATMega323/portmacro.h b/Source/portable/GCC/ATMega323/portmacro.h index 1bea919c6..1a88d9d8c 100644 --- a/Source/portable/GCC/ATMega323/portmacro.h +++ b/Source/portable/GCC/ATMega323/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/AVR32_UC3/port.c b/Source/portable/GCC/AVR32_UC3/port.c index b83b0f323..65487218a 100644 --- a/Source/portable/GCC/AVR32_UC3/port.c +++ b/Source/portable/GCC/AVR32_UC3/port.c @@ -13,7 +13,7 @@ *****************************************************************************/ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/AVR32_UC3/portmacro.h b/Source/portable/GCC/AVR32_UC3/portmacro.h index 58b5b5fca..f02630bbc 100644 --- a/Source/portable/GCC/AVR32_UC3/portmacro.h +++ b/Source/portable/GCC/AVR32_UC3/portmacro.h @@ -13,7 +13,7 @@ *****************************************************************************/ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/H8S2329/port.c b/Source/portable/GCC/H8S2329/port.c index 77784f528..95c12b02d 100644 --- a/Source/portable/GCC/H8S2329/port.c +++ b/Source/portable/GCC/H8S2329/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/H8S2329/portmacro.h b/Source/portable/GCC/H8S2329/portmacro.h index e6d546fcd..a76aa69ca 100644 --- a/Source/portable/GCC/H8S2329/portmacro.h +++ b/Source/portable/GCC/H8S2329/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/HCS12/port.c b/Source/portable/GCC/HCS12/port.c index fe7c524b6..90209aad7 100644 --- a/Source/portable/GCC/HCS12/port.c +++ b/Source/portable/GCC/HCS12/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/HCS12/portmacro.h b/Source/portable/GCC/HCS12/portmacro.h index c89974caa..170a52ad1 100644 --- a/Source/portable/GCC/HCS12/portmacro.h +++ b/Source/portable/GCC/HCS12/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/MCF5235/port.c b/Source/portable/GCC/MCF5235/port.c index b9c843160..48f89aac9 100644 --- a/Source/portable/GCC/MCF5235/port.c +++ b/Source/portable/GCC/MCF5235/port.c @@ -1,266 +1,266 @@ -/* - FreeRTOS V4.1.1 - Copyright (C) 2003-2006 Richard Barry. - MCF5235 Port - Copyright (C) 2006 Christian Walter. - - This file is part of the FreeRTOS distribution. - - FreeRTOS is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - FreeRTOS is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with FreeRTOS; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - A special exception to the GPL can be applied should you wish to distribute - a combined work that includes FreeRTOS, without being obliged to provide - the source code for any proprietary components. See the licensing section - of http://www.FreeRTOS.org for full details of how and when the exception - can be applied. - - *************************************************************************** - See http://www.FreeRTOS.org for documentation, latest information, license - and contact details. Please ensure to read the configuration and relevant +/* + FreeRTOS V4.1.1 - Copyright (C) 2003-2006 Richard Barry. + MCF5235 Port - Copyright (C) 2006 Christian Walter. + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + FreeRTOS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with FreeRTOS; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + A special exception to the GPL can be applied should you wish to distribute + a combined work that includes FreeRTOS, without being obliged to provide + the source code for any proprietary components. See the licensing section + of http://www.FreeRTOS.org for full details of how and when the exception + can be applied. + + *************************************************************************** + See http://www.FreeRTOS.org for documentation, latest information, license + and contact details. Please ensure to read the configuration and relevant port sections of the online documentation. Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along - with commercial development and support options. - *************************************************************************** -*/ - -#include - -#include "FreeRTOS.h" -#include "FreeRTOSConfig.h" -#include "task.h" - -/* ------------------------ Types ----------------------------------------- */ -typedef volatile unsigned long vuint32; -typedef volatile unsigned short vuint16; -typedef volatile unsigned char vuint8; - -/* ------------------------ Defines --------------------------------------- */ -#define portVECTOR_TABLE __RAMVEC -#define portVECTOR_SYSCALL ( 32 + portTRAP_YIELD ) -#define portVECTOR_TIMER ( 64 + 36 ) - -#define MCF_PIT_PRESCALER 512UL -#define MCF_PIT_TIMER_TICKS ( FSYS_2 / MCF_PIT_PRESCALER ) -#define MCF_PIT_MODULUS_REGISTER(freq) ( MCF_PIT_TIMER_TICKS / ( freq ) - 1UL) - -#define MCF_PIT_PMR0 ( *( vuint16 * )( void * )( &__IPSBAR[ 0x150002 ] ) ) -#define MCF_PIT_PCSR0 ( *( vuint16 * )( void * )( &__IPSBAR[ 0x150000 ] ) ) -#define MCF_PIT_PCSR_PRE(x) ( ( ( x ) & 0x000F ) << 8 ) -#define MCF_PIT_PCSR_EN ( 0x0001 ) -#define MCF_PIT_PCSR_RLD ( 0x0002 ) -#define MCF_PIT_PCSR_PIF ( 0x0004 ) -#define MCF_PIT_PCSR_PIE ( 0x0008 ) -#define MCF_PIT_PCSR_OVW ( 0x0010 ) -#define MCF_INTC0_ICR36 ( *( vuint8 * )( void * )( &__IPSBAR[ 0x000C64 ] ) ) -#define MCF_INTC0_IMRH ( *( vuint32 * )( void * )( &__IPSBAR[ 0x000C08 ] ) ) -#define MCF_INTC0_IMRH_INT_MASK36 ( 0x00000010 ) -#define MCF_INTC0_IMRH_MASKALL ( 0x00000001 ) -#define MCF_INTC0_ICRn_IP(x) ( ( ( x ) & 0x07 ) << 0 ) -#define MCF_INTC0_ICRn_IL(x) ( ( ( x ) & 0x07 ) << 3 ) - -#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 ) -#define portINITIAL_CRITICAL_NESTING ( ( unsigned portLONG ) 10 ) - -/* ------------------------ Static variables ------------------------------ */ -volatile unsigned portLONG ulCriticalNesting = portINITIAL_CRITICAL_NESTING; - -/* ------------------------ Static functions ------------------------------ */ -#if configUSE_PREEMPTION == 0 -static void prvPortPreemptiveTick ( void ) __attribute__ ((interrupt_handler)); -#else -static void prvPortPreemptiveTick ( void ); -#endif - -/* ------------------------ Start implementation -------------------------- */ - -portSTACK_TYPE * -pxPortInitialiseStack( portSTACK_TYPE * pxTopOfStack, pdTASK_CODE pxCode, - void *pvParameters ) -{ - /* Place the parameter on the stack in the expected location. */ - *pxTopOfStack = ( portSTACK_TYPE ) pvParameters; - pxTopOfStack--; - - /* Place dummy return address on stack. Tasks should never terminate so - * we can set this to anything. */ - *pxTopOfStack = ( portSTACK_TYPE ) 0; - pxTopOfStack--; - - /* Create a Motorola Coldfire exception stack frame. First comes the return - * address. */ - *pxTopOfStack = ( portSTACK_TYPE ) pxCode; - pxTopOfStack--; - - /* Format, fault-status, vector number for exception stack frame. Task - * run in supervisor mode. */ - *pxTopOfStack = 0x40002000UL | ( portVECTOR_SYSCALL + 32 ) << 18; - pxTopOfStack--; - - /* Set the initial critical section nesting counter to zero. This value - * is used to restore the value of ulCriticalNesting. */ - *pxTopOfStack = 0; - *pxTopOfStack--; - - *pxTopOfStack = ( portSTACK_TYPE ) 0xA6; /* A6 / FP */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xA5; /* A5 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xA4; /* A4 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xA3; /* A3 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xA2; /* A2 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xA1; /* A1 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xA0; /* A0 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xD7; /* D7 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xD6; /* D6 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xD5; /* D5 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xD4; /* D4 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xD3; /* D3 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xD2; /* D2 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xD1; /* D1 */ - pxTopOfStack--; - *pxTopOfStack = ( portSTACK_TYPE ) 0xD0; /* D0 */ - - return pxTopOfStack; -} - -/* - * Called by portYIELD() or taskYIELD() to manually force a context switch. - */ -static void -prvPortYield( void ) -{ - asm volatile ( "move.w #0x2700, %sr\n\t" ); -#if _GCC_USES_FP == 1 - asm volatile ( "unlk %fp\n\t" ); -#endif - /* Perform the context switch. First save the context of the current task. */ - portSAVE_CONTEXT( ); - - /* Find the highest priority task that is ready to run. */ - vTaskSwitchContext( ); - - /* Restore the context of the new task. */ - portRESTORE_CONTEXT( ); -} - -#if configUSE_PREEMPTION == 0 -/* - * The ISR used for the scheduler tick depends on whether the cooperative or - * the preemptive scheduler is being used. - */ -static void -prvPortPreemptiveTick ( void ) -{ - /* The cooperative scheduler requires a normal IRQ service routine to - * simply increment the system tick. - */ - - vTaskIncrementTick( ); - MCF_PIT_PCSR0 |= MCF_PIT_PCSR_PIF; -} - -#else - -static void -prvPortPreemptiveTick( void ) -{ - asm volatile ( "move.w #0x2700, %sr\n\t" ); -#if _GCC_USES_FP == 1 - asm volatile ( "unlk %fp\n\t" ); -#endif - portSAVE_CONTEXT( ); - MCF_PIT_PCSR0 |= MCF_PIT_PCSR_PIF; - vTaskIncrementTick( ); - vTaskSwitchContext( ); - portRESTORE_CONTEXT( ); -} -#endif - -void -vPortEnterCritical() -{ - /* FIXME: We should store the old IPL here - How are we supposed to do - * this. - */ - ( void )portSET_IPL( portIPL_MAX ); - - /* Now interrupts are disabled ulCriticalNesting can be accessed - * directly. Increment ulCriticalNesting to keep a count of how many times - * portENTER_CRITICAL() has been called. */ - ulCriticalNesting++; -} - -void -vPortExitCritical() -{ - if( ulCriticalNesting > portNO_CRITICAL_NESTING ) - { - /* Decrement the nesting count as we are leaving a critical section. */ - ulCriticalNesting--; - - /* If the nesting level has reached zero then interrupts should be - re-enabled. */ - if( ulCriticalNesting == portNO_CRITICAL_NESTING ) - { - ( void )portSET_IPL( 0 ); - } - } -} - -portBASE_TYPE -xPortStartScheduler( void ) -{ - extern void ( *portVECTOR_TABLE[ ] ) ( ); - - /* Add entry in vector table for yield system call. */ - portVECTOR_TABLE[ portVECTOR_SYSCALL ] = prvPortYield; - /* Add entry in vector table for periodic timer. */ - portVECTOR_TABLE[ portVECTOR_TIMER ] = prvPortPreemptiveTick; - - /* Configure the timer for the system clock. */ - if ( configTICK_RATE_HZ > 0) - { - /* Configure prescaler */ - MCF_PIT_PCSR0 = MCF_PIT_PCSR_PRE( 0x9 ) | MCF_PIT_PCSR_RLD | MCF_PIT_PCSR_OVW; - /* Initialize the periodic timer interrupt. */ - MCF_PIT_PMR0 = MCF_PIT_MODULUS_REGISTER( configTICK_RATE_HZ ); - /* Configure interrupt priority and level and unmask interrupt. */ - MCF_INTC0_ICR36 = MCF_INTC0_ICRn_IL( 0x1 ) | MCF_INTC0_ICRn_IP( 0x1 ); - MCF_INTC0_IMRH &= ~( MCF_INTC0_IMRH_INT_MASK36 | MCF_INTC0_IMRH_MASKALL ); - /* Enable interrupts */ - MCF_PIT_PCSR0 |= MCF_PIT_PCSR_PIE | MCF_PIT_PCSR_EN | MCF_PIT_PCSR_PIF; - } - - /* Restore the context of the first task that is going to run. */ - portRESTORE_CONTEXT( ); - - /* Should not get here. */ - return pdTRUE; -} - -void -vPortEndScheduler( void ) -{ -} + with commercial development and support options. + *************************************************************************** +*/ + +#include + +#include "FreeRTOS.h" +#include "FreeRTOSConfig.h" +#include "task.h" + +/* ------------------------ Types ----------------------------------------- */ +typedef volatile unsigned long vuint32; +typedef volatile unsigned short vuint16; +typedef volatile unsigned char vuint8; + +/* ------------------------ Defines --------------------------------------- */ +#define portVECTOR_TABLE __RAMVEC +#define portVECTOR_SYSCALL ( 32 + portTRAP_YIELD ) +#define portVECTOR_TIMER ( 64 + 36 ) + +#define MCF_PIT_PRESCALER 512UL +#define MCF_PIT_TIMER_TICKS ( FSYS_2 / MCF_PIT_PRESCALER ) +#define MCF_PIT_MODULUS_REGISTER(freq) ( MCF_PIT_TIMER_TICKS / ( freq ) - 1UL) + +#define MCF_PIT_PMR0 ( *( vuint16 * )( void * )( &__IPSBAR[ 0x150002 ] ) ) +#define MCF_PIT_PCSR0 ( *( vuint16 * )( void * )( &__IPSBAR[ 0x150000 ] ) ) +#define MCF_PIT_PCSR_PRE(x) ( ( ( x ) & 0x000F ) << 8 ) +#define MCF_PIT_PCSR_EN ( 0x0001 ) +#define MCF_PIT_PCSR_RLD ( 0x0002 ) +#define MCF_PIT_PCSR_PIF ( 0x0004 ) +#define MCF_PIT_PCSR_PIE ( 0x0008 ) +#define MCF_PIT_PCSR_OVW ( 0x0010 ) +#define MCF_INTC0_ICR36 ( *( vuint8 * )( void * )( &__IPSBAR[ 0x000C64 ] ) ) +#define MCF_INTC0_IMRH ( *( vuint32 * )( void * )( &__IPSBAR[ 0x000C08 ] ) ) +#define MCF_INTC0_IMRH_INT_MASK36 ( 0x00000010 ) +#define MCF_INTC0_IMRH_MASKALL ( 0x00000001 ) +#define MCF_INTC0_ICRn_IP(x) ( ( ( x ) & 0x07 ) << 0 ) +#define MCF_INTC0_ICRn_IL(x) ( ( ( x ) & 0x07 ) << 3 ) + +#define portNO_CRITICAL_NESTING ( ( unsigned portLONG ) 0 ) +#define portINITIAL_CRITICAL_NESTING ( ( unsigned portLONG ) 10 ) + +/* ------------------------ Static variables ------------------------------ */ +volatile unsigned portLONG ulCriticalNesting = portINITIAL_CRITICAL_NESTING; + +/* ------------------------ Static functions ------------------------------ */ +#if configUSE_PREEMPTION == 0 +static void prvPortPreemptiveTick ( void ) __attribute__ ((interrupt_handler)); +#else +static void prvPortPreemptiveTick ( void ); +#endif + +/* ------------------------ Start implementation -------------------------- */ + +portSTACK_TYPE * +pxPortInitialiseStack( portSTACK_TYPE * pxTopOfStack, pdTASK_CODE pxCode, + void *pvParameters ) +{ + /* Place the parameter on the stack in the expected location. */ + *pxTopOfStack = ( portSTACK_TYPE ) pvParameters; + pxTopOfStack--; + + /* Place dummy return address on stack. Tasks should never terminate so + * we can set this to anything. */ + *pxTopOfStack = ( portSTACK_TYPE ) 0; + pxTopOfStack--; + + /* Create a Motorola Coldfire exception stack frame. First comes the return + * address. */ + *pxTopOfStack = ( portSTACK_TYPE ) pxCode; + pxTopOfStack--; + + /* Format, fault-status, vector number for exception stack frame. Task + * run in supervisor mode. */ + *pxTopOfStack = 0x40002000UL | ( portVECTOR_SYSCALL + 32 ) << 18; + pxTopOfStack--; + + /* Set the initial critical section nesting counter to zero. This value + * is used to restore the value of ulCriticalNesting. */ + *pxTopOfStack = 0; + *pxTopOfStack--; + + *pxTopOfStack = ( portSTACK_TYPE ) 0xA6; /* A6 / FP */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xA5; /* A5 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xA4; /* A4 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xA3; /* A3 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xA2; /* A2 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xA1; /* A1 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xA0; /* A0 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xD7; /* D7 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xD6; /* D6 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xD5; /* D5 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xD4; /* D4 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xD3; /* D3 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xD2; /* D2 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xD1; /* D1 */ + pxTopOfStack--; + *pxTopOfStack = ( portSTACK_TYPE ) 0xD0; /* D0 */ + + return pxTopOfStack; +} + +/* + * Called by portYIELD() or taskYIELD() to manually force a context switch. + */ +static void +prvPortYield( void ) +{ + asm volatile ( "move.w #0x2700, %sr\n\t" ); +#if _GCC_USES_FP == 1 + asm volatile ( "unlk %fp\n\t" ); +#endif + /* Perform the context switch. First save the context of the current task. */ + portSAVE_CONTEXT( ); + + /* Find the highest priority task that is ready to run. */ + vTaskSwitchContext( ); + + /* Restore the context of the new task. */ + portRESTORE_CONTEXT( ); +} + +#if configUSE_PREEMPTION == 0 +/* + * The ISR used for the scheduler tick depends on whether the cooperative or + * the preemptive scheduler is being used. + */ +static void +prvPortPreemptiveTick ( void ) +{ + /* The cooperative scheduler requires a normal IRQ service routine to + * simply increment the system tick. + */ + + vTaskIncrementTick( ); + MCF_PIT_PCSR0 |= MCF_PIT_PCSR_PIF; +} + +#else + +static void +prvPortPreemptiveTick( void ) +{ + asm volatile ( "move.w #0x2700, %sr\n\t" ); +#if _GCC_USES_FP == 1 + asm volatile ( "unlk %fp\n\t" ); +#endif + portSAVE_CONTEXT( ); + MCF_PIT_PCSR0 |= MCF_PIT_PCSR_PIF; + vTaskIncrementTick( ); + vTaskSwitchContext( ); + portRESTORE_CONTEXT( ); +} +#endif + +void +vPortEnterCritical() +{ + /* FIXME: We should store the old IPL here - How are we supposed to do + * this. + */ + ( void )portSET_IPL( portIPL_MAX ); + + /* Now interrupts are disabled ulCriticalNesting can be accessed + * directly. Increment ulCriticalNesting to keep a count of how many times + * portENTER_CRITICAL() has been called. */ + ulCriticalNesting++; +} + +void +vPortExitCritical() +{ + if( ulCriticalNesting > portNO_CRITICAL_NESTING ) + { + /* Decrement the nesting count as we are leaving a critical section. */ + ulCriticalNesting--; + + /* If the nesting level has reached zero then interrupts should be + re-enabled. */ + if( ulCriticalNesting == portNO_CRITICAL_NESTING ) + { + ( void )portSET_IPL( 0 ); + } + } +} + +portBASE_TYPE +xPortStartScheduler( void ) +{ + extern void ( *portVECTOR_TABLE[ ] ) ( ); + + /* Add entry in vector table for yield system call. */ + portVECTOR_TABLE[ portVECTOR_SYSCALL ] = prvPortYield; + /* Add entry in vector table for periodic timer. */ + portVECTOR_TABLE[ portVECTOR_TIMER ] = prvPortPreemptiveTick; + + /* Configure the timer for the system clock. */ + if ( configTICK_RATE_HZ > 0) + { + /* Configure prescaler */ + MCF_PIT_PCSR0 = MCF_PIT_PCSR_PRE( 0x9 ) | MCF_PIT_PCSR_RLD | MCF_PIT_PCSR_OVW; + /* Initialize the periodic timer interrupt. */ + MCF_PIT_PMR0 = MCF_PIT_MODULUS_REGISTER( configTICK_RATE_HZ ); + /* Configure interrupt priority and level and unmask interrupt. */ + MCF_INTC0_ICR36 = MCF_INTC0_ICRn_IL( 0x1 ) | MCF_INTC0_ICRn_IP( 0x1 ); + MCF_INTC0_IMRH &= ~( MCF_INTC0_IMRH_INT_MASK36 | MCF_INTC0_IMRH_MASKALL ); + /* Enable interrupts */ + MCF_PIT_PCSR0 |= MCF_PIT_PCSR_PIE | MCF_PIT_PCSR_EN | MCF_PIT_PCSR_PIF; + } + + /* Restore the context of the first task that is going to run. */ + portRESTORE_CONTEXT( ); + + /* Should not get here. */ + return pdTRUE; +} + +void +vPortEndScheduler( void ) +{ +} diff --git a/Source/portable/GCC/MCF5235/portmacro.h b/Source/portable/GCC/MCF5235/portmacro.h index 68078fa0b..f93bff658 100644 --- a/Source/portable/GCC/MCF5235/portmacro.h +++ b/Source/portable/GCC/MCF5235/portmacro.h @@ -1,151 +1,151 @@ -/* - FreeRTOS V4.1.1 - Copyright (C) 2003-2006 Richard Barry. - MCF5235 Port - Copyright (C) 2006 Christian Walter. - - This file is part of the FreeRTOS distribution. - - FreeRTOS is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - FreeRTOS is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with FreeRTOS; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - A special exception to the GPL can be applied should you wish to distribute - a combined work that includes FreeRTOS, without being obliged to provide - the source code for any proprietary components. See the licensing section - of http://www.FreeRTOS.org for full details of how and when the exception - can be applied. - - *************************************************************************** - See http://www.FreeRTOS.org for documentation, latest information, license - and contact details. Please ensure to read the configuration and relevant +/* + FreeRTOS V4.1.1 - Copyright (C) 2003-2006 Richard Barry. + MCF5235 Port - Copyright (C) 2006 Christian Walter. + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + FreeRTOS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with FreeRTOS; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + A special exception to the GPL can be applied should you wish to distribute + a combined work that includes FreeRTOS, without being obliged to provide + the source code for any proprietary components. See the licensing section + of http://www.FreeRTOS.org for full details of how and when the exception + can be applied. + + *************************************************************************** + See http://www.FreeRTOS.org for documentation, latest information, license + and contact details. Please ensure to read the configuration and relevant port sections of the online documentation. Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along - with commercial development and support options. - *************************************************************************** -*/ - -#ifndef PORTMACRO_H -#define PORTMACRO_H - -/* ------------------------ Data types for Coldfire ----------------------- */ -#define portCHAR char -#define portFLOAT float -#define portDOUBLE double -#define portLONG long -#define portSHORT short -#define portSTACK_TYPE unsigned int -#define portBASE_TYPE int - -#if( USE_16_BIT_TICKS == 1 ) - typedef unsigned portSHORT portTickType; - #define portMAX_DELAY ( portTickType ) 0xffff -#else - typedef unsigned portLONG portTickType; - #define portMAX_DELAY ( portTickType ) 0xffffffff -#endif - -/* ------------------------ Architecture specifics ------------------------ */ -#define portSTACK_GROWTH ( -1 ) -#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ ) -#define portBYTE_ALIGNMENT 4 - -#define portTRAP_YIELD 0 /* Trap 0 */ -#define portIPL_MAX 7 /* Only NMI interrupt 7 allowed. */ - -/* ------------------------ FreeRTOS macros for port ---------------------- */ - -/* - * This function must be called when the current state of the active task - * should be stored. It must be called immediately after exception - * processing from the CPU, i.e. there exists a Coldfire exception frame at - * the current position in the stack. The function reserves space on - * the stack for the CPU registers and other task dependent values (e.g - * ulCriticalNesting) and updates the top of the stack in the TCB. - */ -#define portSAVE_CONTEXT() \ - asm volatile ( /* reserve space for task state. */ \ - "lea.l (-64, %sp), %sp\n\t" \ - /* push data register %d0-%d7/%a0-%a6 on stack. */ \ - "movem.l %d0-%d7/%a0-%a6, (%sp)\n\t" \ - /* push ulCriticalNesting counter on stack. */ \ - "lea.l (60, %sp), %a0\n\t" \ - "move.l ulCriticalNesting, (%a0)\n\t" \ - /* set the new top of the stack in the TCB. */ \ - "move.l pxCurrentTCB, %a0\n\t" \ - "move.l %sp, (%a0)"); - -/*. - * This function restores the current active and continues its execution. - * It loads the current TCB and restores the processor registers, the - * task dependent values (e.g ulCriticalNesting). Finally execution - * is continued by executing an rte instruction. - */ -#define portRESTORE_CONTEXT() \ - asm volatile ( "move.l pxCurrentTCB, %sp\n\t" \ - "move.l (%sp), %sp\n\t" \ - /* stack pointer now points to the saved registers. */ \ - "movem.l (%sp), %d0-%d7/%a0-%a6\n\t" \ - /* restore ulCriticalNesting counter from stack. */ \ - "lea.l (%sp, 60), %sp\n\t" \ - "move.l (%sp)+, ulCriticalNesting\n\t" \ - /* stack pointer now points to exception frame. */ \ - "rte\n\t" ); - -#define portENTER_CRITICAL() \ - vPortEnterCritical(); - -#define portEXIT_CRITICAL() \ - vPortExitCritical(); - -#define portSET_IPL( xIPL ) \ - asm_set_ipl( xIPL ) - -#define portDISABLE_INTERRUPTS() \ - do { ( void )portSET_IPL( portIPL_MAX ); } while( 0 ) -#define portENABLE_INTERRUPTS() \ - do { ( void )portSET_IPL( 0 ); } while( 0 ) - -#define portYIELD() \ - asm volatile ( " trap %0\n\t" : : "i"(portTRAP_YIELD) ) - -#define portNOP() \ - asm volatile ( "nop\n\t" ) - -#define portENTER_SWITCHING_ISR() \ - asm volatile ( "move.w #0x2700, %sr" ); \ - /* Save the context of the interrupted task. */ \ - portSAVE_CONTEXT( ); \ - { - -#define portEXIT_SWITCHING_ISR( SwitchRequired ) \ - /* If a switch is required we call vTaskSwitchContext(). */ \ - if( SwitchRequired ) \ - { \ - vTaskSwitchContext( ); \ - } \ - } \ - portRESTORE_CONTEXT( ); - -/* ------------------------ Function prototypes --------------------------- */ -void vPortEnterCritical( void ); -void vPortExitCritical( void ); -int asm_set_ipl( unsigned long int uiNewIPL ); - -/* ------------------------ Compiler specifics ---------------------------- */ -#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) \ - void vFunction( void *pvParameters ) - -#define portTASK_FUNCTION( vFunction, pvParameters ) \ - void vFunction( void *pvParameters ) -#endif - + with commercial development and support options. + *************************************************************************** +*/ + +#ifndef PORTMACRO_H +#define PORTMACRO_H + +/* ------------------------ Data types for Coldfire ----------------------- */ +#define portCHAR char +#define portFLOAT float +#define portDOUBLE double +#define portLONG long +#define portSHORT short +#define portSTACK_TYPE unsigned int +#define portBASE_TYPE int + +#if( USE_16_BIT_TICKS == 1 ) + typedef unsigned portSHORT portTickType; + #define portMAX_DELAY ( portTickType ) 0xffff +#else + typedef unsigned portLONG portTickType; + #define portMAX_DELAY ( portTickType ) 0xffffffff +#endif + +/* ------------------------ Architecture specifics ------------------------ */ +#define portSTACK_GROWTH ( -1 ) +#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ ) +#define portBYTE_ALIGNMENT 4 + +#define portTRAP_YIELD 0 /* Trap 0 */ +#define portIPL_MAX 7 /* Only NMI interrupt 7 allowed. */ + +/* ------------------------ FreeRTOS macros for port ---------------------- */ + +/* + * This function must be called when the current state of the active task + * should be stored. It must be called immediately after exception + * processing from the CPU, i.e. there exists a Coldfire exception frame at + * the current position in the stack. The function reserves space on + * the stack for the CPU registers and other task dependent values (e.g + * ulCriticalNesting) and updates the top of the stack in the TCB. + */ +#define portSAVE_CONTEXT() \ + asm volatile ( /* reserve space for task state. */ \ + "lea.l (-64, %sp), %sp\n\t" \ + /* push data register %d0-%d7/%a0-%a6 on stack. */ \ + "movem.l %d0-%d7/%a0-%a6, (%sp)\n\t" \ + /* push ulCriticalNesting counter on stack. */ \ + "lea.l (60, %sp), %a0\n\t" \ + "move.l ulCriticalNesting, (%a0)\n\t" \ + /* set the new top of the stack in the TCB. */ \ + "move.l pxCurrentTCB, %a0\n\t" \ + "move.l %sp, (%a0)"); + +/*. + * This function restores the current active and continues its execution. + * It loads the current TCB and restores the processor registers, the + * task dependent values (e.g ulCriticalNesting). Finally execution + * is continued by executing an rte instruction. + */ +#define portRESTORE_CONTEXT() \ + asm volatile ( "move.l pxCurrentTCB, %sp\n\t" \ + "move.l (%sp), %sp\n\t" \ + /* stack pointer now points to the saved registers. */ \ + "movem.l (%sp), %d0-%d7/%a0-%a6\n\t" \ + /* restore ulCriticalNesting counter from stack. */ \ + "lea.l (%sp, 60), %sp\n\t" \ + "move.l (%sp)+, ulCriticalNesting\n\t" \ + /* stack pointer now points to exception frame. */ \ + "rte\n\t" ); + +#define portENTER_CRITICAL() \ + vPortEnterCritical(); + +#define portEXIT_CRITICAL() \ + vPortExitCritical(); + +#define portSET_IPL( xIPL ) \ + asm_set_ipl( xIPL ) + +#define portDISABLE_INTERRUPTS() \ + do { ( void )portSET_IPL( portIPL_MAX ); } while( 0 ) +#define portENABLE_INTERRUPTS() \ + do { ( void )portSET_IPL( 0 ); } while( 0 ) + +#define portYIELD() \ + asm volatile ( " trap %0\n\t" : : "i"(portTRAP_YIELD) ) + +#define portNOP() \ + asm volatile ( "nop\n\t" ) + +#define portENTER_SWITCHING_ISR() \ + asm volatile ( "move.w #0x2700, %sr" ); \ + /* Save the context of the interrupted task. */ \ + portSAVE_CONTEXT( ); \ + { + +#define portEXIT_SWITCHING_ISR( SwitchRequired ) \ + /* If a switch is required we call vTaskSwitchContext(). */ \ + if( SwitchRequired ) \ + { \ + vTaskSwitchContext( ); \ + } \ + } \ + portRESTORE_CONTEXT( ); + +/* ------------------------ Function prototypes --------------------------- */ +void vPortEnterCritical( void ); +void vPortExitCritical( void ); +int asm_set_ipl( unsigned long int uiNewIPL ); + +/* ------------------------ Compiler specifics ---------------------------- */ +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) \ + void vFunction( void *pvParameters ) + +#define portTASK_FUNCTION( vFunction, pvParameters ) \ + void vFunction( void *pvParameters ) +#endif + diff --git a/Source/portable/GCC/MSP430F449/port.c b/Source/portable/GCC/MSP430F449/port.c index 294156284..1aef30001 100644 --- a/Source/portable/GCC/MSP430F449/port.c +++ b/Source/portable/GCC/MSP430F449/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/MSP430F449/portmacro.h b/Source/portable/GCC/MSP430F449/portmacro.h index 165fe089f..6ef32914a 100644 --- a/Source/portable/GCC/MSP430F449/portmacro.h +++ b/Source/portable/GCC/MSP430F449/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/MicroBlaze/port.c b/Source/portable/GCC/MicroBlaze/port.c index 6323080c0..84111ec52 100644 --- a/Source/portable/GCC/MicroBlaze/port.c +++ b/Source/portable/GCC/MicroBlaze/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -191,10 +191,10 @@ extern void ( vStartFirstTask )( void ); /* Setup the FreeRTOS interrupt handler. Code copied from crt0.s. */ - asm volatile ( "la r6, r0, __FreeRTOS_interrupt_handler \n\t" \ - "sw r6, r1, r0 \n\t" \ - "lhu r7, r1, r0 \n\t" \ - "shi r7, r0, 0x12 \n\t" \ + asm volatile ( "la r6, r0, __FreeRTOS_interrupt_handler \n\t" \ + "sw r6, r1, r0 \n\t" \ + "lhu r7, r1, r0 \n\t" \ + "shi r7, r0, 0x12 \n\t" \ "shi r6, r0, 0x16 " ); /* Setup the hardware to generate the tick. Interrupts are disabled when @@ -281,10 +281,10 @@ unsigned portBASE_TYPE uxMask; */ void vTaskISRHandler( void ) { -static unsigned portLONG ulPending; +static unsigned portLONG ulPending; - /* Which interrupts are pending? */ - ulPending = XIntc_In32( ( XPAR_INTC_SINGLE_BASEADDR + XIN_IVR_OFFSET ) ); + /* Which interrupts are pending? */ + ulPending = XIntc_In32( ( XPAR_INTC_SINGLE_BASEADDR + XIN_IVR_OFFSET ) ); if( ulPending < XPAR_INTC_MAX_NUM_INTR_INPUTS ) { @@ -294,19 +294,19 @@ static unsigned portLONG ulPending; ulInterruptMask = ( unsigned portLONG ) 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 ]; pxTablePtr = &( pxConfig->HandlerTable[ ulPending ] ); - if( pxConfig->AckBeforeService & ( ulInterruptMask ) ) - { + if( pxConfig->AckBeforeService & ( ulInterruptMask ) ) + { XIntc_mAckIntr( pxConfig->BaseAddress, ulInterruptMask ); - pxTablePtr->Handler( pxTablePtr->CallBackRef ); + pxTablePtr->Handler( pxTablePtr->CallBackRef ); } - else + else { - pxTablePtr->Handler( pxTablePtr->CallBackRef ); - XIntc_mAckIntr( pxConfig->BaseAddress, ulInterruptMask ); + pxTablePtr->Handler( pxTablePtr->CallBackRef ); + XIntc_mAckIntr( pxConfig->BaseAddress, ulInterruptMask ); } } } diff --git a/Source/portable/GCC/MicroBlaze/portmacro.h b/Source/portable/GCC/MicroBlaze/portmacro.h index 7e73ca7c2..948d11b35 100644 --- a/Source/portable/GCC/MicroBlaze/portmacro.h +++ b/Source/portable/GCC/MicroBlaze/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/STR75x/port.c b/Source/portable/GCC/STR75x/port.c index c4a7f3ac2..eba5e2431 100644 --- a/Source/portable/GCC/STR75x/port.c +++ b/Source/portable/GCC/STR75x/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/STR75x/portISR.c b/Source/portable/GCC/STR75x/portISR.c index c8fcc3269..712b98ff6 100644 --- a/Source/portable/GCC/STR75x/portISR.c +++ b/Source/portable/GCC/STR75x/portISR.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/GCC/STR75x/portmacro.h b/Source/portable/GCC/STR75x/portmacro.h index 94fa9f377..45f9f4998 100644 --- a/Source/portable/GCC/STR75x/portmacro.h +++ b/Source/portable/GCC/STR75x/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/ARM_CM3/port.c b/Source/portable/IAR/ARM_CM3/port.c index af3f1f976..09282e16b 100644 --- a/Source/portable/IAR/ARM_CM3/port.c +++ b/Source/portable/IAR/ARM_CM3/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -19,13 +19,13 @@ A special exception to the GPL can be applied should you wish to distribute a combined work that includes FreeRTOS.org, without being obliged to provide - the source code for any proprietary components. See the licensing section + the source code for any proprietary components. See the licensing section of http://www.FreeRTOS.org for full details of how and when the exception can be applied. *************************************************************************** - See http://www.FreeRTOS.org for documentation, latest information, license - and contact details. Please ensure to read the configuration and relevant + See http://www.FreeRTOS.org for documentation, latest information, license + and contact details. Please ensure to read the configuration and relevant port sections of the online documentation. Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along @@ -33,6 +33,12 @@ *************************************************************************** */ +/* + Change from V4.2.1: + + + Introduced usage of configKERNEL_INTERRUPT_PRIORITY macro to set the + interrupt priority used by the kernel. +*/ /*----------------------------------------------------------- * Implementation of functions defined in portable.h for the ARM CM3 port. @@ -52,18 +58,24 @@ #define portNVIC_SYSTICK_INT 0x00000002 #define portNVIC_SYSTICK_ENABLE 0x00000001 #define portNVIC_PENDSVSET 0x10000000 -#define portNVIC_PENDSV_PRI 0x00ff0000 -#define portNVIC_SVCALL_PRI 0xff000000 -#define portNVIC_SYSTICK_PRI 0xff000000 +#define portNVIC_PENDSV_PRI ( ( ( unsigned portLONG ) configKERNEL_INTERRUPT_PRIORITY ) << 16 ) +#define portNVIC_SYSTICK_PRI ( ( ( unsigned portLONG ) configKERNEL_INTERRUPT_PRIORITY ) << 24 ) /* Constants required to set up the initial stack. */ #define portINITIAL_XPSR ( 0x01000000 ) +/* For backward compatibility, ensure configKERNEL_INTERRUPT_PRIORITY is +defined. The value zero should also ensure backward compatibility. +FreeRTOS.org versions prior to V4.3.0 did not include this definition. */ +#ifndef configKERNEL_INTERRUPT_PRIORITY + #define configKERNEL_INTERRUPT_PRIORITY 255 +#endif + /* Each task maintains its own interrupt status in the critical nesting variable. */ unsigned portBASE_TYPE uxCriticalNesting = 0xaaaaaaaa; -/* +/* * Setup the timer to generate the tick interrupts. */ static void prvSetupTimerInterrupt( void ); @@ -76,8 +88,8 @@ extern void vSetPSP( unsigned long ulValue ); /*-----------------------------------------------------------*/ -/* - * See header file for description. +/* + * See header file for description. */ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters ) { @@ -97,12 +109,12 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE } /*-----------------------------------------------------------*/ -/* - * See header file for description. +/* + * See header file for description. */ portBASE_TYPE xPortStartScheduler( void ) { - /* Make PendSV, CallSV and SysTick the lowest priority interrupts. */ + /* Make PendSV and SysTick the lowest priority interrupts. */ *(portNVIC_SYSPRI2) |= portNVIC_PENDSV_PRI; *(portNVIC_SYSPRI2) |= portNVIC_SYSTICK_PRI; @@ -169,5 +181,21 @@ void prvSetupTimerInterrupt( void ) *(portNVIC_SYSTICK_LOAD) = configCPU_CLOCK_HZ / configTICK_RATE_HZ; *(portNVIC_SYSTICK_CTRL) = portNVIC_SYSTICK_CLK | portNVIC_SYSTICK_INT | portNVIC_SYSTICK_ENABLE; } +/*-----------------------------------------------------------*/ + +void vPortSwitchContext( void ) +{ + vPortSetInterruptMask(); + vTaskSwitchContext(); + vPortClearInterruptMask(); +} +/*-----------------------------------------------------------*/ + +void vPortIncrementTick( void ) +{ + vPortSetInterruptMask(); + vTaskIncrementTick(); + vPortClearInterruptMask(); +} diff --git a/Source/portable/IAR/ARM_CM3/portasm.s b/Source/portable/IAR/ARM_CM3/portasm.s index 934362af3..fd09c1684 100644 --- a/Source/portable/IAR/ARM_CM3/portasm.s +++ b/Source/portable/IAR/ARM_CM3/portasm.s @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -19,26 +19,42 @@ A special exception to the GPL can be applied should you wish to distribute a combined work that includes FreeRTOS.org, without being obliged to provide - the source code for any proprietary components. See the licensing section + the source code for any proprietary components. See the licensing section of http://www.FreeRTOS.org for full details of how and when the exception can be applied. *************************************************************************** - See http://www.FreeRTOS.org for documentation, latest information, license - and contact details. Please ensure to read the configuration and relevant + See http://www.FreeRTOS.org for documentation, latest information, license + and contact details. Please ensure to read the configuration and relevant port sections of the online documentation. Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along with commercial development and support options. *************************************************************************** */ + +/* + Change from V4.2.1: + + + Introduced usage of configKERNEL_INTERRUPT_PRIORITY macro to set the + interrupt priority used by the kernel. +*/ + #include + +/* For backward compatibility, ensure configKERNEL_INTERRUPT_PRIORITY is +defined. The value zero should also ensure backward compatibility. +FreeRTOS.org versions prior to V4.3.0 did not include this definition. */ +#ifndef configKERNEL_INTERRUPT_PRIORITY + #define configKERNEL_INTERRUPT_PRIORITY 0 +#endif + RSEG ICODE:CODE EXTERN vPortYieldFromISR - EXTERN vTaskSwitchContext - EXTERN vTaskIncrementTick + EXTERN vPortSwitchContext + EXTERN vPortIncrementTick EXTERN uxCriticalNesting EXTERN pxCurrentTCB @@ -46,16 +62,20 @@ PUBLIC vSetMSP PUBLIC xPortPendSVHandler PUBLIC xPortSysTickHandler + PUBLIC vPortSetInterruptMask + PUBLIC vPortClearInterruptMask vSetPSP: msr psp, r0 bx lr + /*-----------------------------------------------------------*/ vSetMSP msr msp, r0 bx lr + /*-----------------------------------------------------------*/ xPortPendSVHandler: @@ -73,11 +93,9 @@ xPortPendSVHandler: ldr r1, [r1] str r0, [r1] no_save: - ldr r0, =vTaskSwitchContext + ldr r0, =vPortSwitchContext push {r14} - cpsid i blx r0 - cpsie i pop {r14} /* Restore the context. */ @@ -96,37 +114,61 @@ no_save: bx r14 sv_disable_interrupts: - cpsid i + mov r1, #configKERNEL_INTERRUPT_PRIORITY + msr basepri, R1 + bx r14 /*-----------------------------------------------------------*/ xPortSysTickHandler: /* Call the scheduler tick function. */ - ldr r0, =vTaskIncrementTick + ldr r0, =vPortIncrementTick push {r14} - cpsid i blx r0 - cpsie i - pop {r14} + pop {r14} /* If using preemption, also force a context switch. */ #if configUSE_PREEMPTION == 1 push {r14} ldr r0, =vPortYieldFromISR blx r0 - pop {r14} + pop {r14} #endif /* Exit with interrupts in the correct state. */ ldr r2, =uxCriticalNesting ldr r2, [r2] cbnz r2, tick_disable_interrupts - bx r14 + bx r14 tick_disable_interrupts: - cpsid i + mov r1, #configKERNEL_INTERRUPT_PRIORITY + msr basepri, R1 + bx r14 - END /*-----------------------------------------------------------*/ + +vPortSetInterruptMask: + push { r0 } + mov R0, #configKERNEL_INTERRUPT_PRIORITY + msr BASEPRI, R0 + pop { R0 } + + bx r14 + +/*-----------------------------------------------------------*/ + +vPortClearInterruptMask: + PUSH { r0 } + MOV R0, #0 + MSR BASEPRI, R0 + POP { R0 } + + bx r14 + +/*-----------------------------------------------------------*/ + + END + \ No newline at end of file diff --git a/Source/portable/IAR/ARM_CM3/portmacro.h b/Source/portable/IAR/ARM_CM3/portmacro.h index 62528c1a7..12094d2cc 100644 --- a/Source/portable/IAR/ARM_CM3/portmacro.h +++ b/Source/portable/IAR/ARM_CM3/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -19,13 +19,13 @@ A special exception to the GPL can be applied should you wish to distribute a combined work that includes FreeRTOS.org, without being obliged to provide - the source code for any proprietary components. See the licensing section + the source code for any proprietary components. See the licensing section of http://www.FreeRTOS.org for full details of how and when the exception can be applied. *************************************************************************** - See http://www.FreeRTOS.org for documentation, latest information, license - and contact details. Please ensure to read the configuration and relevant + See http://www.FreeRTOS.org for documentation, latest information, license + and contact details. Please ensure to read the configuration and relevant port sections of the online documentation. Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along @@ -33,12 +33,19 @@ *************************************************************************** */ +/* + Change from V4.2.1: + + + Introduced usage of configKERNEL_INTERRUPT_PRIORITY macro to set the + interrupt priority used by the kernel. +*/ + #ifndef PORTMACRO_H #define PORTMACRO_H /*----------------------------------------------------------- - * Port specific definitions. + * Port specific definitions. * * The settings in this file configure FreeRTOS correctly for the * given hardware and compiler. @@ -86,9 +93,11 @@ extern void vPortYieldFromISR( void ); extern void vPortEnableInterrupts( void ); extern void vPortEnterCritical( void ); extern void vPortExitCritical( void ); +extern void vPortSetInterruptMask( void ); +extern void vPortClearInterruptMask( void ); -#define portDISABLE_INTERRUPTS() __asm ( "cpsid i" ) -#define portENABLE_INTERRUPTS() __asm ( "cpsie i" ) +#define portDISABLE_INTERRUPTS() vPortSetInterruptMask(); +#define portENABLE_INTERRUPTS() vPortClearInterruptMask(); #define portENTER_CRITICAL() vPortEnterCritical() #define portEXIT_CRITICAL() vPortExitCritical() /*-----------------------------------------------------------*/ @@ -100,5 +109,6 @@ extern void vPortExitCritical( void ); #define inline #define portNOP() + #endif /* PORTMACRO_H */ diff --git a/Source/portable/IAR/ATMega323/port.c b/Source/portable/IAR/ATMega323/port.c index a9fef9aed..f342a24d3 100644 --- a/Source/portable/IAR/ATMega323/port.c +++ b/Source/portable/IAR/ATMega323/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/ATMega323/portmacro.h b/Source/portable/IAR/ATMega323/portmacro.h index a4820d2d2..6c4795de8 100644 --- a/Source/portable/IAR/ATMega323/portmacro.h +++ b/Source/portable/IAR/ATMega323/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/ATMega323/portmacro.s90 b/Source/portable/IAR/ATMega323/portmacro.s90 index 6d65b32c6..7ca50f4f4 100644 --- a/Source/portable/IAR/ATMega323/portmacro.s90 +++ b/Source/portable/IAR/ATMega323/portmacro.s90 @@ -1,4 +1,4 @@ -; FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. +; FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. ; ; This file is part of the FreeRTOS.org distribution. ; diff --git a/Source/portable/IAR/AVR32_UC3/port.c b/Source/portable/IAR/AVR32_UC3/port.c index c14992cef..62afa5834 100644 --- a/Source/portable/IAR/AVR32_UC3/port.c +++ b/Source/portable/IAR/AVR32_UC3/port.c @@ -13,7 +13,7 @@ *****************************************************************************/ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/AVR32_UC3/portmacro.h b/Source/portable/IAR/AVR32_UC3/portmacro.h index 0dce9adb6..9fb09f207 100644 --- a/Source/portable/IAR/AVR32_UC3/portmacro.h +++ b/Source/portable/IAR/AVR32_UC3/portmacro.h @@ -13,7 +13,7 @@ *****************************************************************************/ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/AtmelSAM7S64/port.c b/Source/portable/IAR/AtmelSAM7S64/port.c index 8f7446516..0f10f57a3 100644 --- a/Source/portable/IAR/AtmelSAM7S64/port.c +++ b/Source/portable/IAR/AtmelSAM7S64/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/AtmelSAM7S64/portmacro.h b/Source/portable/IAR/AtmelSAM7S64/portmacro.h index 766fd13b2..8ce4d7a06 100644 --- a/Source/portable/IAR/AtmelSAM7S64/portmacro.h +++ b/Source/portable/IAR/AtmelSAM7S64/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/LPC2000/port.c b/Source/portable/IAR/LPC2000/port.c index b876e121b..518882f50 100644 --- a/Source/portable/IAR/LPC2000/port.c +++ b/Source/portable/IAR/LPC2000/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/LPC2000/portmacro.h b/Source/portable/IAR/LPC2000/portmacro.h index 766fd13b2..8ce4d7a06 100644 --- a/Source/portable/IAR/LPC2000/portmacro.h +++ b/Source/portable/IAR/LPC2000/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/STR71x/port.c b/Source/portable/IAR/STR71x/port.c index ee0ba5d47..107e5d348 100644 --- a/Source/portable/IAR/STR71x/port.c +++ b/Source/portable/IAR/STR71x/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/STR71x/portmacro.h b/Source/portable/IAR/STR71x/portmacro.h index e59869a76..059ed5305 100644 --- a/Source/portable/IAR/STR71x/portmacro.h +++ b/Source/portable/IAR/STR71x/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/STR75x/ISR_Support.h b/Source/portable/IAR/STR75x/ISR_Support.h index 816c4e27f..09e3fb2dc 100644 --- a/Source/portable/IAR/STR75x/ISR_Support.h +++ b/Source/portable/IAR/STR75x/ISR_Support.h @@ -1,4 +1,4 @@ -; FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. +; FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. ; ; This file is part of the FreeRTOS.org distribution. ; diff --git a/Source/portable/IAR/STR75x/port.c b/Source/portable/IAR/STR75x/port.c index 4e4ea3836..a19b63d2b 100644 --- a/Source/portable/IAR/STR75x/port.c +++ b/Source/portable/IAR/STR75x/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/STR75x/portasm.s79 b/Source/portable/IAR/STR75x/portasm.s79 index beda0566e..190232e13 100644 --- a/Source/portable/IAR/STR75x/portasm.s79 +++ b/Source/portable/IAR/STR75x/portasm.s79 @@ -1,4 +1,4 @@ -; FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. +; FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. ; ; This file is part of the FreeRTOS.org distribution. ; diff --git a/Source/portable/IAR/STR75x/portmacro.h b/Source/portable/IAR/STR75x/portmacro.h index 9a6ea1fdc..791521163 100644 --- a/Source/portable/IAR/STR75x/portmacro.h +++ b/Source/portable/IAR/STR75x/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/IAR/STR91x/ISR_Support.h b/Source/portable/IAR/STR91x/ISR_Support.h index 04cf47826..f854ce9ab 100644 --- a/Source/portable/IAR/STR91x/ISR_Support.h +++ b/Source/portable/IAR/STR91x/ISR_Support.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS distribution. diff --git a/Source/portable/IAR/STR91x/port.c b/Source/portable/IAR/STR91x/port.c index ed5d2802d..2b9363735 100644 --- a/Source/portable/IAR/STR91x/port.c +++ b/Source/portable/IAR/STR91x/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS distribution. diff --git a/Source/portable/IAR/STR91x/portasm.s79 b/Source/portable/IAR/STR91x/portasm.s79 index ec7406a20..1b8bfb8dc 100644 --- a/Source/portable/IAR/STR91x/portasm.s79 +++ b/Source/portable/IAR/STR91x/portasm.s79 @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS distribution. diff --git a/Source/portable/IAR/STR91x/portmacro.h b/Source/portable/IAR/STR91x/portmacro.h index 9c3bcef66..13191c7a0 100644 --- a/Source/portable/IAR/STR91x/portmacro.h +++ b/Source/portable/IAR/STR91x/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS distribution. diff --git a/Source/portable/Keil/ARM7/port.c b/Source/portable/Keil/ARM7/port.c index dc3e5d88c..996342731 100644 --- a/Source/portable/Keil/ARM7/port.c +++ b/Source/portable/Keil/ARM7/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Keil/ARM7/portISR.c b/Source/portable/Keil/ARM7/portISR.c index 357240cec..012e17c58 100644 --- a/Source/portable/Keil/ARM7/portISR.c +++ b/Source/portable/Keil/ARM7/portISR.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Keil/ARM7/portmacro.h b/Source/portable/Keil/ARM7/portmacro.h index 293ae73ef..c8134c904 100644 --- a/Source/portable/Keil/ARM7/portmacro.h +++ b/Source/portable/Keil/ARM7/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/MPLAB/PIC18F/port.c b/Source/portable/MPLAB/PIC18F/port.c index 8d70f5f8f..38040b538 100644 --- a/Source/portable/MPLAB/PIC18F/port.c +++ b/Source/portable/MPLAB/PIC18F/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -573,7 +573,7 @@ static void prvTickISR( void ) save the context with interrupts enabled. */ portSAVE_CONTEXT( portGLOBAL_INTERRUPT_FLAG ); PIR1bits.CCP1IF = 0; - + /* Maintain the tick count. */ vTaskIncrementTick(); diff --git a/Source/portable/MPLAB/PIC18F/portmacro.h b/Source/portable/MPLAB/PIC18F/portmacro.h index dbf553f7b..f899d2696 100644 --- a/Source/portable/MPLAB/PIC18F/portmacro.h +++ b/Source/portable/MPLAB/PIC18F/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/MPLAB/PIC24_dsPIC/port.c b/Source/portable/MPLAB/PIC24_dsPIC/port.c index 2713702ca..e8143376f 100644 --- a/Source/portable/MPLAB/PIC24_dsPIC/port.c +++ b/Source/portable/MPLAB/PIC24_dsPIC/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -33,6 +33,12 @@ *************************************************************************** */ +/* + Changes from V4.2.1 + + + Introduced the configKERNEL_INTERRUPT_PRIORITY definition. +*/ + /*----------------------------------------------------------- * Implementation of functions defined in portable.h for the PIC24 port. *----------------------------------------------------------*/ @@ -46,12 +52,22 @@ #define portTIMER_PRESCALE 8 #define portINITIAL_SR 0 +/* Defined for backward compatability with project created prior to +FreeRTOS.org V4.3.0. */ +#ifndef configKERNEL_INTERRUPT_PRIORITY + #define configKERNEL_INTERRUPT_PRIORITY 1 +#endif + /* The program counter is only 23 bits. */ #define portUNUSED_PR_BITS 0x7f /* Records the nesting depth of calls to portENTER_CRITICAL(). */ unsigned portBASE_TYPE uxCriticalNesting = 0xef; +#if configKERNEL_INTERRUPT_PRIORITY != 1 + #error If configKERNEL_INTERRUPT_PRIORITY is not 1 then the #32 in the following macros needs changing to equal the portINTERRUPT_BITS value, which is ( configKERNEL_INTERRUPT_PRIORITY << 5 ) +#endif + #ifdef MPLAB_PIC24_PORT #define portRESTORE_CONTEXT() \ @@ -77,7 +93,7 @@ unsigned portBASE_TYPE uxCriticalNesting = 0xef; #define portSAVE_CONTEXT() \ asm volatile( "PUSH SR \n" /* Save the SR used by the task.... */ \ "PUSH W0 \n" /* ....then disable interrupts. */ \ - "MOV #224, W0 \n" \ + "MOV #32, W0 \n" \ "MOV W0, SR \n" \ "PUSH W1 \n" /* Save registers to the stack. */ \ "PUSH.D W2 \n" \ @@ -134,7 +150,7 @@ unsigned portBASE_TYPE uxCriticalNesting = 0xef; #define portSAVE_CONTEXT() \ asm volatile( "PUSH SR \n" /* Save the SR used by the task.... */ \ "PUSH W0 \n" /* ....then disable interrupts. */ \ - "MOV #224, W0 \n" \ + "MOV #32, W0 \n" \ "MOV W0, SR \n" \ "PUSH W1 \n" /* Save registers to the stack. */ \ "PUSH.D W2 \n" \ @@ -305,7 +321,7 @@ const unsigned portLONG ulCompareMatch = ( configCPU_CLOCK_HZ / portTIMER_PRESCA PR1 = ( unsigned portSHORT ) ulCompareMatch; /* Setup timer 1 interrupt priority. */ - IPC0bits.T1IP = portKERNEL_INTERRUPT_PRIORITY; + IPC0bits.T1IP = configKERNEL_INTERRUPT_PRIORITY; /* Clear the interrupt as a starting condition. */ IFS0bits.T1IF = 0; @@ -339,7 +355,7 @@ void vPortExitCritical( void ) } /*-----------------------------------------------------------*/ -void __attribute__((__interrupt__)) _T1Interrupt( void ) +void __attribute__((__interrupt__, auto_psv)) _T1Interrupt( void ) { vTaskIncrementTick(); diff --git a/Source/portable/MPLAB/PIC24_dsPIC/portmacro.h b/Source/portable/MPLAB/PIC24_dsPIC/portmacro.h index 50cfa8532..dae0645b1 100644 --- a/Source/portable/MPLAB/PIC24_dsPIC/portmacro.h +++ b/Source/portable/MPLAB/PIC24_dsPIC/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -68,12 +68,12 @@ #define portBYTE_ALIGNMENT 2 #define portSTACK_GROWTH 1 #define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ ) -#define portKERNEL_INTERRUPT_PRIORITY 0x01 /*-----------------------------------------------------------*/ /* Critical section management. */ -#define portINTERRUPT_BITS ( 0x00e0 ) -#define portDISABLE_INTERRUPTS() SR |= portINTERRUPT_BITS +#define portINTERRUPT_BITS ( ( unsigned portSHORT ) configKERNEL_INTERRUPT_PRIORITY << ( unsigned portSHORT ) 5 ) + +#define portDISABLE_INTERRUPTS() SR |= portINTERRUPT_BITS #define portENABLE_INTERRUPTS() SR &= ~portINTERRUPT_BITS /* Note that exiting a critical sectino will set the IPL bits to 0, nomatter diff --git a/Source/portable/MemMang/heap_1.c b/Source/portable/MemMang/heap_1.c index 6164e89b0..199be6c05 100644 --- a/Source/portable/MemMang/heap_1.c +++ b/Source/portable/MemMang/heap_1.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/MemMang/heap_2.c b/Source/portable/MemMang/heap_2.c index 3d7a1fa5f..308be7aab 100644 --- a/Source/portable/MemMang/heap_2.c +++ b/Source/portable/MemMang/heap_2.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/MemMang/heap_3.c b/Source/portable/MemMang/heap_3.c index e51134bb8..1f73848aa 100644 --- a/Source/portable/MemMang/heap_3.c +++ b/Source/portable/MemMang/heap_3.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Paradigm/Tern_EE/large_untested/port.c b/Source/portable/Paradigm/Tern_EE/large_untested/port.c index f978c3e27..ea1e46cc4 100644 --- a/Source/portable/Paradigm/Tern_EE/large_untested/port.c +++ b/Source/portable/Paradigm/Tern_EE/large_untested/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Paradigm/Tern_EE/large_untested/portasm.h b/Source/portable/Paradigm/Tern_EE/large_untested/portasm.h index 5aec18bc9..2aa875c8e 100644 --- a/Source/portable/Paradigm/Tern_EE/large_untested/portasm.h +++ b/Source/portable/Paradigm/Tern_EE/large_untested/portasm.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Paradigm/Tern_EE/large_untested/portmacro.h b/Source/portable/Paradigm/Tern_EE/large_untested/portmacro.h index 28884ba90..dcfdd2b99 100644 --- a/Source/portable/Paradigm/Tern_EE/large_untested/portmacro.h +++ b/Source/portable/Paradigm/Tern_EE/large_untested/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Paradigm/Tern_EE/small/port.c b/Source/portable/Paradigm/Tern_EE/small/port.c index 596834231..dad30ea0f 100644 --- a/Source/portable/Paradigm/Tern_EE/small/port.c +++ b/Source/portable/Paradigm/Tern_EE/small/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Paradigm/Tern_EE/small/portasm.h b/Source/portable/Paradigm/Tern_EE/small/portasm.h index c0594fdd9..105945472 100644 --- a/Source/portable/Paradigm/Tern_EE/small/portasm.h +++ b/Source/portable/Paradigm/Tern_EE/small/portasm.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Paradigm/Tern_EE/small/portmacro.h b/Source/portable/Paradigm/Tern_EE/small/portmacro.h index 8124c8719..895ed6510 100644 --- a/Source/portable/Paradigm/Tern_EE/small/portmacro.h +++ b/Source/portable/Paradigm/Tern_EE/small/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/RVDS/ARM_CM3/port.c b/Source/portable/RVDS/ARM_CM3/port.c index 72e376772..a2e6263db 100644 --- a/Source/portable/RVDS/ARM_CM3/port.c +++ b/Source/portable/RVDS/ARM_CM3/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/RVDS/ARM_CM3/portmacro.h b/Source/portable/RVDS/ARM_CM3/portmacro.h index f4a1d54b9..bbe3e7451 100644 --- a/Source/portable/RVDS/ARM_CM3/portmacro.h +++ b/Source/portable/RVDS/ARM_CM3/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Rowley/MSP430F449/Port1/port.c b/Source/portable/Rowley/MSP430F449/Port1/port.c index 1caee04da..e2d1dc7c1 100644 --- a/Source/portable/Rowley/MSP430F449/Port1/port.c +++ b/Source/portable/Rowley/MSP430F449/Port1/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Rowley/MSP430F449/Port1/portmacro.h b/Source/portable/Rowley/MSP430F449/Port1/portmacro.h index ac13a566a..0cf170c82 100644 --- a/Source/portable/Rowley/MSP430F449/Port1/portmacro.h +++ b/Source/portable/Rowley/MSP430F449/Port1/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Rowley/MSP430F449/Port2/port.c b/Source/portable/Rowley/MSP430F449/Port2/port.c index 362af2d24..d7e4c8e8d 100644 --- a/Source/portable/Rowley/MSP430F449/Port2/port.c +++ b/Source/portable/Rowley/MSP430F449/Port2/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Rowley/MSP430F449/Port2/portmacro.h b/Source/portable/Rowley/MSP430F449/Port2/portmacro.h index ada2f1a20..a07b91903 100644 --- a/Source/portable/Rowley/MSP430F449/Port2/portmacro.h +++ b/Source/portable/Rowley/MSP430F449/Port2/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Rowley/MSP430F449/port.c b/Source/portable/Rowley/MSP430F449/port.c index 1caee04da..e2d1dc7c1 100644 --- a/Source/portable/Rowley/MSP430F449/port.c +++ b/Source/portable/Rowley/MSP430F449/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/Rowley/MSP430F449/portmacro.h b/Source/portable/Rowley/MSP430F449/portmacro.h index 9784f1ec4..6646f6566 100644 --- a/Source/portable/Rowley/MSP430F449/portmacro.h +++ b/Source/portable/Rowley/MSP430F449/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/SDCC/Cygnal/port.c b/Source/portable/SDCC/Cygnal/port.c index 85fa7c983..e9d8cc0a2 100644 --- a/Source/portable/SDCC/Cygnal/port.c +++ b/Source/portable/SDCC/Cygnal/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/SDCC/Cygnal/portmacro.h b/Source/portable/SDCC/Cygnal/portmacro.h index 380796c0b..54141dc05 100644 --- a/Source/portable/SDCC/Cygnal/portmacro.h +++ b/Source/portable/SDCC/Cygnal/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/WizC/PIC18/Drivers/Tick/Tick.c b/Source/portable/WizC/PIC18/Drivers/Tick/Tick.c index 539414491..32fa13da4 100644 --- a/Source/portable/WizC/PIC18/Drivers/Tick/Tick.c +++ b/Source/portable/WizC/PIC18/Drivers/Tick/Tick.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/WizC/PIC18/Drivers/Tick/isrTick.c b/Source/portable/WizC/PIC18/Drivers/Tick/isrTick.c index af2f0224b..291131ab1 100644 --- a/Source/portable/WizC/PIC18/Drivers/Tick/isrTick.c +++ b/Source/portable/WizC/PIC18/Drivers/Tick/isrTick.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/WizC/PIC18/addFreeRTOS.h b/Source/portable/WizC/PIC18/addFreeRTOS.h index 0150cfce8..0f8d6fe18 100644 --- a/Source/portable/WizC/PIC18/addFreeRTOS.h +++ b/Source/portable/WizC/PIC18/addFreeRTOS.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/WizC/PIC18/port.c b/Source/portable/WizC/PIC18/port.c index 9c82529aa..508934a2f 100644 --- a/Source/portable/WizC/PIC18/port.c +++ b/Source/portable/WizC/PIC18/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -34,10 +34,6 @@ */ /* -Changes from V4.2.1 - + CallReturn Depth increased from 10 to 12 levels to accomodate wizC/fedC V14. - +CodeOptions added to disable the wizC/fedC optimiser within asm - Changes from V3.2.1 + CallReturn Depth increased from 8 to 10 levels to accomodate wizC/fedC V12. @@ -96,7 +92,7 @@ extern volatile tskTCB * volatile pxCurrentTCB; #define portSTACK_CALLRETURN_ENTRY_SIZE ( 2 ) #endif -#define portSTACK_MINIMAL_CALLRETURN_DEPTH ( 12 ) +#define portSTACK_MINIMAL_CALLRETURN_DEPTH ( 10 ) #define portSTACK_OTHER_BYTES ( 20 ) unsigned portSHORT usCalcMinStackSize = 0; @@ -125,10 +121,8 @@ unsigned portCHAR ucScratch; * We do this here already to avoid W-register conflicts. */ _Pragma("asm") - dupmodoff movlw OVERHEADPAGE0-LOCOPTSIZE+MAXLOCOPTSIZE movwf PRODL,ACCESS ; PRODL is used as temp register - dupmodon _Pragma("asmend") ucScratch = PRODL; @@ -220,11 +214,9 @@ unsigned portSHORT usPortCALCULATE_MINIMAL_STACK_SIZE( void ) * Fetch the size of compiler's scratchspace. */ _Pragma("asm") - dupmodoff movlw OVERHEADPAGE0-LOCOPTSIZE+MAXLOCOPTSIZE movlb usCalcMinStackSize>>8 movwf usCalcMinStackSize,BANKED - dupmodon _Pragma("asmend") /* diff --git a/Source/portable/WizC/PIC18/portmacro.h b/Source/portable/WizC/PIC18/portmacro.h index 04953224e..a669cec60 100644 --- a/Source/portable/WizC/PIC18/portmacro.h +++ b/Source/portable/WizC/PIC18/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. @@ -209,7 +209,6 @@ extern unsigned portSHORT usCalcMinStackSize; portDISABLE_INTERRUPTS(); \ \ _Pragma("asm") \ - dupmodoff \ ; \ ; Push the relevant SFR's onto the task's stack \ ; \ @@ -283,7 +282,6 @@ extern unsigned portSHORT usCalcMinStackSize; movff pxCurrentTCB+1,FSR0H \ movff FSR2L,POSTINC0 \ movff FSR2H,POSTINC0 \ - dupmodon \ _Pragma("asmend") \ } while(0) @@ -296,7 +294,6 @@ extern unsigned portSHORT usCalcMinStackSize; do \ { \ _Pragma("asm") \ - dupmodoff \ ; \ ; Set FSR0 to point to pxCurrentTCB->pxTopOfStack. \ ; \ @@ -396,7 +393,6 @@ extern unsigned portSHORT usCalcMinStackSize; movff PREINC2,WREG \ movff PREINC2,STATUS \ return 0 ; Return without affecting interrupts \ - dupmodon \ _Pragma("asmend") \ } while(0) @@ -410,9 +406,7 @@ extern void vPortYield( void ); #define portYIELD() vPortYield() #define portNOP() _Pragma("asm") \ - dupmodoff \ nop \ - dupmodon \ _Pragma("asmend") /*-----------------------------------------------------------*/ diff --git a/Source/portable/oWatcom/16BitDOS/Flsh186/port.c b/Source/portable/oWatcom/16BitDOS/Flsh186/port.c index edf545af9..1348707cd 100644 --- a/Source/portable/oWatcom/16BitDOS/Flsh186/port.c +++ b/Source/portable/oWatcom/16BitDOS/Flsh186/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/oWatcom/16BitDOS/Flsh186/portmacro.h b/Source/portable/oWatcom/16BitDOS/Flsh186/portmacro.h index 4bdfaf996..8c0ab321a 100644 --- a/Source/portable/oWatcom/16BitDOS/Flsh186/portmacro.h +++ b/Source/portable/oWatcom/16BitDOS/Flsh186/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/oWatcom/16BitDOS/PC/port.c b/Source/portable/oWatcom/16BitDOS/PC/port.c index 0109ef099..4fc8b1cba 100644 --- a/Source/portable/oWatcom/16BitDOS/PC/port.c +++ b/Source/portable/oWatcom/16BitDOS/PC/port.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/oWatcom/16BitDOS/PC/portmacro.h b/Source/portable/oWatcom/16BitDOS/PC/portmacro.h index b2910cf93..f10cb2bb8 100644 --- a/Source/portable/oWatcom/16BitDOS/PC/portmacro.h +++ b/Source/portable/oWatcom/16BitDOS/PC/portmacro.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/oWatcom/16BitDOS/common/portasm.h b/Source/portable/oWatcom/16BitDOS/common/portasm.h index 1b54685b0..e1544594a 100644 --- a/Source/portable/oWatcom/16BitDOS/common/portasm.h +++ b/Source/portable/oWatcom/16BitDOS/common/portasm.h @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/portable/oWatcom/16BitDOS/common/portcomn.c b/Source/portable/oWatcom/16BitDOS/common/portcomn.c index 58cc03e88..ce726547b 100644 --- a/Source/portable/oWatcom/16BitDOS/common/portcomn.c +++ b/Source/portable/oWatcom/16BitDOS/common/portcomn.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/queue.c b/Source/queue.c index 4499d4930..83eccfd9c 100644 --- a/Source/queue.c +++ b/Source/queue.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. diff --git a/Source/tasks.c b/Source/tasks.c index 0feecf762..23c9271cb 100644 --- a/Source/tasks.c +++ b/Source/tasks.c @@ -1,5 +1,5 @@ /* - FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry. + FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. -- 2.39.2