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