iLLD_TC27xD
1.0
|
#include "Ifx_Types.h"
Go to the source code of this file.
Macros | |
#define | __non_return_call(fun) __asm__ volatile ("\tji %0"::"a"(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(a, v, b, p) __imaskldmst((int*)a, v, b, p) |
#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) |
IFX_INLINE float32 | __fixpoint_to_float32 (fract value, sint32 shift) |
Convert a fixpoint value to float32. More... | |
IFX_INLINE void * | __getA11 (void) |
IFX_INLINE void | __setStackPointer (void *stackAddr) |
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 ("\tji %0"::"a"(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 float32 __fixpoint_to_float32 | ( | fract | value, |
sint32 | shift | ||
) |
Convert a fixpoint value to float32.
This function converts a value from a fixpoint format to a float32 format.
value | value to be converted. |
shift | position of the fix point. Range = [-256, 255] => (Qx.y format where x = shift+1). |
Definition at line 254 of file IfxCpu_IntrinsicsTasking.h.
IFX_INLINE void* __getA11 | ( | void | ) |
Definition at line 265 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.
IFX_INLINE void __setStackPointer | ( | void * | stackAddr) |
Definition at line 272 of file IfxCpu_IntrinsicsTasking.h.