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.

Committer:
kenjiArai
Date:
Sat Jan 01 11:17:45 2011 +0000
Revision:
0:d4960fcea8ff

        

Who changed what in which revision?

UserRevisionLine numberNew 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