This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Register profiling

Note: This was originally posted on 15th February 2011 at http://forums.arm.com

Hello,

I am currently using a ARM920T core based S3C2440 processor. I want to read the registers out of ARM9 in real-time. There is no OS running, just  a super loop. Currently, I am using an interrupt driven approach, where timer 2 overflows and goes to ISR. In the ISR I send the required register data to the Host PC through the UART. I believe this method of profiling is too intrusive(carries a lot of overhead).

I know there are tools relating to core sight technology, but I cannot update the entire development board and JTAG tools just to do that. They are very costly.

The board can also be run using linux. it runs busybox, and I tried using "devemem" applet but that is also a very intrusive method (having high overhead).

Can anyone suggest me any other method to read hardware physical registers using OS or no OS in the most efficient way and in real-time.

Thanks,
Pratik
Parents
  • Note: This was originally posted on 15th February 2011 at http://forums.arm.com

    Even for a hardware trace unit (ETM - embedded trace macrocell) - which is what you mean by CoreSight  I believe - writing out all of the registers in "real-time" while the software is running is not possible (it is just too much data to transmit).

    If you are reliant on software to do this it defintiely won't be "real-time" - the entire point of hardware trace is to be non-invasive, but dumping registers in software every time a register changes is going to exceptionally invasive - being a register-based architecture your registers are going to change _a lot_.

    What are you actually trying to achieve?
Reply
  • Note: This was originally posted on 15th February 2011 at http://forums.arm.com

    Even for a hardware trace unit (ETM - embedded trace macrocell) - which is what you mean by CoreSight  I believe - writing out all of the registers in "real-time" while the software is running is not possible (it is just too much data to transmit).

    If you are reliant on software to do this it defintiely won't be "real-time" - the entire point of hardware trace is to be non-invasive, but dumping registers in software every time a register changes is going to exceptionally invasive - being a register-based architecture your registers are going to change _a lot_.

    What are you actually trying to achieve?
Children
No data