On this page
6.60.27 PRU Built-in Functions ¶
GCC provides a couple of special builtin functions to aid in utilizing special PRU instructions.
The built-in functions supported are:
- Built-in Function:
void
__delay_cycles(constant long long cycles)
¶ -
This inserts an instruction sequence that takes exactly cycles cycles (between 0 and 0xffffffff) to complete. The inserted sequence may use jumps, loops, or no-ops, and does not interfere with any other instructions. Note that cycles must be a compile-time constant integer - that is, you must pass a number, not a variable that may be optimized to a constant later. The number of cycles delayed by this builtin is exact.
- Built-in Function:
void
__halt(void)
¶ -
This inserts a HALT instruction to stop processor execution.
- Built-in Function:
unsigned int
__lmbd(unsigned int wordval, unsigned int bitval)
¶ -
This inserts LMBD instruction to calculate the left-most bit with value bitval in value wordval. Only the least significant bit of bitval is taken into account.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/PRU-Built-in-Functions.html