【lwIP(第二章)】以太网DMA

目录

  • 一、以太网DMA描述符简介
  • 二、以太网DMA描述符结构
  • 三、如何追踪描述符
  • 总结

一、以太网DMA描述符简介

发送:不需要CPU的参与下,把描述符指向的缓冲区数据传输到Tx FIFO当中
接收:不需要CPU的参与下,将Rx FIFO中的数据传输到描述符指向的缓冲区当中

在这里插入图片描述
常规描述符结构

/* stm32f4/f7/h7xx_hal_eth.h */
typedef struct 
{ 
	__IO uint32_t Status; 			/* 状态 */ 
	uint32_t ControlBufferSize; 	/* 缓冲区1和2的大小 */ 
	uint32_t Buffer1Addr; 			/* 缓冲区1的地址 */ 
	uint32_t Buffer2NextDescAddr; 	/* 缓冲区2的地址/指向下一个描述符 */ 
	/* 以下成员变量为增强描述符的 */ 
    	/* ……………………*/
} 
ETH_DMADescTypeDef;

TX DMA描述符成员变量
在这里插入图片描述
● TDES0[31]置0:CPU可将数据拷贝到描述符中,拷贝完成之后把该位置1,告诉DMA可以发送数据

● TDES0[20]置1:描述符中的第二个地址是下一个描述符地址

● TDES1[28:16]:如果TDES0[20] 位置1,则该字段无效

● TDES3[31:0]:取决于TDES0[20]的值,为1,则指向下一个描述符地址


RX DMA描述符成员变量
在这里插入图片描述
● RDES0[31]置1:MAC将数据从RX FIFO传输到RX描述符中,拷贝完成之后该位置0,告诉CPU可以接收数据

● RDES0[14]置1:描述符中的第二个地址是下一个描述符地址

● RDES1[28:16]:如果RDES0[14] 位置1,则该字段无效

● RDES3[31:0]:取决于RDES0[14]的值,为1,则指向下一个描述符地址


二、以太网DMA描述符结构

在这里插入图片描述

在这里插入图片描述


以太网DMA描述符注意细节
在这里插入图片描述


三、如何追踪描述符

ETH_HandleTypeDef中定义了RxDesc和TxDesc指针,它们是用来追踪Rx/Tx的DMA描述符(旧)

ETH_InitTypeDef中定义了RxDesc和TxDesc指针,它们是用来追踪Rx/Tx的DMA描述符(新)

在这里插入图片描述


总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/2916.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3 天交付新需求?极狐GitLab APP 「极限编程 XP」实践

近日,中移物联网有限公司、北京青云科技股份有限公司联合举办的 “2023 云原生重庆站技术分享会” 如期召开。会上,极狐(GitLab) 高级解决方案架构师刘剑桥带来《云原生极限编程 101》主题分享。本文整理自演讲内容,你可以阅读到:…

java调用chatgpt接口,实现专属于自己的人工智能助手

文章目录前言导包基本说明请求参数响应参数创建请求和响应的VO类代码编写使用最后说明前言 今天突然突发奇想,就想要用java来调用chatget的接口,实现自己的聊天机器人,但是网上找文章,属实是少的可怜(可能是不让发吧)。找到了一些…

【数据结构与算法】什么是双向链表?并用代码手动实现一个双向链表

文章目录一、什么是双向链表二、双向链表的简单实现一、什么是双向链表 我们来看一下这个例子: 在一个教室里,所有的课桌排成一列,如图 相信在你们的读书生涯中,老师肯定有要求你们记住自己的前后桌是谁。所以该例子中&#x…

J 砍竹子

砍竹子 【问题描述】 这天,小明在砍竹子,他面前有 n 棵竹子排成一排,一开始第 i 棵竹子的高度为 hi . 他觉得一棵一棵砍太慢了,决定使用魔法来砍竹子。魔法可以对连续的一段相同高度的竹子使用,假设这一段竹子的高度…

菜鸟刷题Day5

⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.一维数组的动态和:1480. 一维数组的动态和 - 力扣(LeetCode) 描述 给你一个数组 nums 。数组「动态和」的计算公式…

为了之后找工作不被虐,每天刷3道《剑指offer》Day-1

本文已收录于专栏🌻《刷题笔记》文章目录前言💖 1、二维数组中的查找题目描述思路💖 2、替换空格题目描述思路💖 3、从尾到头打印链表题目描述思路一(反转函数)思路二(递归)思路二&a…

Celery使用:优秀的python异步任务框架

目录Celery 简介介绍安装基本使用Flask使用Celery异步任务定时任务Celery使用Flask上下文进阶使用参考停止Worker后台运行Celery 简介 介绍 Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具。 它是一个…

文心一言 vs GPT-4 —— 全面横向比较

文心一言 vs GPT-4 —— 全面横向比较 3月15日凌晨,OpenAI发布“迄今为止功能最强大的模型”——GPT-4。我第一时间为大家奉上了体验报告《OpenAI 发布GPT-4——全网抢先体验》。 时隔一日,3月16日下午百度发布大语言模型——文心一言。发布会上&#…

4万字企业数字化转型大数据湖项目建设和运营综合解决方案WORD

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。部分资料内容: 3.1.4沙盒管理 利用Docker, 基于kubernetes主打的容器技术与微服务应用基础平台,HDFS和YARN均可依此建模,为上层应用提供微服…

不愧是2023年就业最难的一年,还好有车企顶着~

就业龙卷风已经来临,以前都说找不到好的工作就去送外卖,但如今外卖骑手行业都已经接近饱和状态了,而且骑手们的学历也不低,本科学历都快达到了30%了,今年可以说是最难找到工作的一年。 像Android 开发行业原本就属于在…

学习 Python 之 Pygame 开发魂斗罗(十)

学习 Python 之 Pygame 开发魂斗罗(十)继续编写魂斗罗1. 解决敌人不开火的问题2. 创建爆炸效果类3. 为敌人跳入河中增加爆炸效果4. 玩家击中敌人继续编写魂斗罗 在上次的博客学习 Python 之 Pygame 开发魂斗罗(九)中,…

深度长文 | 数据安全共享技术发展综述及在能源电力领域应用研究

开放隐私计算 编者按数据要素的流通共享与协同应用是数字时代中数据要素市场培育的核心内容,数据安全共享技术能够有效实现数据的安全共享,避免“数据孤岛”现象、隐私泄露事件等.本文对国内外数据安全共享技术研究成果及进展进行了全面综述.首先&#x…

[前端笔记037]vue2之vuex

前言 本笔记参考视频,尚硅谷:BV1Zy4y1K7SH p105 - p116 vuex简介和基本使用 概念:专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 vue 应用中多个组件的共享状态进行集中式的管理(读/写&…

CVPR 2023 | 旷视研究院入选论文亮点解读

近日,CVPR 2023 论文接收结果出炉。近年来,CVPR 的投稿数量持续增加,今年收到有效投稿 9155 篇,和 CVPR 2022 相比增加 12%,创历史新高。最终,大会收录论文 2360 篇,接收率为 25.78 %。本次&…

烤鱼界头牌半天妖发文致歉,背后暴露了哪些问题?

3月24日,半天妖烤鱼官方针对“两家门店食品安全问题”,发表致歉声明,并宣布将两家涉事门店永久关停。半天妖烤鱼爆出的食品安全问题再次提醒我们,加强门店监管和管理工作,保障消费者的健康和安全,成为了行业…

7.避免不必要的渲染

目录 1 组件更新机制 2 虚拟DOM配合Diff算法 3 减轻state 4 shouldComponentUpdate() 4.1 基本使用 4.2 使用参数 5 纯组件 5.1 基本使用 5.2 纯组件的比较方法 shallow compere 1 组件更新机制 当父组件重新渲染时,父组件的所有子组件也会重新…

如何理解AQS

AQS核心数据结构 AQS内部主要维护了一个FIFO(先进先出)的双向链表。 AQS数据结构原理 AQS内部维护的双向链表中的各个节点分别指向直接的前驱节点和直接的后续节点。所以,在AQS内部维护的双向链表可以从其中的任意一个节点遍历前驱结点和后…

【尝鲜版】ChatGPT插件开发指南

3月23日,OpenAI官方发布了一则公告,宣告ChatGPT已经支持了插件功能,现在处于内测阶段。插件的意义不仅仅在于功能的扩展,它直接让ChatGTP拥有了联网的能力!简直是猛兽出笼、蛟龙出海,要让ChatGPT大杀特杀啊…

phpstorm断点调试

环境:win10phpstorm2022phpstudy8lnmp 1、phpinfo(); 查看是否安装xdebug,没有走以下流程 2、phpstudy中切换不同版本php版本,有些版本不支持xdebug(如php8.0.2),有些已经自带了(如php7.3.9&a…

Java奠基】Java经典案例讲解

目录 卖飞机票 找质数 开发验证码 数组元素的复制 评委打分 数字加密 数字解密 抢红包 模拟双色球 二维数组 卖飞机票 需求:机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。按照如下规则计算机票价格: 旺季&…