giav

Members
  • Content Count

    1
  • Joined

  • Last visited

  1. Hi, I would like to use the MicroBlaze performance monitoring engine to collect some information on my application code running on the processor itself. I would need these information at application level. I have a problem to access these values. In order to do these things, I have created a project with MicroBlaze and extended debug function, with 5 event counters and 1 latency counter. Then I have inserted a MDM in my design and created an AXI4lite slave port to access from MicroBlaze itself. In this mode I should be able to access to internal performance monitoring engine by using DBG_CTRL and DBG_DATA registers indicated to page 12 of pg115 (MDM product guide), with values indicated on page 92 of MB reference guide (version 2015.04). Suppose I need to measure number of any valid executed instruction, I have written the code attached to this post. The problem happens when I perform the read from *dbg_data: the read action on this variable does not give any response. The register pointed by variable is R/W. Do you have any suggestion about this wrong behaviour? Thank you. code.c