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.

6678EVM板上仿真时某些变量所在地址无法赋值?



各位专家好!

我在EVM板上进行仿真的时候,有些变量虽然分配了地址但是在Memory browser中查看对应地址的值的时候发现在该地址没有值,如图所示,请问是什么原因?谢谢!

 

  • 各位好!

    我也遇到同样的问题,在Memory browser中查看地址分配空间时发现如(*DDR_Regs)这样的结构体指针变量的地址空间分配了256个地址,但其内部成员所需地址空间要大于256个地址空间,所以在大于256个地址空间的其他成员的地址都出现这样的错误提示:“Error: Memory map prevented reading of target memory at 0x2100011F”等,不知道这样问题怎么解决???如何可以把一个结构体指针的地址在内存空间里分配完整???

  • 我觉得应该是你的cmd文件里面ddr分配的地址不够吧,你的cmd文件里面除了起始地址之外还有长度,通过修改长度应该就可以改了。还有就是貌似memory有些地址是reserved的,有可能是本身就不能编写的,我看了一下memory map,你这个地址就是本身reserved,所以不能编写~你可以用其他的地方~

  • 你好!
    按照您所说的重新修改了指针结构体变量的地址,之前的问题的确解决了,但还有一个问题就是指针结构体中成员有两个没有被分配地址,不知道是什么原因???错误如下图所示:
  • 你好,

    DDR3 EMIF configuration的地址空间是从0x21000000开始的512B,包括了CSL_Emif4fRegs对应的所有成员变量,便宜256B后的数据不能看可能跟EVM板上没有挂ECC有关。你们后面修改指向的地址是不合理的,因为修改地址后,就不能对DDR3 Controller进行正确的初始化了,地址是固定的。

  • Andy Yin

    你好!根据Memory map上所描述的,DDR3 EMIF configuration的地址空间应该是从0x21000000开始的256B,地址0x21000100到0x213FFFFF是reserved,也就是256B以后有一段保留的地址空间,会不会是因为保留的空间不能用所以无法在该地址赋值,从而无法在memory browser里查看到?

    另外,如果需要挂ECC的话该如何挂呢?

    谢谢!