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.
