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

ETE Instruction Trace Configuration

Hello,

I’m testing the CPU instruction trace feature in my SoC, and I’m following the ETM configuration example from section 4.5.1 in document ARM IHI0064H.b (ID101923). However, I never see ATVALID assert after all of the configuration has completed. 

Test sequence

  1. Run program on CPU0 that prints a counter value in an infinite loop
  2. Configure ETM and Debug registers according to the sequence in 4.5.1 through APB
  3. Capture waveform
  4. Observe that ATVALID never asserts 

Status registers checked

  • TRCLSR.SLK [1] == 0 # software lock is cleared
  • TRCLSR.SLI [0] == 1 # software lock implemented
  • TRCOSLSR.OSLM {3, 0} == b10 # OS lock is implemented
  • TRCOSLSR.OSLK [1] == 0 # OS lock is cleared
  • TRCPDSR.OSLK [5] == 0 # OS lock is cleared
  • TRCPDSR.STICKYPD [1] == 0 #  TRCOSLSR is valid and trace registers are valid
  • TRCPDSR.POWER [0] == 1 # powered
  • TRCSTATR.IDLE [0] == 0 # not idle
  • EDSCR.TFO [31] == 1 # trace feature enable
  • EDSCR.PIPEADV [25] == 1 # instruction execution is happening
  • EDPRSR.OSLK [5] == 0 # OS lock is cleared

Are there any other status registers that I can check to ensure that my programming sequence is correct?

0