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.

TMS320C6678: SYS/BIOS使用IPC模块,将代码及数据段设置到了DDR3上的时候,核0与核1无法attach

Part Number: TMS320C6678

目前创建了两个工程,一个核0,一个核1,核0与核1之间通过ipc模块使用共享内存区域SharedRegion,调用MessageQ接口进行消息传递,若两个代码放在L2SRAM中运行,则能够正常运行;若将代码等段,通过cfg配置到DDR3中,则会出现无法attach状况,如下图所示,两个核一直无法互相attach上。

目前使用的版本信息如下:

核0代码如下:

core0.c
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
* ======== mutex.c ========
* This example shows the use of two tasks and one semaphore to perform
* mutual exclusive data access.
*/
#include <stdio.h>
#include <xdc/std.h>
#include <xdc/runtime/System.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/knl/Semaphore.h>
#include <xdc/cfg/global.h>
#include "coremessage/coreipc.h"
Void task1(UArg arg0, UArg arg1);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

核1代码如下:

core1.c
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
* ======== mutex.c ========
* This example shows the use of two tasks and one semaphore to perform
* mutual exclusive data access.
*/
#include <stdio.h>
#include <xdc/std.h>
#include <xdc/runtime/System.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/knl/Semaphore.h>
#include <xdc/cfg/global.h>
#include "coremessage/coreipc.h"
Void task1(UArg arg0, UArg arg1);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

核0,cfg文件:

mutex.cfg

核1,cfg文件:

mutex.cfg