
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在上面我们简单对整个CDC_ACM模型的回环通信代码进行了梳理,这一节对整个的执行过程进行总结,首先给出USB设备端的状态机和状态说明。首先,将ESP32S3插入上位机之后,上电复位并启动进入固件,此时ESP32S3虽然已经插入上位机,但注意它并不算是Attached状态,因为此时ESP32S3的DWC2 USB控制器还没有有效上拉D+/D-两根线,所以是Not Attached状态。
ESP-IDF使用uart_obj_t结构体来抽象一个UART设备中可能拥有的所有属性,以及数据缓冲区和一些读写数据时应该记录的信息,这个结构体拥有的域比较繁杂,具体的字段我们在驱动中遇到时再展开解释/*!< UART 端口号 (0, 1, 2) *//*!< UART 事件队列大小 *//*!< UART 中断处理程序句柄 *//*!< UART 模式 (UART / RS485 / IRDA)

本文介绍了ESP32系列MCU中看门狗定时器相关的内容,以及在ESP-IDF中对看门狗的软件抽象以及封装。具体来说,IDF中利用硬件上的两个定时器组中的看门狗定时器,分别作为了任务看门狗(MWDT0)和中断看门狗(MWDT1),并分别通过监视FreeRTOS中的两大基本机制——IDLE TASK和tick中断,实现了对非法超时情况的监视与警告。

这篇博客是ESP-IDF外设驱动系列的第二篇,这篇博客的研究对象是ESP32系列MCU中的定时器组,涉及到的和之前的思路类似,首先,随后深入研究定时器外设的使用方法和其驱动结构组织。

GPIO作为最基本的外设,它的构造和使用还是相对简单的,大部分情况下只需要写入对应管脚的配置寄存器即可改变对应GPIO管脚的属性。然而,GPIO的使用经常会和一些其他组件关联起来,例如GPIO交换矩阵IO多路复用器中断交换矩阵等。本篇博文对有关GPIO的一些基本操作进行了简要的介绍,并对有关GPIO的中断处理程序的基本工作流程做了较为详细的介绍。

在本文中,我们详细讲解了在U-Boot SPL启动过程中,找寻设备树文件的过程以及初始化设备驱动模型(DM)的过程和方法。其中,设备树根据配置的不同以及所处的不同启动阶段,会放置在不同的地址段。而DM的初始化过程,本质上涉及到绑定(bind)和初始化(probe)两个过程,前者更多是软件上的概念,也就是为一个设备创建一个udevice结构体,对其进行初始化并关联到某一个驱动(driver)。后者往
在RISC-V标准中,将异常(exception)定义为当前CPU运行时遇到的与指令有关的不寻常情况,而使用中断(interrupt)定义为因为外部异步信号而引起的让控制流脱离当前CPU的事件。而陷阱(trap)表示的则是,由异常或者中断引起的控制权转移到陷阱处理程序的过程。其实Xv6的定义和RISC-V的定义是相互兼容的,我们说在Xv6中有三种方式会触发陷阱:系统调用、中断和程序异常,其实系统调








