]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/IAR/STR71x/ISR_Support.h
Update to MIT licensed FreeRTOS V10.0.0 - see https://www.freertos.org/History.txt
[freertos] / FreeRTOS / Source / portable / IAR / STR71x / ISR_Support.h
index bb5953ab23766875768ac5e5089dbf93322b9b59..d4ac5bfe0f5b72adf2640989d89ea2795a23f02f 100644 (file)
@@ -1,56 +1,31 @@
 ;/*\r
-;    FreeRTOS V9.0.1 - Copyright (C) 2017 Real Time Engineers Ltd.\r
-;    All rights reserved\r
-;\r
-;\r
-;    ***************************************************************************\r
-;     *                                                                       *\r
-;     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-;     *    Complete, revised, and edited pdf reference manuals are also       *\r
-;     *    available.                                                         *\r
-;     *                                                                       *\r
-;     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-;     *    ensuring you get running as quickly as possible and with an        *\r
-;     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-;     *    the FreeRTOS project to continue with its mission of providing     *\r
-;     *    professional grade, cross platform, de facto standard solutions    *\r
-;     *    for microcontrollers - completely free of charge!                  *\r
-;     *                                                                       *\r
-;     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-;     *                                                                       *\r
-;     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-;     *                                                                       *\r
-;    ***************************************************************************\r
-;\r
-;\r
-;    This file is part of the FreeRTOS distribution.\r
-;\r
-;    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-;    the terms of the GNU General Public License (version 2) as published by the\r
-;    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
-;    >>>NOTE<<< The modification to the GPL is included to allow you to\r
-;    distribute a combined work that includes FreeRTOS without being obliged to\r
-;    provide the source code for proprietary components outside of the FreeRTOS\r
-;    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-;    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-;    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
-;    more details. You should have received a copy of the GNU General Public\r
-;    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
-;    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
-;    by writing to Richard Barry, contact details for whom are available on the\r
-;    FreeRTOS WEB site.\r
-;\r
-;    1 tab == 4 spaces!\r
-;\r
-;    http://www.FreeRTOS.org - Documentation, latest information, license and\r
-;    contact details.\r
-;\r
-;    http://www.SafeRTOS.com - A version that is certified for use in safety\r
-;    critical systems.\r
-;\r
-;    http://www.OpenRTOS.com - Commercial support, development, porting,\r
-;    licensing and training services.\r
-;*/\r
+; * FreeRTOS Kernel V10.0.0\r
+; * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+; *\r
+; * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
+; * this software and associated documentation files (the "Software"), to deal in\r
+; * the Software without restriction, including without limitation the rights to\r
+; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
+; * the Software, and to permit persons to whom the Software is furnished to do so,\r
+; * subject to the following conditions:\r
+; *\r
+; * The above copyright notice and this permission notice shall be included in all\r
+; * copies or substantial portions of the Software. If you wish to use our Amazon\r
+; * FreeRTOS name, please do so in a fair use way that does not cause confusion.\r
+; *\r
+; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
+; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
+; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
+; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+; *\r
+; * http://www.FreeRTOS.org\r
+; * http://aws.amazon.com/freertos\r
+; *\r
+; * 1 tab == 4 spaces!\r
+; */\r
+\r
        EXTERN pxCurrentTCB\r
        EXTERN ulCriticalNesting\r
 \r
 \r
 portSAVE_CONTEXT MACRO\r
 \r
-       ; Push R0 as we are going to use the register.                                  \r
+       ; Push R0 as we are going to use the register.\r
        STMDB   SP!, {R0}\r
 \r
-       ; Set R0 to point to the task stack pointer.                                    \r
+       ; Set R0 to point to the task stack pointer.\r
        STMDB   SP, {SP}^\r
        NOP\r
        SUB             SP, SP, #4\r
        LDMIA   SP!, {R0}\r
 \r
-       ; Push the return address onto the stack.                                               \r
+       ; Push the return address onto the stack.\r
        STMDB   R0!, {LR}\r
 \r
-       ; Now we have saved LR we can use it instead of R0.                             \r
+       ; Now we have saved LR we can use it instead of R0.\r
        MOV             LR, R0\r
 \r
-       ; Pop R0 so we can save it onto the system mode stack.                  \r
+       ; Pop R0 so we can save it onto the system mode stack.\r
        LDMIA   SP!, {R0}\r
 \r
-       ; Push all the system mode registers onto the task stack.               \r
+       ; Push all the system mode registers onto the task stack.\r
        STMDB   LR, {R0-LR}^\r
        NOP\r
        SUB             LR, LR, #60\r
 \r
-       ; Push the SPSR onto the task stack.                                                    \r
+       ; Push the SPSR onto the task stack.\r
        MRS             R0, SPSR\r
        STMDB   LR!, {R0}\r
 \r
-       LDR             R0, =ulCriticalNesting \r
+       LDR             R0, =ulCriticalNesting\r
        LDR             R0, [R0]\r
        STMDB   LR!, {R0}\r
 \r
-       ; Store the new top of stack for the task.                                              \r
+       ; Store the new top of stack for the task.\r
        LDR             R1, =pxCurrentTCB\r
        LDR             R0, [R1]\r
        STR             LR, [R0]\r
@@ -101,30 +76,30 @@ portSAVE_CONTEXT MACRO
 \r
 portRESTORE_CONTEXT MACRO\r
 \r
-       ; Set the LR to the task stack.                                                                         \r
+       ; Set the LR to the task stack.\r
        LDR             R1, =pxCurrentTCB\r
        LDR             R0, [R1]\r
        LDR             LR, [R0]\r
 \r
-       ; The critical nesting depth is the first item on the stack.    \r
-       ; Load it into the ulCriticalNesting variable.                                  \r
+       ; The critical nesting depth is the first item on the stack.\r
+       ; Load it into the ulCriticalNesting variable.\r
        LDR             R0, =ulCriticalNesting\r
        LDMFD   LR!, {R1}\r
        STR             R1, [R0]\r
 \r
-       ; Get the SPSR from the stack.                                                                  \r
+       ; Get the SPSR from the stack.\r
        LDMFD   LR!, {R0}\r
        MSR             SPSR_cxsf, R0\r
 \r
-       ; Restore all system mode registers for the task.                               \r
+       ; Restore all system mode registers for the task.\r
        LDMFD   LR, {R0-R14}^\r
        NOP\r
 \r
-       ; Restore the return address.                                                                   \r
+       ; Restore the return address.\r
        LDR             LR, [LR, #+60]\r
 \r
-       ; And return - correcting the offset in the LR to obtain the    \r
-       ; correct address.                                                                                              \r
+       ; And return - correcting the offset in the LR to obtain the\r
+       ; correct address.\r
        SUBS    PC, LR, #4\r
 \r
        ENDM\r