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