初学者:FPGA驱动的问题

发布于 2022-09-18 18:58:54 字数 81 浏览 22 评论 0

我是一个刚接触Linux驱动的菜鸟,最近在做个东西,是一个FPGA通过PCI总线连在ARM上,我现在要在Linux读取这个FPGA,大体思路是什么?谢谢前辈帮助。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

逐鹿 2022-09-25 18:58:54

问题都没讲清楚,你要读写FPGA片子上的啥,RAM?对于PCI/PCIe的外设通常是利用某个BAR来映射一段物理地址空间来使用,然后在驱动中再通过ioremap映射到内核的虚拟空间中,调用readX/writeX对于指定的地址读写时实际上是直接发读写信号给外设,外设上收到信号之后地址译码器根据BAR值和CPU想访问的值来判断出想做什么操作。

ARM的话应该没有MMU吧,不知道ioremap是不是可以省了,没在这个平台上写过驱动。

热风软妹 2022-09-25 18:58:54

通过pci连接,这不能叫fpga驱动,应该是标准的pci驱动。看看pci的例子。
建议看看网卡驱动,网卡一般都是通过pci连接的

執念 2022-09-25 18:58:54

原帖由 bjgs2004 于 2009-3-22 09:51 发表
我是一个刚接触Linux驱动的菜鸟,最近在做个东西,是一个FPGA通过PCI总线连在ARM上,我现在要在Linux读取这个FPGA,大体思路是什么?谢谢前辈帮助。

你这个属于PCI驱动编程范畴,看看内核里相关的PCI驱动就可以了。

有个问题请教一下楼主,你用什么型号的芯片,我找了好长时间带PCI
总线的ARM都没找到。

╰ゝ天使的微笑 2022-09-25 18:58:54

原帖由 Cyberman.Wu 于 2009-3-22 13:35 发表
问题都没讲清楚,你要读写FPGA片子上的啥,RAM?对于PCI/PCIe的外设通常是利用某个BAR来映射一段物理地址空间来使用,然后在驱动中再通过ioremap映射到内核的虚拟空间中,调用readX/writeX对于指定的地址读写时 ...

一般的ARM7不带MMU功能,ARM9以上都有MMU功能

伤感在游骋 2022-09-25 18:58:54

哦,IXP425,一个小的PCI接口。

无法言说的痛 2022-09-25 18:58:54

谢谢各位了,是我的错,我搞错了,不是连在PCI上,而是连在扩展总线上了,与PCI每关系。
刚接触,不要见笑,呵呵。
这里又有一个问题:我用的是uclinux,它是不是没有虚拟内存管理啊?如果没有,那么ioremap还起作用吗?还有,如果没有中断处理,我直接在应用层写驱动行不?

夜无邪 2022-09-25 18:58:54

用uclinux就简单了,就不需要映射了,可以直接操作地址空间了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文