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
  • Note: This was originally posted on 18th 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?


    Thanks for your reply. We need to analyze soft errors. I thought that using the trace port in advanced ARM architectures this would be possible. I don't know what else to do. I am trying to explore all possibilities.
  • Note: This was originally posted on 18th February 2011 at http://forums.arm.com


    Not sure if this would help, but the Fast Models/RTSMs support a plug-in for recording model trace (format called Tarmac).  this can include all the instruction executed, and all the changes to register values.  Enabling the plug-in will hit simulation though.


    Thanks for the reply. I looked into it. The arm profiler can be used, but it needs the realview trace unit and processor that specifically support ETM. I am using a MINI2440 kit. Can you please see if any other solution can be found. thanks.
  • Note: This was originally posted on 18th February 2011 at http://forums.arm.com


    ETM implementations typically only provide instruction trace - they do not usually provide a means to see data accesses at all, and if they do they only show external memory address accesses not the register accesses. What you are asking for is not useful for normal software development, so I'm not sure who would have a solution for it hardware (waste of gates, and very power / bandwidth hungry).

    I think you are stuck with an invasive methodology implemented in software for this ...


    Thanks for the reply. I am trying to analyze soft errors. Yes I know it is not useful for software development, but mine's is a research project to study effect of radiation. What I am currently doing (reading through serial port) is surely invasive and slow, so I am looking for some new methods.

    Any help in this direction is appreciated.

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

    Hello Everyone,

    I still have not found a solution to the problem with which I started this thread. Any help in this direction will be appreciated.

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

    Not sure if this would help, but the Fast Models/RTSMs support a plug-in for recording model trace (format called Tarmac).  this can include all the instruction executed, and all the changes to register values.  Enabling the plug-in will hit simulation though.
  • 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?
  • Note: This was originally posted on 18th February 2011 at http://forums.arm.com

    ETM implementations typically only provide instruction trace - they do not usually provide a means to see data accesses at all, and if they do they only show external memory address accesses not the register accesses. What you are asking for is not useful for normal software development, so I'm not sure who would have a solution for it hardware (waste of gates, and very power / bandwidth hungry).

    I think you are stuck with an invasive methodology implemented in software for this ...