嵌入式入门生
哈喽,这个方向选得好,但得做好心理准备,工作量不小。智能网卡涉及硬件逻辑、驱动、协议栈甚至操作系统,一个人全搞不现实。我给你的落地思路是:聚焦一个具体的、小的“卸载”功能来体现“智能”。比如,用FPGA硬件实现TCP/UDP checksum校验的卸载,或者实现一个简单的流表匹配(类似极简版OpenFlow)。这样你只需要在FPGA里写一个数据路径处理模块,配合DMA和主机交互。你需要学的协议主要是以太网帧结构、IP和TCP/UDP头部格式;IP核主要是DMA控制器和以太网MAC。强烈建议用带ARM核的ZYNQ平台,用PS端跑Linux和驱动,PL端做加速,这样软硬协同更贴近实际。开源参考可以看Xilinx的QDMA子系统驱动和例子,虽然复杂但文档全。千万别一开始就扎进RDMA,那水太深了。
