Where can I learn about TCM registers?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Where can I learn about TCM registers?

跳至解决方案
560 次查看
adevries
Contributor V

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?

标签 (1)
标记 (3)
0 项奖励
回复
1 解答
456 次查看
adevries
Contributor V

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.

在原帖中查看解决方案

0 项奖励
回复
4 回复数
517 次查看
brian14
NXP TechSupport
NXP TechSupport

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!

0 项奖励
回复
489 次查看
adevries
Contributor V

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.

0 项奖励
回复
463 次查看
brian14
NXP TechSupport
NXP TechSupport

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!

0 项奖励
回复
457 次查看
adevries
Contributor V

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.

0 项奖励
回复