大家好:
我在用srio的example的时候在main函数里面有如下代码:
/* Initialize the heap in shared memory. Using IPC module to do that */ Ipc_start();
Ipc_start()需要多个核同步运行,但是现在我想先让core0运行起来,执行一些任务。然后通过向core发送命令来控制core0去启动其他的core。
现在如果用Ipc_start()需要同步,其他core不运行core也运行不起来,现在我想知道这个Initialize the heap in shared memory. Using IPC module to do that是什么意思,能否用其他的方法来初始化在共享内存的heap呢?
Andy Yin1:
你可以看看cfg中对该工程运行core的限制,可以修改只由一个core运行,将ipc相关代码去掉。
或者可以参考论坛中不带sysBios及IPC的SRIO工程,这个是可以在一个core上执行。http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/4773.aspx
gulfweed:
不用删除Ipc_start(),在 .cfg 文件中把有一行注释掉, 包含有“ proc_sync_all_cores ” 大概这个,
否则如果只在一个core上调试,程序一直循环在Ipc_start()里面等待多核同步;
另外,SRIO的例程里面,没有Ipc_start()在初始化QMSS的时候会循环在CSL_semAcquire()里面,
得不到semaphore
TI中文支持网



