我想实现的功能是:
FPGA将数据通过SRIO发给DSP,DSP通过NDK发给上位机。
我的逻辑是:
1.DSP端程序运行起来后,首先执行NDK的TASK,配置完相应的IP后等待FPGA的数。
2.FPGA发完数给DSP一个doorbell,然后进入DSP的中断服务函数,中断函数中包含了取数过程和改变一个全局变量的值。
3.DSP收到HWI就会进入ISR取数并改变一个全局变量的值。这个全局变量的改变是NDK的TASK继续执行的一个判断条件。
现在的问题是:
1.DSP端能成功配置IP,也能收到FPGA传来的数据,也将数据搬移到了我定义的数组里。
2.我设置作为UDP线程执行的判断条件的变量也成功的改变了,但是程序没有再回去执行NDK线程了。
所以现在我不明白的是,DSP进入HWI的ISR之后,为什么不能再返回执行NDK的线程了。
谢谢各位好心人。
Shine:
请问这个“判断条件的变量”是放在哪里的?这块memory是不是cache的?