Hi Jon,

Thank you for your reply.  There were a few instructions between the SET 
and CLR operations which did allow for a longer pulse.  I added a loop in 
there to delay it for 250ns which should be sufficient for my test 
equipment as it samples at 100Ms/s. To clarify further you can see that my 
device tree overlay is enabled without conflict, but still no output from 
the pin.


root@beaglebone:~/# cat /sys/devices/bone_capemgr.8/slots 
 0: 54:PF--- 
 1: 55:PF--- 
 2: 56:PF--- 
 3: 57:PF--- 
 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
 5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
 6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
 7: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_27_d
 8: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BONE-PRU-01
 9: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_28_d
10: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_17_f
11: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_29_2e
12: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_30_d
13: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_39_2e
14: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_40_2e
15: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_41_2e
16: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_42_2e
17: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_43_2e
18: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_44_2e
19: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_45_2e
20: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P8_46_2e
21: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P9_31_d



If the pins were already allocated I believe that upon loading the overlay 
I would have received an error message but received none.

I need to find a way to interrupt PRU0 correctly as to manipulate this 
data.  I tried to follow the PRU0 to PRU1 interrupt example and believe 
that I have the syntax correct.  I would just like to find a way to confirm 
that the program is cycling correctly by toggling that pin.

I am calling my interrupts from PRU1 with

SET r31.t31

and then receiving my interrupts with

         WBS eventStatus, 31             //Wait for bit set for Interrupt
        LDI  regVal.w2, 0x0000          //Clear the status of Interrupt
        LDI  regVal.w0, SYS_EVT_PRU0
        SBCO regVal,    CONST_PRUSSINTC, SICR_OFFSET, 4

where eventstatus is r31 and regVal is r17.

During all of this I set r30.t0 (P9_31) and run a loop for 50 intervals and 
then clear r30.t0.

When running this code on PRU0 it never reaches its halt statement.  I have 
the halt statement as I believe it would be necessary to keep PRU0 from 
getting stuck at the interrupt in the code and to interrupt the ARM.  I am 
going to move forward with removing the HALT statement at the end as well 
as the ARM interrupt and just have it always branch and have PRU1 
responsible for ARM interrupt and taking care of disabling both PRU's. 
 Then I will just QBA in the PRU0 code to take care of just waiting for the 
next interrupt.

I don't believe I need to setup any enables for these system events as it 
is not shown in the PRUtoPRU example code or in the Reference Guide.

On Wednesday, January 20, 2016 at 4:06:11 PM UTC-5, jmelson wrote:
>
>
>
> On Wednesday, January 20, 2016 at 2:08:44 PM UTC-6, Tyler Turcotte wrote:
>>
>>
>> SET r31.t0                  //Toggle pin 31 on header 8
>> CLR r31.t0
>>
>>
>>
>>
>> That will only cause a 5ns pulse on that pin.  Are you sure you can 
>> detect a pulse that narrow?
>>
>
> Jon 
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to