Please see my note book http://mbed.org/users/kenjiArai/notebook/freertos-on-mbed-board-with-mbed-cloud-ide--never-/
This is too old.
Below is another FreeRTOS on mbed.
http://developer.mbed.org/users/rgrover1/code/FreeRTOS/
I don't know it works well or not.
I have not evaluated it.
FreeRTOS/Source/include/portable.h@0:d4960fcea8ff, 2011-01-01 (annotated)
- Committer:
- kenjiArai
- Date:
- Sat Jan 01 11:17:45 2011 +0000
- Revision:
- 0:d4960fcea8ff
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kenjiArai | 0:d4960fcea8ff | 1 | /* |
kenjiArai | 0:d4960fcea8ff | 2 | FreeRTOS V6.0.3 - Copyright (C) 2010 Real Time Engineers Ltd. |
kenjiArai | 0:d4960fcea8ff | 3 | |
kenjiArai | 0:d4960fcea8ff | 4 | *************************************************************************** |
kenjiArai | 0:d4960fcea8ff | 5 | * * |
kenjiArai | 0:d4960fcea8ff | 6 | * If you are: * |
kenjiArai | 0:d4960fcea8ff | 7 | * * |
kenjiArai | 0:d4960fcea8ff | 8 | * + New to FreeRTOS, * |
kenjiArai | 0:d4960fcea8ff | 9 | * + Wanting to learn FreeRTOS or multitasking in general quickly * |
kenjiArai | 0:d4960fcea8ff | 10 | * + Looking for basic training, * |
kenjiArai | 0:d4960fcea8ff | 11 | * + Wanting to improve your FreeRTOS skills and productivity * |
kenjiArai | 0:d4960fcea8ff | 12 | * * |
kenjiArai | 0:d4960fcea8ff | 13 | * then take a look at the FreeRTOS eBook * |
kenjiArai | 0:d4960fcea8ff | 14 | * * |
kenjiArai | 0:d4960fcea8ff | 15 | * "Using the FreeRTOS Real Time Kernel - a Practical Guide" * |
kenjiArai | 0:d4960fcea8ff | 16 | * http://www.FreeRTOS.org/Documentation * |
kenjiArai | 0:d4960fcea8ff | 17 | * * |
kenjiArai | 0:d4960fcea8ff | 18 | * A pdf reference manual is also available. Both are usually delivered * |
kenjiArai | 0:d4960fcea8ff | 19 | * to your inbox within 20 minutes to two hours when purchased between 8am * |
kenjiArai | 0:d4960fcea8ff | 20 | * and 8pm GMT (although please allow up to 24 hours in case of * |
kenjiArai | 0:d4960fcea8ff | 21 | * exceptional circumstances). Thank you for your support! * |
kenjiArai | 0:d4960fcea8ff | 22 | * * |
kenjiArai | 0:d4960fcea8ff | 23 | *************************************************************************** |
kenjiArai | 0:d4960fcea8ff | 24 | |
kenjiArai | 0:d4960fcea8ff | 25 | This file is part of the FreeRTOS distribution. |
kenjiArai | 0:d4960fcea8ff | 26 | |
kenjiArai | 0:d4960fcea8ff | 27 | FreeRTOS is free software; you can redistribute it and/or modify it under |
kenjiArai | 0:d4960fcea8ff | 28 | the terms of the GNU General Public License (version 2) as published by the |
kenjiArai | 0:d4960fcea8ff | 29 | Free Software Foundation AND MODIFIED BY the FreeRTOS exception. |
kenjiArai | 0:d4960fcea8ff | 30 | ***NOTE*** The exception to the GPL is included to allow you to distribute |
kenjiArai | 0:d4960fcea8ff | 31 | a combined work that includes FreeRTOS without being obliged to provide the |
kenjiArai | 0:d4960fcea8ff | 32 | source code for proprietary components outside of the FreeRTOS kernel. |
kenjiArai | 0:d4960fcea8ff | 33 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT |
kenjiArai | 0:d4960fcea8ff | 34 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
kenjiArai | 0:d4960fcea8ff | 35 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
kenjiArai | 0:d4960fcea8ff | 36 | more details. You should have received a copy of the GNU General Public |
kenjiArai | 0:d4960fcea8ff | 37 | License and the FreeRTOS license exception along with FreeRTOS; if not it |
kenjiArai | 0:d4960fcea8ff | 38 | can be viewed here: http://www.freertos.org/a00114.html and also obtained |
kenjiArai | 0:d4960fcea8ff | 39 | by writing to Richard Barry, contact details for whom are available on the |
kenjiArai | 0:d4960fcea8ff | 40 | FreeRTOS WEB site. |
kenjiArai | 0:d4960fcea8ff | 41 | |
kenjiArai | 0:d4960fcea8ff | 42 | 1 tab == 4 spaces! |
kenjiArai | 0:d4960fcea8ff | 43 | |
kenjiArai | 0:d4960fcea8ff | 44 | http://www.FreeRTOS.org - Documentation, latest information, license and |
kenjiArai | 0:d4960fcea8ff | 45 | contact details. |
kenjiArai | 0:d4960fcea8ff | 46 | |
kenjiArai | 0:d4960fcea8ff | 47 | http://www.SafeRTOS.com - A version that is certified for use in safety |
kenjiArai | 0:d4960fcea8ff | 48 | critical systems. |
kenjiArai | 0:d4960fcea8ff | 49 | |
kenjiArai | 0:d4960fcea8ff | 50 | http://www.OpenRTOS.com - Commercial support, development, porting, |
kenjiArai | 0:d4960fcea8ff | 51 | licensing and training services. |
kenjiArai | 0:d4960fcea8ff | 52 | */ |
kenjiArai | 0:d4960fcea8ff | 53 | |
kenjiArai | 0:d4960fcea8ff | 54 | /*----------------------------------------------------------- |
kenjiArai | 0:d4960fcea8ff | 55 | * Portable layer API. Each function must be defined for each port. |
kenjiArai | 0:d4960fcea8ff | 56 | *----------------------------------------------------------*/ |
kenjiArai | 0:d4960fcea8ff | 57 | |
kenjiArai | 0:d4960fcea8ff | 58 | #ifndef PORTABLE_H |
kenjiArai | 0:d4960fcea8ff | 59 | #define PORTABLE_H |
kenjiArai | 0:d4960fcea8ff | 60 | |
kenjiArai | 0:d4960fcea8ff | 61 | // Modified by Kenji Arai / JH1PJL, November 3rd,2010 |
kenjiArai | 0:d4960fcea8ff | 62 | #if 0 |
kenjiArai | 0:d4960fcea8ff | 63 | /* Include the macro file relevant to the port being used. */ |
kenjiArai | 0:d4960fcea8ff | 64 | |
kenjiArai | 0:d4960fcea8ff | 65 | #ifdef OPEN_WATCOM_INDUSTRIAL_PC_PORT |
kenjiArai | 0:d4960fcea8ff | 66 | #include "..\..\Source\portable\owatcom\16bitdos\pc\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 67 | typedef void ( __interrupt __far *pxISR )(); |
kenjiArai | 0:d4960fcea8ff | 68 | #endif |
kenjiArai | 0:d4960fcea8ff | 69 | |
kenjiArai | 0:d4960fcea8ff | 70 | #ifdef OPEN_WATCOM_FLASH_LITE_186_PORT |
kenjiArai | 0:d4960fcea8ff | 71 | #include "..\..\Source\portable\owatcom\16bitdos\flsh186\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 72 | typedef void ( __interrupt __far *pxISR )(); |
kenjiArai | 0:d4960fcea8ff | 73 | #endif |
kenjiArai | 0:d4960fcea8ff | 74 | |
kenjiArai | 0:d4960fcea8ff | 75 | #ifdef GCC_MEGA_AVR |
kenjiArai | 0:d4960fcea8ff | 76 | #include "../portable/GCC/ATMega323/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 77 | #endif |
kenjiArai | 0:d4960fcea8ff | 78 | |
kenjiArai | 0:d4960fcea8ff | 79 | #ifdef IAR_MEGA_AVR |
kenjiArai | 0:d4960fcea8ff | 80 | #include "../portable/IAR/ATMega323/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 81 | #endif |
kenjiArai | 0:d4960fcea8ff | 82 | |
kenjiArai | 0:d4960fcea8ff | 83 | #ifdef MPLAB_PIC24_PORT |
kenjiArai | 0:d4960fcea8ff | 84 | #include "..\..\Source\portable\MPLAB\PIC24_dsPIC\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 85 | #endif |
kenjiArai | 0:d4960fcea8ff | 86 | |
kenjiArai | 0:d4960fcea8ff | 87 | #ifdef MPLAB_DSPIC_PORT |
kenjiArai | 0:d4960fcea8ff | 88 | #include "..\..\Source\portable\MPLAB\PIC24_dsPIC\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 89 | #endif |
kenjiArai | 0:d4960fcea8ff | 90 | |
kenjiArai | 0:d4960fcea8ff | 91 | #ifdef MPLAB_PIC18F_PORT |
kenjiArai | 0:d4960fcea8ff | 92 | #include "..\..\Source\portable\MPLAB\PIC18F\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 93 | #endif |
kenjiArai | 0:d4960fcea8ff | 94 | |
kenjiArai | 0:d4960fcea8ff | 95 | #ifdef MPLAB_PIC32MX_PORT |
kenjiArai | 0:d4960fcea8ff | 96 | #include "..\..\Source\portable\MPLAB\PIC32MX\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 97 | #endif |
kenjiArai | 0:d4960fcea8ff | 98 | |
kenjiArai | 0:d4960fcea8ff | 99 | #ifdef _FEDPICC |
kenjiArai | 0:d4960fcea8ff | 100 | #include "libFreeRTOS/Include/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 101 | #endif |
kenjiArai | 0:d4960fcea8ff | 102 | |
kenjiArai | 0:d4960fcea8ff | 103 | #ifdef SDCC_CYGNAL |
kenjiArai | 0:d4960fcea8ff | 104 | #include "../../Source/portable/SDCC/Cygnal/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 105 | #endif |
kenjiArai | 0:d4960fcea8ff | 106 | |
kenjiArai | 0:d4960fcea8ff | 107 | #ifdef GCC_ARM7 |
kenjiArai | 0:d4960fcea8ff | 108 | #include "../../Source/portable/GCC/ARM7_LPC2000/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 109 | #endif |
kenjiArai | 0:d4960fcea8ff | 110 | |
kenjiArai | 0:d4960fcea8ff | 111 | #ifdef GCC_ARM7_ECLIPSE |
kenjiArai | 0:d4960fcea8ff | 112 | #include "portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 113 | #endif |
kenjiArai | 0:d4960fcea8ff | 114 | |
kenjiArai | 0:d4960fcea8ff | 115 | #ifdef ROWLEY_LPC23xx |
kenjiArai | 0:d4960fcea8ff | 116 | #include "../../Source/portable/GCC/ARM7_LPC23xx/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 117 | #endif |
kenjiArai | 0:d4960fcea8ff | 118 | |
kenjiArai | 0:d4960fcea8ff | 119 | #ifdef IAR_MSP430 |
kenjiArai | 0:d4960fcea8ff | 120 | #include "..\..\Source\portable\IAR\MSP430\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 121 | #endif |
kenjiArai | 0:d4960fcea8ff | 122 | |
kenjiArai | 0:d4960fcea8ff | 123 | #ifdef GCC_MSP430 |
kenjiArai | 0:d4960fcea8ff | 124 | #include "../../Source/portable/GCC/MSP430F449/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 125 | #endif |
kenjiArai | 0:d4960fcea8ff | 126 | |
kenjiArai | 0:d4960fcea8ff | 127 | #ifdef ROWLEY_MSP430 |
kenjiArai | 0:d4960fcea8ff | 128 | #include "../../Source/portable/Rowley/MSP430F449/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 129 | #endif |
kenjiArai | 0:d4960fcea8ff | 130 | |
kenjiArai | 0:d4960fcea8ff | 131 | #ifdef ARM7_LPC21xx_KEIL_RVDS |
kenjiArai | 0:d4960fcea8ff | 132 | #include "..\..\Source\portable\RVDS\ARM7_LPC21xx\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 133 | #endif |
kenjiArai | 0:d4960fcea8ff | 134 | |
kenjiArai | 0:d4960fcea8ff | 135 | #ifdef SAM7_GCC |
kenjiArai | 0:d4960fcea8ff | 136 | #include "../../Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 137 | #endif |
kenjiArai | 0:d4960fcea8ff | 138 | |
kenjiArai | 0:d4960fcea8ff | 139 | #ifdef SAM7_IAR |
kenjiArai | 0:d4960fcea8ff | 140 | #include "..\..\Source\portable\IAR\AtmelSAM7S64\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 141 | #endif |
kenjiArai | 0:d4960fcea8ff | 142 | |
kenjiArai | 0:d4960fcea8ff | 143 | #ifdef SAM9XE_IAR |
kenjiArai | 0:d4960fcea8ff | 144 | #include "..\..\Source\portable\IAR\AtmelSAM9XE\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 145 | #endif |
kenjiArai | 0:d4960fcea8ff | 146 | |
kenjiArai | 0:d4960fcea8ff | 147 | #ifdef LPC2000_IAR |
kenjiArai | 0:d4960fcea8ff | 148 | #include "..\..\Source\portable\IAR\LPC2000\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 149 | #endif |
kenjiArai | 0:d4960fcea8ff | 150 | |
kenjiArai | 0:d4960fcea8ff | 151 | #ifdef STR71X_IAR |
kenjiArai | 0:d4960fcea8ff | 152 | #include "..\..\Source\portable\IAR\STR71x\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 153 | #endif |
kenjiArai | 0:d4960fcea8ff | 154 | |
kenjiArai | 0:d4960fcea8ff | 155 | #ifdef STR75X_IAR |
kenjiArai | 0:d4960fcea8ff | 156 | #include "..\..\Source\portable\IAR\STR75x\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 157 | #endif |
kenjiArai | 0:d4960fcea8ff | 158 | |
kenjiArai | 0:d4960fcea8ff | 159 | #ifdef STR75X_GCC |
kenjiArai | 0:d4960fcea8ff | 160 | #include "..\..\Source\portable\GCC\STR75x\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 161 | #endif |
kenjiArai | 0:d4960fcea8ff | 162 | |
kenjiArai | 0:d4960fcea8ff | 163 | #ifdef STR91X_IAR |
kenjiArai | 0:d4960fcea8ff | 164 | #include "..\..\Source\portable\IAR\STR91x\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 165 | #endif |
kenjiArai | 0:d4960fcea8ff | 166 | |
kenjiArai | 0:d4960fcea8ff | 167 | #ifdef GCC_H8S |
kenjiArai | 0:d4960fcea8ff | 168 | #include "../../Source/portable/GCC/H8S2329/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 169 | #endif |
kenjiArai | 0:d4960fcea8ff | 170 | |
kenjiArai | 0:d4960fcea8ff | 171 | #ifdef GCC_AT91FR40008 |
kenjiArai | 0:d4960fcea8ff | 172 | #include "../../Source/portable/GCC/ARM7_AT91FR40008/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 173 | #endif |
kenjiArai | 0:d4960fcea8ff | 174 | |
kenjiArai | 0:d4960fcea8ff | 175 | #ifdef RVDS_ARMCM3_LM3S102 |
kenjiArai | 0:d4960fcea8ff | 176 | #include "../../Source/portable/RVDS/ARM_CM3/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 177 | #endif |
kenjiArai | 0:d4960fcea8ff | 178 | |
kenjiArai | 0:d4960fcea8ff | 179 | #ifdef GCC_ARMCM3_LM3S102 |
kenjiArai | 0:d4960fcea8ff | 180 | #include "../../Source/portable/GCC/ARM_CM3/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 181 | #endif |
kenjiArai | 0:d4960fcea8ff | 182 | |
kenjiArai | 0:d4960fcea8ff | 183 | #ifdef GCC_ARMCM3 |
kenjiArai | 0:d4960fcea8ff | 184 | #include "../../Source/portable/GCC/ARM_CM3/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 185 | #endif |
kenjiArai | 0:d4960fcea8ff | 186 | |
kenjiArai | 0:d4960fcea8ff | 187 | #ifdef IAR_ARM_CM3 |
kenjiArai | 0:d4960fcea8ff | 188 | #include "../../Source/portable/IAR/ARM_CM3/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 189 | #endif |
kenjiArai | 0:d4960fcea8ff | 190 | |
kenjiArai | 0:d4960fcea8ff | 191 | #ifdef IAR_ARMCM3_LM |
kenjiArai | 0:d4960fcea8ff | 192 | #include "../../Source/portable/IAR/ARM_CM3/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 193 | #endif |
kenjiArai | 0:d4960fcea8ff | 194 | |
kenjiArai | 0:d4960fcea8ff | 195 | #ifdef HCS12_CODE_WARRIOR |
kenjiArai | 0:d4960fcea8ff | 196 | #include "../../Source/portable/CodeWarrior/HCS12/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 197 | #endif |
kenjiArai | 0:d4960fcea8ff | 198 | |
kenjiArai | 0:d4960fcea8ff | 199 | #ifdef MICROBLAZE_GCC |
kenjiArai | 0:d4960fcea8ff | 200 | #include "../../Source/portable/GCC/MicroBlaze/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 201 | #endif |
kenjiArai | 0:d4960fcea8ff | 202 | |
kenjiArai | 0:d4960fcea8ff | 203 | #ifdef TERN_EE |
kenjiArai | 0:d4960fcea8ff | 204 | #include "..\..\Source\portable\Paradigm\Tern_EE\small\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 205 | #endif |
kenjiArai | 0:d4960fcea8ff | 206 | |
kenjiArai | 0:d4960fcea8ff | 207 | #ifdef GCC_HCS12 |
kenjiArai | 0:d4960fcea8ff | 208 | #include "../../Source/portable/GCC/HCS12/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 209 | #endif |
kenjiArai | 0:d4960fcea8ff | 210 | |
kenjiArai | 0:d4960fcea8ff | 211 | #ifdef GCC_MCF5235 |
kenjiArai | 0:d4960fcea8ff | 212 | #include "../../Source/portable/GCC/MCF5235/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 213 | #endif |
kenjiArai | 0:d4960fcea8ff | 214 | |
kenjiArai | 0:d4960fcea8ff | 215 | #ifdef COLDFIRE_V2_GCC |
kenjiArai | 0:d4960fcea8ff | 216 | #include "../../../Source/portable/GCC/ColdFire_V2/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 217 | #endif |
kenjiArai | 0:d4960fcea8ff | 218 | |
kenjiArai | 0:d4960fcea8ff | 219 | #ifdef COLDFIRE_V2_CODEWARRIOR |
kenjiArai | 0:d4960fcea8ff | 220 | #include "../../Source/portable/CodeWarrior/ColdFire_V2/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 221 | #endif |
kenjiArai | 0:d4960fcea8ff | 222 | |
kenjiArai | 0:d4960fcea8ff | 223 | #ifdef GCC_PPC405 |
kenjiArai | 0:d4960fcea8ff | 224 | #include "../../Source/portable/GCC/PPC405_Xilinx/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 225 | #endif |
kenjiArai | 0:d4960fcea8ff | 226 | |
kenjiArai | 0:d4960fcea8ff | 227 | #ifdef GCC_PPC440 |
kenjiArai | 0:d4960fcea8ff | 228 | #include "../../Source/portable/GCC/PPC440_Xilinx/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 229 | #endif |
kenjiArai | 0:d4960fcea8ff | 230 | |
kenjiArai | 0:d4960fcea8ff | 231 | #ifdef _16FX_SOFTUNE |
kenjiArai | 0:d4960fcea8ff | 232 | #include "..\..\Source\portable\Softune\MB96340\portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 233 | #endif |
kenjiArai | 0:d4960fcea8ff | 234 | |
kenjiArai | 0:d4960fcea8ff | 235 | #ifdef BCC_INDUSTRIAL_PC_PORT |
kenjiArai | 0:d4960fcea8ff | 236 | /* A short file name has to be used in place of the normal |
kenjiArai | 0:d4960fcea8ff | 237 | FreeRTOSConfig.h when using the Borland compiler. */ |
kenjiArai | 0:d4960fcea8ff | 238 | #include "frconfig.h" |
kenjiArai | 0:d4960fcea8ff | 239 | #include "..\portable\BCC\16BitDOS\PC\prtmacro.h" |
kenjiArai | 0:d4960fcea8ff | 240 | typedef void ( __interrupt __far *pxISR )(); |
kenjiArai | 0:d4960fcea8ff | 241 | #endif |
kenjiArai | 0:d4960fcea8ff | 242 | |
kenjiArai | 0:d4960fcea8ff | 243 | #ifdef BCC_FLASH_LITE_186_PORT |
kenjiArai | 0:d4960fcea8ff | 244 | /* A short file name has to be used in place of the normal |
kenjiArai | 0:d4960fcea8ff | 245 | FreeRTOSConfig.h when using the Borland compiler. */ |
kenjiArai | 0:d4960fcea8ff | 246 | #include "frconfig.h" |
kenjiArai | 0:d4960fcea8ff | 247 | #include "..\portable\BCC\16BitDOS\flsh186\prtmacro.h" |
kenjiArai | 0:d4960fcea8ff | 248 | typedef void ( __interrupt __far *pxISR )(); |
kenjiArai | 0:d4960fcea8ff | 249 | #endif |
kenjiArai | 0:d4960fcea8ff | 250 | |
kenjiArai | 0:d4960fcea8ff | 251 | #ifdef __GNUC__ |
kenjiArai | 0:d4960fcea8ff | 252 | #ifdef __AVR32_AVR32A__ |
kenjiArai | 0:d4960fcea8ff | 253 | #include "portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 254 | #endif |
kenjiArai | 0:d4960fcea8ff | 255 | #endif |
kenjiArai | 0:d4960fcea8ff | 256 | |
kenjiArai | 0:d4960fcea8ff | 257 | #ifdef __ICCAVR32__ |
kenjiArai | 0:d4960fcea8ff | 258 | #ifdef __CORE__ |
kenjiArai | 0:d4960fcea8ff | 259 | #if __CORE__ == __AVR32A__ |
kenjiArai | 0:d4960fcea8ff | 260 | #include "portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 261 | #endif |
kenjiArai | 0:d4960fcea8ff | 262 | #endif |
kenjiArai | 0:d4960fcea8ff | 263 | #endif |
kenjiArai | 0:d4960fcea8ff | 264 | |
kenjiArai | 0:d4960fcea8ff | 265 | #ifdef __91467D |
kenjiArai | 0:d4960fcea8ff | 266 | #include "portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 267 | #endif |
kenjiArai | 0:d4960fcea8ff | 268 | |
kenjiArai | 0:d4960fcea8ff | 269 | #ifdef __96340 |
kenjiArai | 0:d4960fcea8ff | 270 | #include "portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 271 | #endif |
kenjiArai | 0:d4960fcea8ff | 272 | |
kenjiArai | 0:d4960fcea8ff | 273 | |
kenjiArai | 0:d4960fcea8ff | 274 | #ifdef __IAR_V850ES_Fx3__ |
kenjiArai | 0:d4960fcea8ff | 275 | #include "../../Source/portable/IAR/V850ES/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 276 | #endif |
kenjiArai | 0:d4960fcea8ff | 277 | |
kenjiArai | 0:d4960fcea8ff | 278 | #ifdef __IAR_V850ES_Jx3__ |
kenjiArai | 0:d4960fcea8ff | 279 | #include "../../Source/portable/IAR/V850ES/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 280 | #endif |
kenjiArai | 0:d4960fcea8ff | 281 | |
kenjiArai | 0:d4960fcea8ff | 282 | #ifdef __IAR_V850ES_Jx3_L__ |
kenjiArai | 0:d4960fcea8ff | 283 | #include "../../Source/portable/IAR/V850ES/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 284 | #endif |
kenjiArai | 0:d4960fcea8ff | 285 | |
kenjiArai | 0:d4960fcea8ff | 286 | #ifdef __IAR_V850ES_Jx2__ |
kenjiArai | 0:d4960fcea8ff | 287 | #include "../../Source/portable/IAR/V850ES/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 288 | #endif |
kenjiArai | 0:d4960fcea8ff | 289 | |
kenjiArai | 0:d4960fcea8ff | 290 | #ifdef __IAR_V850ES_Hx2__ |
kenjiArai | 0:d4960fcea8ff | 291 | #include "../../Source/portable/IAR/V850ES/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 292 | #endif |
kenjiArai | 0:d4960fcea8ff | 293 | |
kenjiArai | 0:d4960fcea8ff | 294 | #ifdef __IAR_78K0R_Kx3__ |
kenjiArai | 0:d4960fcea8ff | 295 | #include "../../Source/portable/IAR/78K0R/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 296 | #endif |
kenjiArai | 0:d4960fcea8ff | 297 | |
kenjiArai | 0:d4960fcea8ff | 298 | #ifdef __IAR_78K0R_Kx3L__ |
kenjiArai | 0:d4960fcea8ff | 299 | #include "../../Source/portable/IAR/78K0R/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 300 | #endif |
kenjiArai | 0:d4960fcea8ff | 301 | #endif |
kenjiArai | 0:d4960fcea8ff | 302 | |
kenjiArai | 0:d4960fcea8ff | 303 | /* Catch all to ensure portmacro.h is included in the build. Newer demos |
kenjiArai | 0:d4960fcea8ff | 304 | have the path as part of the project options, rather than as relative from |
kenjiArai | 0:d4960fcea8ff | 305 | the project location. If portENTER_CRITICAL() has not been defined then |
kenjiArai | 0:d4960fcea8ff | 306 | portmacro.h has not yet been included - as every portmacro.h provides a |
kenjiArai | 0:d4960fcea8ff | 307 | portENTER_CRITICAL() definition. Check the demo application for your demo |
kenjiArai | 0:d4960fcea8ff | 308 | to find the path to the correct portmacro.h file. */ |
kenjiArai | 0:d4960fcea8ff | 309 | #ifndef portENTER_CRITICAL |
kenjiArai | 0:d4960fcea8ff | 310 | #include "../portable/GCC/ARM_CM3/portmacro.h" |
kenjiArai | 0:d4960fcea8ff | 311 | #endif |
kenjiArai | 0:d4960fcea8ff | 312 | |
kenjiArai | 0:d4960fcea8ff | 313 | #if portBYTE_ALIGNMENT == 8 |
kenjiArai | 0:d4960fcea8ff | 314 | #define portBYTE_ALIGNMENT_MASK ( 0x0007 ) |
kenjiArai | 0:d4960fcea8ff | 315 | #endif |
kenjiArai | 0:d4960fcea8ff | 316 | |
kenjiArai | 0:d4960fcea8ff | 317 | // Modified by Kenji Arai / JH1PJL, November 3rd,2010 |
kenjiArai | 0:d4960fcea8ff | 318 | #if 0 |
kenjiArai | 0:d4960fcea8ff | 319 | #if portBYTE_ALIGNMENT == 4 |
kenjiArai | 0:d4960fcea8ff | 320 | #define portBYTE_ALIGNMENT_MASK ( 0x0003 ) |
kenjiArai | 0:d4960fcea8ff | 321 | #endif |
kenjiArai | 0:d4960fcea8ff | 322 | |
kenjiArai | 0:d4960fcea8ff | 323 | #if portBYTE_ALIGNMENT == 2 |
kenjiArai | 0:d4960fcea8ff | 324 | #define portBYTE_ALIGNMENT_MASK ( 0x0001 ) |
kenjiArai | 0:d4960fcea8ff | 325 | #endif |
kenjiArai | 0:d4960fcea8ff | 326 | |
kenjiArai | 0:d4960fcea8ff | 327 | #if portBYTE_ALIGNMENT == 1 |
kenjiArai | 0:d4960fcea8ff | 328 | #define portBYTE_ALIGNMENT_MASK ( 0x0000 ) |
kenjiArai | 0:d4960fcea8ff | 329 | #endif |
kenjiArai | 0:d4960fcea8ff | 330 | |
kenjiArai | 0:d4960fcea8ff | 331 | #ifndef portBYTE_ALIGNMENT_MASK |
kenjiArai | 0:d4960fcea8ff | 332 | #error "Invalid portBYTE_ALIGNMENT definition" |
kenjiArai | 0:d4960fcea8ff | 333 | #endif |
kenjiArai | 0:d4960fcea8ff | 334 | #endif |
kenjiArai | 0:d4960fcea8ff | 335 | |
kenjiArai | 0:d4960fcea8ff | 336 | #ifndef portNUM_CONFIGURABLE_REGIONS |
kenjiArai | 0:d4960fcea8ff | 337 | #define portNUM_CONFIGURABLE_REGIONS 1 |
kenjiArai | 0:d4960fcea8ff | 338 | #endif |
kenjiArai | 0:d4960fcea8ff | 339 | |
kenjiArai | 0:d4960fcea8ff | 340 | #ifdef __cplusplus |
kenjiArai | 0:d4960fcea8ff | 341 | extern "C" { |
kenjiArai | 0:d4960fcea8ff | 342 | #endif |
kenjiArai | 0:d4960fcea8ff | 343 | |
kenjiArai | 0:d4960fcea8ff | 344 | #include "mpu_wrappers.h" |
kenjiArai | 0:d4960fcea8ff | 345 | |
kenjiArai | 0:d4960fcea8ff | 346 | /* |
kenjiArai | 0:d4960fcea8ff | 347 | * Setup the stack of a new task so it is ready to be placed under the |
kenjiArai | 0:d4960fcea8ff | 348 | * scheduler control. The registers have to be placed on the stack in |
kenjiArai | 0:d4960fcea8ff | 349 | * the order that the port expects to find them. |
kenjiArai | 0:d4960fcea8ff | 350 | * |
kenjiArai | 0:d4960fcea8ff | 351 | */ |
kenjiArai | 0:d4960fcea8ff | 352 | #if( portUSING_MPU_WRAPPERS == 1 ) |
kenjiArai | 0:d4960fcea8ff | 353 | portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters, portBASE_TYPE xRunPrivileged ) PRIVILEGED_FUNCTION; |
kenjiArai | 0:d4960fcea8ff | 354 | #else |
kenjiArai | 0:d4960fcea8ff | 355 | portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters ); |
kenjiArai | 0:d4960fcea8ff | 356 | #endif |
kenjiArai | 0:d4960fcea8ff | 357 | |
kenjiArai | 0:d4960fcea8ff | 358 | /* |
kenjiArai | 0:d4960fcea8ff | 359 | * Map to the memory management routines required for the port. |
kenjiArai | 0:d4960fcea8ff | 360 | */ |
kenjiArai | 0:d4960fcea8ff | 361 | void *pvPortMalloc( size_t xSize ) PRIVILEGED_FUNCTION; |
kenjiArai | 0:d4960fcea8ff | 362 | void vPortFree( void *pv ) PRIVILEGED_FUNCTION; |
kenjiArai | 0:d4960fcea8ff | 363 | void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION; |
kenjiArai | 0:d4960fcea8ff | 364 | size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION; |
kenjiArai | 0:d4960fcea8ff | 365 | |
kenjiArai | 0:d4960fcea8ff | 366 | /* |
kenjiArai | 0:d4960fcea8ff | 367 | * Setup the hardware ready for the scheduler to take control. This generally |
kenjiArai | 0:d4960fcea8ff | 368 | * sets up a tick interrupt and sets timers for the correct tick frequency. |
kenjiArai | 0:d4960fcea8ff | 369 | */ |
kenjiArai | 0:d4960fcea8ff | 370 | portBASE_TYPE xPortStartScheduler( void ) PRIVILEGED_FUNCTION; |
kenjiArai | 0:d4960fcea8ff | 371 | |
kenjiArai | 0:d4960fcea8ff | 372 | /* |
kenjiArai | 0:d4960fcea8ff | 373 | * Undo any hardware/ISR setup that was performed by xPortStartScheduler() so |
kenjiArai | 0:d4960fcea8ff | 374 | * the hardware is left in its original condition after the scheduler stops |
kenjiArai | 0:d4960fcea8ff | 375 | * executing. |
kenjiArai | 0:d4960fcea8ff | 376 | */ |
kenjiArai | 0:d4960fcea8ff | 377 | void vPortEndScheduler( void ) PRIVILEGED_FUNCTION; |
kenjiArai | 0:d4960fcea8ff | 378 | |
kenjiArai | 0:d4960fcea8ff | 379 | /* |
kenjiArai | 0:d4960fcea8ff | 380 | * The structures and methods of manipulating the MPU are contained within the |
kenjiArai | 0:d4960fcea8ff | 381 | * port layer. |
kenjiArai | 0:d4960fcea8ff | 382 | * |
kenjiArai | 0:d4960fcea8ff | 383 | * Fills the xMPUSettings structure with the memory region information |
kenjiArai | 0:d4960fcea8ff | 384 | * contained in xRegions. |
kenjiArai | 0:d4960fcea8ff | 385 | */ |
kenjiArai | 0:d4960fcea8ff | 386 | #if( portUSING_MPU_WRAPPERS == 1 ) |
kenjiArai | 0:d4960fcea8ff | 387 | struct xMEMORY_REGION; |
kenjiArai | 0:d4960fcea8ff | 388 | void vPortStoreTaskMPUSettings( xMPU_SETTINGS *xMPUSettings, const struct xMEMORY_REGION * const xRegions, portSTACK_TYPE *pxBottomOfStack, unsigned short usStackDepth ) PRIVILEGED_FUNCTION; |
kenjiArai | 0:d4960fcea8ff | 389 | #endif |
kenjiArai | 0:d4960fcea8ff | 390 | |
kenjiArai | 0:d4960fcea8ff | 391 | #ifdef __cplusplus |
kenjiArai | 0:d4960fcea8ff | 392 | } |
kenjiArai | 0:d4960fcea8ff | 393 | #endif |
kenjiArai | 0:d4960fcea8ff | 394 | |
kenjiArai | 0:d4960fcea8ff | 395 | #endif /* PORTABLE_H */ |
kenjiArai | 0:d4960fcea8ff | 396 |