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.

6678HyperLink RX_SEG_LEN段长问题

我想给远端每个核映射256MB DDR,总共映射2GB。PrivID取30:27位,TX端地址掩码TX_ADDR_MASK取0x00FF FFFF,RX端用29:24位选段(RX_SEG_SEL_ADDR_29_24)。所以地址映射的时候,我用PrivID<<3作为段号,0x8000 0000+PrivID*0x1000 0000作为基地址,RX_SEG_LEN_0x0_1000_0000作为段长(256MB)。

这样配完理论上远端核0的0x4000 0000~0x5000 0000映射本地0x8000 0000~0x8FFF FFFF,……,一直到核7的0x4000 0000~0x5000 0000映射本地0xF000 0000~0xFFFF FFFF。

但现象是远端每个核都只有0x4000 0000~0x40FF FFFF这16MB得到了映射,0x4100 0000~0x4FFF FFFF没有映射。

于是我更改段长RX_SEG_LEN,发现段长≤16MB都可以正确映射,而段长>16MB的时候都只能映射16MB。

参考文档SPRUGW8A,2.7.4.2.2小节提到,段长范围从512B~256MB。

请问我这种情况是段长的问题还是前面配置有问题?谢谢