Hi Luis, Thank you so much. Your information is very useful.
Regards Paddu On Tuesday, March 11, 2014 1:36:08 AM UTC+9, Luis wrote: > > Sorry, in my last reply it is *page 168 section 3.2.52*, not 3.5.52 > > On Monday, 10 March 2014 16:34:10 UTC, Luis wrote: >> >> Hi Paddu, >> I believe it is a 32-bit register (I found no mention of 64-bit registers >> in the c9 coprocessor). When it is overflown it resets to 0, in my code I >> take this into account. It looks like you can generate overflow interrupts >> (page 168 section 3.5.52) but I haven't used them. >> >> Hope this helps. >> >> Regards, >> >> Luis >> >> On Monday, 10 March 2014 15:00:26 UTC, Paddu wrote: >>> >>> >>> Hi, >>> >>> Thank you for sharing very useful information. >>> With your suggestions currently I am able to read the Cycle count using >>> using this register. >>> Please let me ask more question about CCNT register. >>> >>> Just for the confirmation, I would like to know is this a 32 bit >>> register? or 64 bit? >>> and what would happen if the count value is overflown, will the register >>> reset to "0" ? >>> >>> Regards >>> Paddu. >>> >>> >>> On Tuesday, February 25, 2014 11:39:24 PM UTC+9, Luis wrote: >>>> >>>> Hi Paddu, >>>> >>>> The Cortex-A8 has a Performance Monitor Control Register (coprocessor >>>> c9), you can check the documentation for the registers here (page 154, >>>> section 3.2.42): >>>> >>>> http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344k/DDI0344K_cortex_a8_r3p2_trm.pdf >>>> >>>> For a simple example of the code check this page: >>>> http://stackoverflow.com/questions/3247373/how-to-measure-program-execution-time-in-arm-cortex-a8-processor >>>> In there they use assembly to configure and read the registers for the >>>> Cortex-A8, so it can be ported to any OS I believe. >>>> >>>> The Peformance Monitoring Unit is very cool, there's a ton of events >>>> you can measure there, you can record up to 5 events (including the Clock >>>> Cycles CCNT). >>>> >>>> >>>> If you were using Linux it already has the implementation done for you, >>>> you only need some libraries (found in >>>> http://perfmon2.sourceforge.net/hw.html ). >>>> >>>> Hope this helps. >>>> >>>> Best Regards, >>>> >>>> Luis >>>> >>>> On Tuesday, 25 February 2014 03:02:31 UTC, Paddu wrote: >>>>> >>>>> Thank all for the kind reply. >>>>> >>>>> @liyaoshi-> I could find the link you have mentioned. >>>>> >>>>> @Grissiom -> Currently we are not using Linux, we are using >>>>> Starterware. >>>>> >>>>> I shall see if we could implement this using a ASM code. >>>>> >>>>> >>>>> On Tuesday, February 25, 2014 11:56:11 AM UTC+9, liyaoshi wrote: >>>>>> >>>>>> From this link , you can see >>>>>> >>>>>> readtsc() means this only support on x86 ,tsc register is 64bit >>>>>> register and clock with main clock , on x86/64 this is can very precise >>>>>> >>>>>> On ARM, use generic PIT,(maybe you should write your own driver ) , >>>>>> >>>>>> only limit is almost PIT register is 32bit >>>>>> >>>>>> >>>>>> 2014-02-25 10:49 GMT+08:00 Grissiom <[email protected]>: >>>>>> >>>>>>> On Mon, Feb 24, 2014 at 10:26 PM, Paddu <[email protected]>wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> We need some advice in measuring Beaglebone CPU(Cortex-A8) clock >>>>>>>> cycles. >>>>>>>> Is there any way to measure the CPU cycles and use it inside the >>>>>>>> program? >>>>>>>> I have heard about "ccnt" register but don't know how exactly could >>>>>>>> we use that in the program. >>>>>>>> Please let me know if there is a reference or pointers on how to >>>>>>>> implement the code. >>>>>>>> >>>>>>>> >>>>>>> Do you want to measure cycles in Linux program or baremetal program? >>>>>>> If you are on Linux, this link: >>>>>>> >>>>>>> http://halobates.de/modern-pmus-yokohama.pdf >>>>>>> >>>>>>> may help you. If not, read the PMU section in the ARM ARM. >>>>>>> >>>>>>> -- >>>>>>> Cheers, >>>>>>> Grissiom >>>>>>> >>>>>>> -- >>>>>>> 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. >>>>>>> >>>>>> >>>>>> -- 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.
