6.60.27 Встроенные функции PRU ¶
GCC предоставляет несколько специальных встроенных функций, которые помогают в использовании специальных инструкций PRU.
Поддерживаемые встроенные функции:
__delay_cycles (long long cycles)-
Это вставляет последовательность инструкций, которая выполняется ровно за cycles циклов (от 0 до 0xffffffff). Вставляемая последовательность может использовать переходы, циклы или но-опы и не мешает другим инструкциям. Обратите внимание, что cycles должно быть целочисленной константой времени компиляции — то есть вы должны передать число, а не переменную, которая может быть оптимизирована до константы позже. Количество задержанных циклов с помощью этой встроенной функции точно.
__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-11.4.0/gcc/PRU-Built-in-Functions.html