clpru: QBBS Invalid instruction

I’m use clpru to assemble some code[1] for the PRU. Unfortunately I’m getting the following error:

QBBS A_CHANGED, r0.t0

“pru0-encoder.asm”, ERROR! at line 103: [E0003] Invalid instruction
QBBS A_CHANGED, r0.t0

I can’t figure out what is invalid about QBBS?

I’m running on a BeagleBone with version 2.1.2 of clpru.

clpru -version
PRU C/C++ Compiler v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU

PRU EABI C/C++ Parser v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU C/C++ File Merge v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU C/C++ Optimizer v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU C/C++ Codegen v2.1.2
Build Number 1PLBO-0QRTSXTX-UAYAS-TAR-ZARUGU
PRU Assembler v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU Embed Utility v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU C Source Interlister v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU Linker v2.1.2
Build Number 1PL7Q-2LI-UAYAS-TAQ-ZARUGU
PRU Absolute Lister v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU Strip Utility v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU XREF Utility v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU C++ Demangler v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU Hex Converter v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU Name Utility v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU Object File Display v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU
PRU Archiver v2.1.2
Build Number 1PL7P-2LI-UAYAS-TAQ-ZARUGU

–Mark

[1] https://github.com/MarkAYoder/BeagleBoard-exercises/blob/master/pru/examples/encoder/pru0-encoder.asm

Hi Mark,

Try specifying the bit number there

QBBS A_CHANGED, r0, 0

https://github.com/ZeekHuge/BeagleScope/blob/port_to_4.4.12-ti-r31%2B/firmware/main_pru1_def.asm#L411

Zeek:
That fixed it. Thanks…

–Mark