Ivan,

Ignore my comment - the order of parameters always confuses me :-)

Regards,
 Thomas


On Wednesday, October 2, 2013 4:30:46 PM UTC+2, Thomas Mauer wrote:
>
> Ivan,
>
> You should check again the QBLT 
> usage<http://processors.wiki.ti.com/index.php/PRU_Assembly_Instructions#Quick_Branch_if_Less_Than_.28QBLT.29>.
>  
>
> The code will stay in your loop  when rT2 < rT1 i.e. IEPcount < 1. 
> Try QBLT    L1, rT2, rT1
>
> Regards,
>  Thomas
>
>
> On Wednesday, October 2, 2013 10:07:33 AM UTC+2, Ivan Korman wrote:
>>
>> Hm, I have to correct my self. After throwing a second look into 
>> instruction format for quick arithmetic test and branch, where register is 
>> Op2, QBNE supports comparisons of all bits in both registers (didn't read 
>> tables Rs2Sel and Rs1Sel to the end). My mistake...
>>
>> Yet, this than makes my first code not working even a bigger misery. Will 
>> have to take a much deeper look at the code.
>>
>> Ivan
>>
>> On Wednesday, October 2, 2013 9:44:18 AM UTC+2, Ivan Korman wrote:
>>>
>>> Thx. I already found example you mention (glad to know it's yours) and 
>>> used it as guideline how to use compare registers on IEP. Did reworked the 
>>> example and now it's running fine. I suspect that issue in my initial 
>>> example was with following piece of code
>>>
>>> L1:
>>>     LBBO    rT2, rIEPBase, IEP_COUNT, 4
>>>     QBLT    L1, rT1, rT2
>>>
>>> My expectation was that "quick branch" instructions does comparison of 
>>> complete registers (all 32 bits), but in fact it compares only 8 bits (you 
>>> can chose if it's B0,B1,B3 or B4). In my case I think it was working only 
>>> rT1.b0 and rT2.b0. For sure that contributed to unexpected execution flow, 
>>> maybe there was also something else. 
>>>
>>> Although reworked example works just fine, will debug this one as I 
>>> don't want to leave open ends :) Also will try debugger you mentioned, as 
>>> writing apps blindly and debug them only with LED attached to GPIO is bit 
>>> of pain :)
>>>
>>> Thx
>>> Ivan
>>>
>>>
>>> On Wednesday, October 2, 2013 12:16:58 AM UTC+2, Charles Steinkuehler 
>>> wrote:
>>>>
>>>>
>>>> I don't immediately see anything obvious that is wrong with your code. 
>>>>
>>>> I have a known working example of using the IEP timers with the PRU, 
>>>> but 
>>>> I'm using the overflow event rather than polling the count value: 
>>>>
>>>>
>>>> https://github.com/cdsteinkuehler/linuxcnc/blob/MachineKit-ubc/configs/ARM/PRU-Debugger/pruexample.p
>>>>  
>>>>
>>>>
>>>> -- 
>>>> Charles Steinkuehler 
>>>> [email protected] 
>>>>
>>>>

-- 
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/groups/opt_out.

Reply via email to