根据自己的理解,程序分为三个部分:
1、硬件相关的操作
2、使用多线程与板卡交互的逻辑处理
3、bmp文件的读取和写回
上面已经初步了解了第3条,下面看第2条
这其中包含了两个同步:
1、软件和硬件的同步,即软件需要读取设备文件,然后判断是否可以发送或者读取图像;
2、软件中线程间的同步,判断完成后,通过信号量告知其它线程去读取或者发送图像。
所以,这需要在两个地方阻塞:
1、读设备文件,不满足时无法读取返回;
2、发送或者读取图像的线程使用信号量等待信号量的产生。
共有四个线程:
总结起来,分为 4 个操作,监控 MM2S VDMA 中断,通过 PCIE 向MM