今天试了一下双核通讯问题,遇到了很多的困难,这里记录一下为以后万一忘了可以康康
51的串口之谜
今天又试了好久好久51板子上的串口,得出结论是三组引脚最左边的那组。。。
通讯中的问题
1.原来两个CPU会抢资源的(怪不得调了一下午出不来=.=)
2.解决抢资源的代码
IfxCpu_mutexLock g_MuteUart;
if(IfxCpu_acquireMutex(&g_MuteUart))
{
//自己的代码
IfxCpu_releaseMutex(&g_MuteUart);
}(来自龙邱)
但是俺一直试会有问题,就是cpu1会出错误
trapWatch = { tAddr = 2147487530; tId = 2 ; tClass = 4 ; tCpu = 1 ; }
然后又找了官网的手册查错(连接:https://www.infineon.com/dgdl/Infineon-AURIX_CPU_Trap_Recognition_1_KIT_TC297_TFT-Training-v01_00-EN.pdf?fileId=5546d46270c4f93e017106b1830946a3)
之后,就不会搞了。。QAQ。。说是可以定位到代码出错的地方,但是是啥原因找成的俺还是不知道(然后龙邱例程里面是可以的)
3.双核通信可以就用一个全局变量作为flag来通讯,不过当cpu1有其他任务时就要用CPU中断了,龙邱的库还没发出来,而且这个TC264的中断向量表咋找呀。。
明天还有通电。不搞了。。