ti工程师:
您好!我在看一些IPC相关例程时,其.cmd文件中配置如下:
MEMORY{
IPC O=0X80000000 L=0X10000000
DDR3 O=0X90000000 L=0X10000000
}
SECTION
{
.text _c_int00>MSMCSRAM START (BootMagic)
}
对上述内容有几个问题
1, 对于工程中用到IPC时,是否必须在MEMORY中配置 IPC
2. .text _c_int00 > MSMCSRAM START(BootMagic)这句话的作用是什么, 其它的例程中,并没有对这个进行配置,什么情况下需要配置这个section。 这个工程是基于sys/bios的,其.cfg文件中并没有对.text进行program sectMap的配置,这两种配置结果是不是一样的
Nancy Wang:
1、O=0X80000000对应的内存区域是DDR3,想要实现IPC,一般是需要共享内存来实现数据的交互的。还需要结合具体的例程再看一下。
2、Boot Magic 地址是每个 core 各自一块固定的内存。存放的是各个 core 初始化之后需要跳转到的 c 程序入口地址 _c_int00()。该语句的意思就是实现了上述内容,将_c_int00指向MSMCSRAM。
user6307690:
回复 Nancy Wang:
再请教:
1。 那这个_c_int00 可以要根据需要指向L2SRAM, MSMCSRAM,以及DDR3?还有这个配置是不是需要与.cfg文件中program sect[.text]的配置一致?
2。如果共享内存位置置于MSMCSRAM上,那IPC使用的内存范围就要配置在MSMCSRAM区域内是这样吗?这个是不是与.cfg中sharedRegion 配置的范围要一致?
Nancy Wang:
回复 user6307690:
1、是的。
.text:_c_int00 和 .text 也可以分开指定,可以将.text:_c_int00 单独定义在某段地址。
2.是的,IPC使用的内存范围配置在MSMCSRAM区域内就可以。修改做一下测试可能会更清楚。