Hello,
I have an 8M Mini processor I am trying to debug, and I'm having some difficulty learning about some of the debug registers on this processor. I came across this forum post (https://community.nxp.com/t5/i-MX-Processors/JTAG-Debuger-Selection-For-i-MX-8M-Mini/m-p/1177295), which supposedly allows debug of the M4 core. To enable M4-core debug, the JLinkScript runs the following lines of code:
JLINK_CORESIGHT_WriteAP(AHBAP_REG_ADDR, 0x007E0000);
JLINK_CORESIGHT_WriteAP(AHBAP_REG_DATA, 0x20008000);
JLINK_CORESIGHT_WriteAP(AHBAP_REG_ADDR, 0x007E0004);
JLINK_CORESIGHT_WriteAP(AHBAP_REG_DATA, 0x1FFE0009);
JLINK_CORESIGHT_WriteAP(AHBAP_REG_ADDR, 0x007E0008);
JLINK_CORESIGHT_WriteAP(AHBAP_REG_DATA, 0xE7FEE7FE);
This code isn't explained, and I can't find any information about these registers and what settings they control. The only thing the reference manual says about these addresses is that they're part of TCM Memory.
Can someone point me towards some more detailed information about these registers?
Solved! Go to Solution.
Hi @brian14,
Yes, I was talking with Jimmy about a related issue that actually spawned this post. I was confused at first when the reference manual said those addresses were tightly-coupled memory (TCM). I didn't realize that TCM was just a place to store data, I thought there were registers within the TCM. I now see that's incorrect, and the TCM appears to be where the M4 executes code from.
This forum post was able to clear that information up for me.
Hi @adevries,
Thank you for contacting NXP Support.
TCM memory is part of ARM architecture, please have a look on the following reference:
ARM TCM (Tightly-Coupled Memory) handling in Linux — The Linux Kernel documentation
I hope this information will be helpful.
Have a great day!
Hi Brian,
Thanks for the response. That link on ARM TCM is useful. After reading that, it sounds like there aren't special registers at 0x007E0000, 0x007E0004, and 0x007E0008. Maybe that code is just writing data there. But why would it write data there? Is it a simple assembly program? Something else?
Does the Cortex M4 start running code from 0x007E0000 upon startup? If so, what document would tell me that? I don't see that information in the reference manual.
Hi @adevries,
I noticed that you have another community thread answered by my colleague.
Re: Cannot access JTAG debug mode - NXP Community
Here, my colleague explains that there are not resources related to this configuration and the best support could be contact with the debugger's company.
Have a great day!
Hi @brian14,
Yes, I was talking with Jimmy about a related issue that actually spawned this post. I was confused at first when the reference manual said those addresses were tightly-coupled memory (TCM). I didn't realize that TCM was just a place to store data, I thought there were registers within the TCM. I now see that's incorrect, and the TCM appears to be where the M4 executes code from.
This forum post was able to clear that information up for me.