首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    树莓派4有线网卡驱动调试笔记

    从树莓派底层玩家的角度上来看,树莓派4算的上一款比较好的开发板。在树莓派4之前,有线网卡的驱动都是接在USB设备上,也就是说之前的树莓派都是必须启用了USB协议,然后再开启网卡,这样网速的差别以及网络处理效率上的差别也就不敢恭维了。博通bcm的网卡芯片还是不错的,这次为树莓派4适配和千兆以太网口,配上树莓派4的a72的4核的芯片,真的算是非常的良心的开发板了。学习网络编程,除了熟悉各种TCP,UDP的协议之外,如果能够了解底层驱动的工作原理,那也算是锦上添花的事情。本文主要针对树莓派4有线网卡的驱动模型,以及数据收发的方式,进行梳理总结,同时学习一些比较好的网卡设计模式。

    01

    FPGA与嵌入式CPU的Local Bus接口调试

    记得在HINOC1.0的时候,FPGA样机上采用Intel XScale PXA270(ARM CPU)芯片与FPGA芯片互连,采用的接口时序就是Local Bus总线的时序,该时序与CPU与外挂异步SRAM接口时序一样,这样HINOC芯片就可以看做是ARM CPU的一个外设,可以分配可配置的寄存器或RAM等访问空间。具体时序图如下图所示,总线包括地址、片选、读/写信号,下图是简单的读时序。注意,所谓异步,就是CPU接口总线与FPGA相应接口是不同步的,也就是CPU送给FPGA的信号中不包括时钟信号,FPGA需要通过自己内部的时钟信号去采CPU接口的地址、数据等信号,同步后才能使用。如下图中的CPU读FPGA时序,CPU给出度地址和读控制信号后,等待tAA时间后才能从数据总线上取到正确的有效的数据,这个tAA时间长短是可以通过设置PXA270中的寄存器来进行调整的。

    03
    领券