6.60.27 Встроенные функции PRU
GCC предоставляет несколько специальных встроенных функций для использования специальных инструкций PRU.
Поддерживаемые встроенные функции:
-
Встроенная функция:
void__delay_cycles(constant long long cycles) Это вставляет последовательность инструкций, выполнение которой занимает ровно cycles циклов (от 0 до 0xffffffff). Вставленная последовательность может использовать переходы, циклы или пустые операции и не взаимодействует с другими инструкциями. Обратите внимание, что cycles должен быть целочисленной константой времени компиляции — то есть вы должны передать число, а не переменную, которая может быть оптимизирована до константы позже. Количество циклов, на которое происходит задержка с помощью этой встроенной функции, точно задается.
-
Встроенная функция:
void__halt(void) Это вставляет инструкцию HALT для остановки выполнения процессора.
-
Встроенная функция:
unsigned int__lmbd(unsigned int wordval, unsigned int bitval) Это вставляет инструкцию LMBD для вычисления самого левого бита со значением bitval в значении wordval. Учитывается только младший бит bitval.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/PRU-Built_002din-Functions.html