您好: 大致是下面的情况:
void taskfunc2()
{
//执行一些线程初始化之后,堵塞这个线程
}
void taskfunc1()
{
if(core0) {
task_create();//这里创建一个线程,优先级高于当前,就叫taskfunc2()吧
} else{
task_create();//这里创建一个线程,优先级高于当前,就叫taskfunc2()吧 }
}
所有段都放在DDR3里面,8核进入taskfunc1()线程函数,然后通过Notify机制,8个核依次创建taskfunc2()线程,但是发现core0能够创建taskfunc2()并立即进入完成初始化返回,但是其他核就会返回如下的错误,请问这是什么原因?
A2=0x1 A3=0x880b790c
A4=0x800004e8 A5=0x100000
A6=0x0 A7=0x88130e7c
A8=0x88130e74 A9=0x0
A10=0x0 A11=0x80100aa8
A12=0x0 A13=0x0
A14=0x0 A15=0x0
A16=0x801002e0 A17=0x20
A18=0x801002e0 A19=0x0
A20=0x0 A21=0x0
A22=0x800000 A23=0x8
A24=0x0 A25=0x80802008
A26=0x420800 A27=0x420
A28=0x80000000 A29=0x20
A30=0xffffffff A31=0x1
B0=0x801004f0 B1=0x0
B2=0x880fa760 B3=0x880b7908
B4=0x1 B5=0x80101350
B6=0x1ad B7=0x88131fa0
B8=0x80100b00 B9=0x3a
B10=0x0 B11=0x0
B12=0x0 B13=0x0
B14=0x88134358 B15=0x80101318
B16=0x30 B17=0x8010050c
B18=0x4c0000 B19=0x100000
B20=0x2000801 B21=0x200482
B22=0xf B23=0x0
B24=0x20001200 B25=0x80002053
B26=0x1001 B27=0x24200
B28=0x220000 B29=0x420080c8
B30=0x70 B31=0x88130e78
NTSR=0x1020f
ITSR=0x20d
IRP=0x88117b7a
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 256: E_exceptionMax: pc = 0x00000000, sp = 0x80101318.
xdc.runtime.Error.raise: terminating execution