This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf5340dk etm trace get no data

Hi there

I mount the 19pin connector on nrf5340dk board and connect to segger j-trace pro . The debugger function work well. 

Later i modify the nrf9160 etm trace project from segger , replace the correspondence sdk file and define the required variable definition for nrf5340.  wiki.segger.com/.../nRF91_Series_Devices

It compile and download ok under SES. When i switch to the ozone and set the trace settings to 4bits and 64MHz cpu clock then break into one breakpoint , the instruction trace get no data at all.

The j-tag trace pro adapter have been verified with one trace reference board with stm32f407ve from segger. The j-tage pro ETM trace function have no problem on this reference board under Ozone and IAR c-spy.  

I try to modify the TAD registers and do some study , the pin and clock frequency control registers  does work functional . But the  clockstart and clockstop have no effect on  clock. The trace clk always output clock and the clock frequency have shifted a little from the specified target frequency. 

Can you provide one ETM trace example for nrf5340dk ? 

  

Parents
  • After request to SEGGER and get the workable example project. I compare it to the nrf9160 project the difference come from this jlinkscript exec command. Just add the following jlinkscript to unlock tpiu 1st to output the etm trace data.

    int ConfigTargetSettings(void) {
      JLINK_ExecCommand("CORESIGHT_SetTPIUBaseAddr = 0xE0040000 ForceUnlock = 1");
      return 0;
    }

Reply
  • After request to SEGGER and get the workable example project. I compare it to the nrf9160 project the difference come from this jlinkscript exec command. Just add the following jlinkscript to unlock tpiu 1st to output the etm trace data.

    int ConfigTargetSettings(void) {
      JLINK_ExecCommand("CORESIGHT_SetTPIUBaseAddr = 0xE0040000 ForceUnlock = 1");
      return 0;
    }

Children
Related