主题中讨论的其他器件:SysConfig
工具与软件:
.cmd CPU2文件的片段: RAMM0M1 : origin = 0x000002, length = 0x0007F6 /* on-chip RAM block M1 */RAMM1_RSVD : origin = 0x0007F8, length = 0x000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */RAMD0D1 : origin = 0x00C000, length = 0x001000// This section is set to owned by CPU1 for dataCPU1RAMGS0GS6 : origin = 0x00D000, length = 0x007000// This section is set to owned by CPU1 for RamfuncCPU1RAMGS7GS9 : origin = 0x014000, length = 0x003000// This section is set to owned by CPU2 for dataCPU2RAMGS10GS12 : origin = 0x017000, length = 0x003000// This section is set to owned by CPU2 for RamfuncCPU2RAMGS13GS15 : origin = 0x01A000, length = 0x003000 RAMD0D1后面紧跟CPU1RAMGS0GS6、分配给 CPU1的数据、那么是否应该RAMD0D1保留 CPU2块的最后8 x 16个字、以避免预取到无效的内存区域? 跟进问题:根据.cmd上面的文件、如果 CPU2预取进入 CPU1拥有的存储器区域、会发生什么情况? 是否有任何可以观察到此行为的寄存器?
目前,我们遇到了一个问题,当执行一个位于最末RAMD0D1(占用最后8个字)的函数时,有跳到illegal_isr()的机会,但这并不总是发生。 我们想要确认此行为是否是由于预取到无效的存储器区域而导致的。

