FPGA
文章平均质量分 66
最好有梦想~
野生程序员
展开
-
基于XDMA的简易FPGA网卡实现(一)
XDMA虽然是sgdma,但驱动一次只能发送一个包(可能有多个分片),等完成中断才能唤醒下一次发送,所以发送速度不理想。skb_put修改sk_buff的tail和len,dma_unmap_single sk_buff的物理地址,执行netif_rx提交到协议栈。ip:提供axis数据位宽转换功能,将xdma 128bit axi-stream转为8bit供fifo使用,使用了两个此模块实现双向转换。在网卡驱动的probe函数中进行第一次接收,在接收完成中断或tasklet中配置后续接收。原创 2024-03-27 21:10:32 · 965 阅读 · 0 评论 -
基于XDMA的简易FPGA网卡实现(二)
上一期笔者实现了百兆网卡,但使用iperf测tcp速度时,tcp发送速度只有33Mb。本期记录此问题解决过程。原创 2024-04-05 16:42:30 · 355 阅读 · 0 评论 -
XDMA驱动流程分析
通过xmind简图,描述xdma驱动加载及执行流程原创 2024-01-11 12:56:54 · 759 阅读 · 0 评论 -
串口控制器及驱动实现
增加一个程序版本寄存器,方便核对程序版本uart控制器寄存器依次为:0x00 串口使能寄存器0x04 串口读写控制寄存器0x08 串口数据寄存器0x0c 串口发送波特率寄存器0x10 串口发送fifo数据个数寄存器0x14 串口发送fifo状态寄存器0x18 串口接收波特率寄存器0x1c 串口接收fifo数据个数寄存器0x20 串口接收fifo状态寄存器0x24 串口中断控制寄存器/* OFFSET:0x00 版本信息 *///程序版本。原创 2024-01-04 17:17:39 · 915 阅读 · 0 评论