Debugging the PRU through Code Composer Studio V6.1.1

I posted this on ti’s e2e forum. I am hoping you guys might be able to give me some pointers.

I am writing code for PRU0 on the Beagle Bone Black using CCS V6.1.1 and PRU compiler V2.1.1.
My output pins are as follows:
In the assembler code I am doing the set or clear as follows:
set r30.w0, r30.w0, 3 ; set input side to start CONV
clr r30.w0, r30.w0, 3 ; we are now starting the aquisition time
The problem I’m seeing is P9_27 isn’t functional in debug mode through CCS.
If I do a release build of the code then do the hexpru thing to create the text.out file and launch the program directly on the Beagle Bone Black the
output is functional.
This is what I have in my .dts file in the BBB:
pru_pru_pins: pinmux_pru_pru_pins { // The PRU pin modes
pinctrl-single,pins = <
0x190 0x05 // P9_31 pr1_pru0_pru_r30_0, MODE7 | OUTPUT | PRU pr0 out spi sclk
0x194 0x05 // P9_29 pr1_pru0_pru_r30_1, MODE7 | OUTPUT | PRU pr0 out spi MOSI
0x198 0x05 // P9_30 pr1_pru0_pru_r30_2, MODE7 | OUTPUT | PRU pr0 out spi sync
0x19c 0x05 // P9_28 pr1_pru0_pru_r30_3, MODE7 | OUTPUT | PRU pr0 in spi CONV
0x1ac 0x26 // P9_25 pr1_pru0_pru_r31_7, MODE6 | INPUT | PRU pr0 out spi MISO
0x1a4 0x05 // P9_27 pr1_pru0_pru_r30_5, MODE7 | OUTPUT | PRU pr0 in spi sclk
0x1a8 0x26 // P9_41 pr1_pru0_pru_r31_6, MODE6 | INPUT | PRU pr0 in spi MISO
0x1a0 0x3e // P9_42 … 25 and 27 are mucked up on the switch circuit
0x0a0 0x05 // P8_45 pr1_pru1_pru_r30_0, MODE7 | OUTPUT | PRU pr1 out spi sclk
0x0a4 0x05 // P8_46 pr1_pru1_pru_r30_1, MODE7 | OUTPUT | PRU pr1 out spi MOSI
0x0a8 0x05 // P8_43 pr1_pru1_pru_r30_2, MODE7 | OUTPUT | PRU pr1 out spi sync
0x0ac 0x05 // P8_44 pr1_pru1_pru_r30_3, MODE7 | OUTPUT | PRU pr1 in spi sclk
0x0b8 0x05 // P8_39 pr1_pru1_pru_r30_6, MODE7 | OUTPUT | PRU pr1 in spi CONV
0x0b4 0x26 // P8_42 pr1_pru1_pru_r31_5, MODE6 | INPUT | PRU pr1 in spi MISO
0x0bc 0x26 // P8_40 pr1_pru1_pru_r31_7, MODE6 | INPUT | PRU pr1 out spi MISO
0x0b0 0x26 // P8_41
0x0e0 0x26 // P8_27


Is there a way I can change the pin configuration defaults when I’m debugging from the PC?
I’m using BlackHawk BH-USB-100v2.
I’m using a Jiankun LA2016 Logic Analyzer to view the output waveforms.
I looked in the .GEL file and I don’t see where the pin configuration might be setup.

Any help on getting this working is much appreciated.

I believe you need to associate your pinctrl with the bone-pinmux-helper driver. Just having the pinctrl definition in the DT does not configure the pinmux. The pinmux gets configured during the driver registration, in this case, during the platform_driver_register. With the bone-pinmux-helper the pinmux gets configured just before the bone_pinmux_helper_probe() function is called.