00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 #ifndef PORTABLE_H
00059 #define PORTABLE_H
00060
00061
00062
00063 #ifdef OPEN_WATCOM_INDUSTRIAL_PC_PORT
00064 #include "..\..\Source\portable\owatcom\16bitdos\pc\portmacro.h"
00065 typedef void ( __interrupt __far *pxISR )();
00066 #endif
00067
00068 #ifdef OPEN_WATCOM_FLASH_LITE_186_PORT
00069 #include "..\..\Source\portable\owatcom\16bitdos\flsh186\portmacro.h"
00070 typedef void ( __interrupt __far *pxISR )();
00071 #endif
00072
00073 #ifdef GCC_MEGA_AVR
00074 #include "../portable/GCC/ATMega323/portmacro.h"
00075 #endif
00076
00077 #ifdef IAR_MEGA_AVR
00078 #include "../portable/IAR/ATMega323/portmacro.h"
00079 #endif
00080
00081 #ifdef MPLAB_PIC24_PORT
00082 #include "..\..\Source\portable\MPLAB\PIC24_dsPIC\portmacro.h"
00083 #endif
00084
00085 #ifdef MPLAB_DSPIC_PORT
00086 #include "..\..\Source\portable\MPLAB\PIC24_dsPIC\portmacro.h"
00087 #endif
00088
00089 #ifdef MPLAB_PIC18F_PORT
00090 #include "..\..\Source\portable\MPLAB\PIC18F\portmacro.h"
00091 #endif
00092
00093 #ifdef MPLAB_PIC32MX_PORT
00094 #include "..\..\Source\portable\MPLAB\PIC32MX\portmacro.h"
00095 #endif
00096
00097 #ifdef _FEDPICC
00098 #include "libFreeRTOS/Include/portmacro.h"
00099 #endif
00100
00101 #ifdef SDCC_CYGNAL
00102 #include "../../Source/portable/SDCC/Cygnal/portmacro.h"
00103 #endif
00104
00105 #ifdef GCC_ARM7
00106 #include "../../Source/portable/GCC/ARM7_LPC2000/portmacro.h"
00107 #endif
00108
00109 #ifdef GCC_ARM7_ECLIPSE
00110 #include "portmacro.h"
00111 #endif
00112
00113 #ifdef ROWLEY_LPC23xx
00114 #include "../../Source/portable/GCC/ARM7_LPC23xx/portmacro.h"
00115 #endif
00116
00117 #ifdef IAR_MSP430
00118 #include "..\..\Source\portable\IAR\MSP430\portmacro.h"
00119 #endif
00120
00121 #ifdef GCC_MSP430
00122 #include "../../Source/portable/GCC/MSP430F449/portmacro.h"
00123 #endif
00124
00125 #ifdef ROWLEY_MSP430
00126 #include "../../Source/portable/Rowley/MSP430F449/portmacro.h"
00127 #endif
00128
00129 #ifdef ARM7_LPC21xx_KEIL_RVDS
00130 #include "..\..\Source\portable\RVDS\ARM7_LPC21xx\portmacro.h"
00131 #endif
00132
00133 #ifdef SAM7_GCC
00134 #include "../../Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h"
00135 #endif
00136
00137 #ifdef SAM7_IAR
00138 #include "..\..\Source\portable\IAR\AtmelSAM7S64\portmacro.h"
00139 #endif
00140
00141 #ifdef SAM9XE_IAR
00142 #include "..\..\Source\portable\IAR\AtmelSAM9XE\portmacro.h"
00143 #endif
00144
00145 #ifdef LPC2000_IAR
00146 #include "..\..\Source\portable\IAR\LPC2000\portmacro.h"
00147 #endif
00148
00149 #ifdef STR71X_IAR
00150 #include "..\..\Source\portable\IAR\STR71x\portmacro.h"
00151 #endif
00152
00153 #ifdef STR75X_IAR
00154 #include "..\..\Source\portable\IAR\STR75x\portmacro.h"
00155 #endif
00156
00157 #ifdef STR75X_GCC
00158 #include "..\..\Source\portable\GCC\STR75x\portmacro.h"
00159 #endif
00160
00161 #ifdef STR91X_IAR
00162 #include "..\..\Source\portable\IAR\STR91x\portmacro.h"
00163 #endif
00164
00165 #ifdef GCC_H8S
00166 #include "../../Source/portable/GCC/H8S2329/portmacro.h"
00167 #endif
00168
00169 #ifdef GCC_AT91FR40008
00170 #include "../../Source/portable/GCC/ARM7_AT91FR40008/portmacro.h"
00171 #endif
00172
00173 #ifdef RVDS_ARMCM3_LM3S102
00174 #include "../../Source/portable/RVDS/ARM_CM3/portmacro.h"
00175 #endif
00176
00177 #ifdef GCC_ARMCM3_LM3S102
00178 #include "../../Source/portable/GCC/ARM_CM3/portmacro.h"
00179 #endif
00180
00181 #ifdef GCC_ARMCM3
00182 #include "../../Source/portable/GCC/ARM_CM3/portmacro.h"
00183 #endif
00184
00185 #ifdef IAR_ARM_CM3
00186 #include "../../Source/portable/IAR/ARM_CM3/portmacro.h"
00187 #endif
00188
00189 #ifdef IAR_ARMCM3_LM
00190 #include "../../Source/portable/IAR/ARM_CM3/portmacro.h"
00191 #endif
00192
00193 #ifdef HCS12_CODE_WARRIOR
00194 #include "../../Source/portable/CodeWarrior/HCS12/portmacro.h"
00195 #endif
00196
00197 #ifdef MICROBLAZE_GCC
00198 #include "../../Source/portable/GCC/MicroBlaze/portmacro.h"
00199 #endif
00200
00201 #ifdef TERN_EE
00202 #include "..\..\Source\portable\Paradigm\Tern_EE\small\portmacro.h"
00203 #endif
00204
00205 #ifdef GCC_HCS12
00206 #include "../../Source/portable/GCC/HCS12/portmacro.h"
00207 #endif
00208
00209 #ifdef GCC_MCF5235
00210 #include "../../Source/portable/GCC/MCF5235/portmacro.h"
00211 #endif
00212
00213 #ifdef COLDFIRE_V2_GCC
00214 #include "../../../Source/portable/GCC/ColdFire_V2/portmacro.h"
00215 #endif
00216
00217 #ifdef COLDFIRE_V2_CODEWARRIOR
00218 #include "../../Source/portable/CodeWarrior/ColdFire_V2/portmacro.h"
00219 #endif
00220
00221 #ifdef GCC_PPC405
00222 #include "../../Source/portable/GCC/PPC405_Xilinx/portmacro.h"
00223 #endif
00224
00225 #ifdef GCC_PPC440
00226 #include "../../Source/portable/GCC/PPC440_Xilinx/portmacro.h"
00227 #endif
00228
00229 #ifdef _16FX_SOFTUNE
00230 #include "..\..\Source\portable\Softune\MB96340\portmacro.h"
00231 #endif
00232
00233 #ifdef BCC_INDUSTRIAL_PC_PORT
00234
00235
00236 #include "frconfig.h"
00237 #include "..\portable\BCC\16BitDOS\PC\prtmacro.h"
00238 typedef void ( __interrupt __far *pxISR )();
00239 #endif
00240
00241 #ifdef BCC_FLASH_LITE_186_PORT
00242
00243
00244 #include "frconfig.h"
00245 #include "..\portable\BCC\16BitDOS\flsh186\prtmacro.h"
00246 typedef void ( __interrupt __far *pxISR )();
00247 #endif
00248
00249 #ifdef __GNUC__
00250 #ifdef __AVR32_AVR32A__
00251 #include "portmacro.h"
00252 #endif
00253 #endif
00254
00255 #ifdef __ICCAVR32__
00256 #ifdef __CORE__
00257 #if __CORE__ == __AVR32A__
00258 #include "portmacro.h"
00259 #endif
00260 #endif
00261 #endif
00262
00263 #ifdef __91467D
00264 #include "portmacro.h"
00265 #endif
00266
00267 #ifdef __96340
00268 #include "portmacro.h"
00269 #endif
00270
00271
00272 #ifdef __IAR_V850ES_Fx3__
00273 #include "../../Source/portable/IAR/V850ES/portmacro.h"
00274 #endif
00275
00276 #ifdef __IAR_V850ES_Jx3__
00277 #include "../../Source/portable/IAR/V850ES/portmacro.h"
00278 #endif
00279
00280 #ifdef __IAR_V850ES_Jx3_L__
00281 #include "../../Source/portable/IAR/V850ES/portmacro.h"
00282 #endif
00283
00284 #ifdef __IAR_V850ES_Jx2__
00285 #include "../../Source/portable/IAR/V850ES/portmacro.h"
00286 #endif
00287
00288 #ifdef __IAR_V850ES_Hx2__
00289 #include "../../Source/portable/IAR/V850ES/portmacro.h"
00290 #endif
00291
00292 #ifdef __IAR_78K0R_Kx3__
00293 #include "../../Source/portable/IAR/78K0R/portmacro.h"
00294 #endif
00295
00296 #ifdef __IAR_78K0R_Kx3L__
00297 #include "../../Source/portable/IAR/78K0R/portmacro.h"
00298 #endif
00299
00300
00301
00302
00303
00304
00305
00306 #ifndef portENTER_CRITICAL
00307 #include "portmacro.h"
00308 #endif
00309
00310 #if portBYTE_ALIGNMENT == 8
00311 #define portBYTE_ALIGNMENT_MASK ( 0x0007 )
00312 #endif
00313
00314 #if portBYTE_ALIGNMENT == 4
00315 #define portBYTE_ALIGNMENT_MASK ( 0x0003 )
00316 #endif
00317
00318 #if portBYTE_ALIGNMENT == 2
00319 #define portBYTE_ALIGNMENT_MASK ( 0x0001 )
00320 #endif
00321
00322 #if portBYTE_ALIGNMENT == 1
00323 #define portBYTE_ALIGNMENT_MASK ( 0x0000 )
00324 #endif
00325
00326 #ifndef portBYTE_ALIGNMENT_MASK
00327 #error "Invalid portBYTE_ALIGNMENT definition"
00328 #endif
00329
00330 #ifndef portNUM_CONFIGURABLE_REGIONS
00331 #define portNUM_CONFIGURABLE_REGIONS 1
00332 #endif
00333
00334 #ifdef __cplusplus
00335 extern "C" {
00336 #endif
00337
00338 #include "mpu_wrappers.h"
00339
00340
00341
00342
00343
00344
00345
00346 #if( portUSING_MPU_WRAPPERS == 1 )
00347 portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters, portBASE_TYPE xRunPrivileged ) PRIVILEGED_FUNCTION;
00348 #else
00349 portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters );
00350 #endif
00351
00352
00353
00354
00355 void *pvPortMalloc( size_t xSize ) PRIVILEGED_FUNCTION;
00356 void vPortFree( void *pv ) PRIVILEGED_FUNCTION;
00357 void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION;
00358 size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION;
00359
00360
00361
00362
00363
00364 portBASE_TYPE xPortStartScheduler( void ) PRIVILEGED_FUNCTION;
00365
00366
00367
00368
00369
00370
00371 void vPortEndScheduler( void ) PRIVILEGED_FUNCTION;
00372
00373
00374
00375
00376
00377
00378
00379
00380 #if( portUSING_MPU_WRAPPERS == 1 )
00381 struct xMEMORY_REGION;
00382 void vPortStoreTaskMPUSettings( xMPU_SETTINGS *xMPUSettings, const struct xMEMORY_REGION * const xRegions, portSTACK_TYPE *pxBottomOfStack, unsigned short usStackDepth ) PRIVILEGED_FUNCTION;
00383 #endif
00384
00385 #ifdef __cplusplus
00386 }
00387 #endif
00388
00389 #endif
00390