天才13579 发表于 2016-2-27 14:19:57

DE1-SOC中ARM与FPGA的实时通信问题

本人拿到了DE1-SOC后,马上上手cd中的几个小demo,发现arm和fpga之间的通信是通过映射一段内存,通过在这一段内存的写和读来控制以及交换数据。在demo的基础上,我做了一点小修改,将fpga的按键和fpga的led都通过qsys映射到ram中,arm读取按键的内容,然后控制led的亮灭。但是我有一点不太明白,arm怎么知道fpga更新了这段内存中的内容呢?目前我是用轮询的方式,每隔1ms去查看一下这段内存的内容,但是由于linux的非实时性,不能保证每次都是1ms,而且1ms轮询我个人认为还是不够实时,有没有类似于中断或者信号的方式,提醒arm数据有更新,需要读数据了呢?具体实现方法又是什么呢?谢谢大家啦~~!

matthew_wang 发表于 2016-4-6 09:37:58

中断当然是可以的了,不过linux的中断机制需要内核的参与。即需要驱动的支持。Altera 有在内核中提供GPIO的驱动。楼主可以研究研究。
页: [1]
查看完整版本: DE1-SOC中ARM与FPGA的实时通信问题