看了一下XMC模块,大体意思是拓展内存和保护用的,但是没有太明白。比如下面一段代码含义是什么,segsize不是应该对应4KB吗,怎么是64K,希望解答一下下面代码的含义,设置后的结果。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
见手册TMS320C66x DSP CorePac User Guide XMC 章节,segsize是可以配的。
按照代码含义,segsize=0x0000000B,查阅对应的datesheet,segsize是对应4KB的
按照代码含义,segsize=0x0000000B,查阅对应的datesheet,segsize是对应4KB的,注释却是64K
你的理解是正确的,因为从代码中segsize=0xB,参考文档这个segment的大小是4KB。注释应该是有问题的。
但是我看了datesheet也没太理解这个的意思,是把内核中逻辑地址BADDR开始的大小为SEGSIZE的大小,映射到外部地址RADDR么?
是的,这样做的目的:
第一是能将CPU内部的32位地址转换为SoC级别可以使用的36位地址。
第二是对不同的segment设置不同的访问权限,实现内存保护。