我使用的是TMS320C6678,编译器是ccsv5.4,没有用SYS/BIOS,核间中断是TI提供的API函数,单独进行八核的核间通信通过了,加入到与上位机进行发送数据的大程序中,核0与核1进行通信:
KICK0 = KICK0_UNLOCK;
KICK1 = KICK1_UNLOCK;
IPC_Trigger();//核01给核1发送中断
KICK0 = KICK_LOCK;
KICK1 = KICK_LOCK;
核1处理完数据后回到核0,然后通过网口进行数据发送,但是到raw_send函数时就会出错。
send_data_image_header->payload = (unsigned short *)&seekerUPDHeader;
send_data_image_header->len = send_data_image_header->tot_len = sizeof(SEEKER_UDP_HEADER);
raw_send(pcb, send_data_image_header);
若不进行核间中断,网络发送并没有问题。
核间中断为什么会和网络发送数据冲突?还请各位大神不吝赐教
Shine:
请问核间中断后,核1处理完什么数据?有没有修改网口的参数?
我的世界不荒凉:
回复 Shine:
你好,核1并没有处理任何数据,等待到核0发来的中断后打印一行字(printf),然后就给核0中断,接着核0进行网口搬数。但是核0中的参数莫名的就变了。。。