iLLD_TC27xC
1.0
|
#include "Ifx_Types.h"
Go to the source code of this file.
Macros | |
#define | __non_return_call(fun) __asm__ volatile ("\tja "#fun) |
#define | __minX(X, Y) ( ((X) < (Y)) ? (X) : (Y) ) |
#define | __maxX(X, Y) ( ((X) > (Y)) ? (X) : (Y) ) |
#define | __saturateX(X, Min, Max) ( __minX(__maxX(X, Min), Max) ) |
#define | __checkrangeX(X, Min, Max) (((X) >= (Min)) && ((X) <= (Max))) |
#define | __saturate(X, Min, Max) ( __min(__max(X, Min), Max) ) |
#define | __saturateu(X, Min, Max) ( __minu(__maxu(X, Min), Max) ) |
#define | __checkrange(X, Min, Max) (((X) >= (Min)) && ((X) <= (Max))) |
#define | __sqrf(X) ((X) * (X)) |
#define | __sqrtf(X) sqrtf(X) |
#define | __roundf(X) ((((X) - (int)(X)) > 0.5) ? (1 + (int)(X)) : ((int)(X))) |
#define | __absf(X) ( ((X) < 0.0) ? -(X) : (X) ) |
#define | __minf(X, Y) ( ((X) < (Y)) ? (X) : (Y) ) |
#define | __maxf(X, Y) ( ((X) > (Y)) ? (X) : (Y) ) |
#define | __saturatef(X, Min, Max) ( __minf(__maxf(X, Min), Max) ) |
#define | __checkrangef(X, Min, Max) (((X) >= (Min)) && ((X) <= (Max))) |
#define | __abs_stdreal(X) ( ((X) > 0.0) ? (X) : -(X) ) |
#define | __min_stdreal(X, Y) ( ((X) < (Y)) ? (X) : (Y) ) |
#define | __max_stdreal(X, Y) ( ((X) > (Y)) ? (X) : (Y) ) |
#define | __saturate_stdreal(X, Min, Max) ( __min_stdreal(__max_stdreal(X, Min), Max) ) |
#define | __neqf(X, Y) ( ((X) > (Y)) || ((X) < (Y)) ) |
#define | __leqf(X, Y) ( !((X) > (Y)) ) |
#define | __geqf(X, Y) ( !((X) < (Y)) ) |
#define | __fract_to_float(value) ((float)(value)) |
#define | __mulfractlong __mulfractlong |
#define | __mulfractfract(fractvalue1, fractvalue2) ((fractvalue1)*(fractvalue2)) |
#define | __extru(a, p, w) __extru(a,p,w) |
#define | __extr(a, p, w) __extr(a,p,w) |
#define | __imaskldmst __imaskldmst |
#define | __insert(a, b, p, w) __insert(a,b,p,w) |
#define | __disable_and_save __disable_and_save |
#define | __restore __restore |
#define | __mtcr_no_isync(reg, val) __asm("mtcr %0,%1"::"i"(reg),"d"(val)); |
#define | __adds(a, b) ((__sat int)(a)+(__sat int)(b)) |
#define | __addsu(a, b) ((__sat uint32)(a)+(__sat uint32)(b)) |
#define | __subs(a, b) ((__sat int)(a)-(__sat int)(b)) |
#define | __subsu(a, b) ((__sat uint32 )(a)-(__sat uint32 )(b)) |
#define | NOP(n) __asm(".DUP " #n "\n\tnop16\n\t.ENDM\n") |
#define | __ldmst(addr, mask, data) __ldmstAsm(addr, mask, data) |
#define | ___setareg(areg, val) { __asm (" movh.a\t "#areg",#@his("#val")\n lea\t "#areg",["#areg"]@los("#val")"); } |
#define | __setareg(areg, val) ___setareg(areg,val) |
#define | __cmpAndSwap(address, value, condition) __cmpswapw((address), ((unsigned long)value), (condition) ) |
This function is a implementation of a binary semaphore using compare and swap instruction. More... | |
Functions | |
IFX_INLINE void | __jump_and_link (void(*fun)(void)) |
IFX_INLINE void | __nops (void *cnt) |
IFX_INLINE void | __ldmstAsm (volatile void *addr, uint32 mask, uint32 data) |
IFX_INLINE void | __stopPerfCounters (void) |
IMPORTANT NOTICE
Infineon Technologies AG (Infineon) is supplying this file for use exclusively with Infineon's microcontroller products. This file can be freely distributed within development tools that are supporting such microcontroller products.
THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
Definition in file IfxCpu_IntrinsicsTasking.h.
#define ___setareg | ( | areg, | |
val | |||
) | { __asm (" movh.a\t "#areg",#@his("#val")\n lea\t "#areg",["#areg"]@los("#val")"); } |
Definition at line 230 of file IfxCpu_IntrinsicsTasking.h.
#define __cmpAndSwap | ( | address, | |
value, | |||
condition | |||
) | __cmpswapw((address), ((unsigned long)value), (condition) ) |
This function is a implementation of a binary semaphore using compare and swap instruction.
address | address of resource. |
value | This variable is updated with status of address |
condition | if the value of address matches with the value of condition, then swap of value & address occurs. |
Definition at line 240 of file IfxCpu_IntrinsicsTasking.h.
Referenced by IfxCpu_acquireMutex(), and IfxCpu_setSpinLock().
#define __non_return_call | ( | fun) | __asm__ volatile ("\tja "#fun) |
Function call without return
Definition at line 35 of file IfxCpu_IntrinsicsTasking.h.
#define __setareg | ( | areg, | |
val | |||
) | ___setareg(areg,val) |
Definition at line 232 of file IfxCpu_IntrinsicsTasking.h.
IFX_INLINE void __jump_and_link | ( | void(*)(void) | fun) |
Jump and link
Definition at line 39 of file IfxCpu_IntrinsicsTasking.h.