在qminfraMCExampleProject样例程序的hiPrioInterruptHandler函数中有这么一段语句:
temp = l2_global_address((Uint32)hiPrioList);
temp &= 0xfoffffff;
buf = (Uint32 *)temp;
这是一个多核间数据传输的程序,由core0发送,core1接收,涉及到Qmss、CPPI技术。
从core1的角度来看,执行 temp &= 0xfoffffff;这句的时候,temp的值是0x1081AC60。
查看datasheet的memory mapping,从0x10800000到0x108FFFFF是core0的L2 RAM,temp就在这个范围内。
所以我理解的这个数据传输是core0发送的数据,只触发了中断通知core1,数据还在core0的L2,core1访问core0的L2来完成数据传输。
我的疑问是:我的理解是对的吗?core1为什么可以访问core0的L2 RAM?