hello,
My project include NDK to transfer data for core0, and core1~core7 process the data from core0, then core transfer data that have been process by core1~7 to PC.
My project process:
void main()
{
SysInit();
BIOS_start ();
}
Bios will create a task StackTest(), it is the NDK initiation function, Because only core0 run NDK, so just core0 to init NDK, and other core wait core0's message! below is
the code
int StackTest()
{
if(DNUM == 0)
{
// init ndk ,the same with the hellowolrd demo
}
else
{
while(1)
{
while(flag != 1);//core 0 will set the flag = 1
flag = 0;
data_process();
}
}
}
I run in 4 cores, core0 trasnfer ,core1~3 process, But When the project run a while, core 1 print this:
[C66xx_1] A0=0x0 A1=0x0
A2=0x7f2 A3=0x0
A4=0x7fb A5=0x81137510
A6=0x7 A7=0x811376a8
A8=0x9001da6c A9=0x8112bc80
A10=0x0 A11=0x81128c80
A12=0x0 A13=0x3
A14=0x0 A15=0x0
A16=0x8112bc80 A17=0x7
A18=0x9001dac8 A19=0x9001db08
A20=0x9001da88 A21=0x3
A22=0x9001b1d0 A23=0x3
A24=0x9001da94 A25=0xffffffd8
A26=0x81124c80 A27=0x2c
A28=0x8 A29=0x26
A30=0x100 A31=0x5a0
B0=0x0 B1=0x0
B2=0xc020904 B3=0x81128cb8
B4=0x0 B5=0x0
B6=0x2 B7=0x811376a8
B8=0x18 B9=0x81128cb8
B10=0x0 B11=0x8
B12=0x0 B13=0x6000
B14=0x85eee0 B15=0x86747c
B16=0xf B17=0x8112bc80
B18=0x0 B19=0x0
B20=0x0 B21=0x0
B22=0x9001c070 B23=0x0
B24=0x7 B25=0x240
B26=0x81124c80 B27=0x100
B28=0x81124c80 B29=0x3f
B30=0x811214e0 B31=0x3
NTSR=0xf
ITSR=0x1000f
IRP=0x0
SSR=0x0
AMR=0x0
RILC=0x0
ILC=0x0
Exception at 0x0
EFR=0x2 NRP=0x0
Internal exception: IERR=0x1
Instruction fetch exception
ti.sysbios.family.c64p.Exception: line 248: E_exceptionMin: pc = 0x0c021bb8, sp = 0x0086747c.
To see more exception detail, use ROV or set 'ti.sysbios.family.c64p.Exception.enablePrint = true;'
xdc.runtime.Error.raise: terminating execution
only core1 print this message, other cores all OK, I am not sure where is the problem!
Thanks!