搜索结果
查询Tags标签: DMA,共有 58条记录-
衔尾法解决当无法使用空闲中断以及DMA中断时配置DMA接收串口不定长数据
[Ooonly新人贴]记录工作中遇到的问题,话不多说先上干货 问题:类似K线与蓝牙接收部门模块,要求由原来的接收串口中断改为DMA接收。据说要用到空闲中断与DMA中断,但是经仿真发现DMA每完成传输一个数据(比如1BYTE)就会进入空闲中断(k线发现这种情况),考虑到这样进入中断…
2023/6/20 18:22:05 人评论 次浏览 -
Cache一致性导致的踩内存问题【转】
转自:http://blog.coderhuo.tech/2019/07/28/DMA_mem_crash/ 本文主要分享一个Cache一致性踩内存问题的定位过程,涉及到的知识点包括:backtrace、内存分析、efence、wrap系统函数、硬件watchpoint、DMA、Cache一致性等。 1 背景 设备上跑的是嵌入式实时操作系统(RTOS,…
2022/9/9 5:23:35 人评论 次浏览 -
关于windows11 家庭版 无法关闭内核DMA和基于虚拟化安全的问题(AR40报错)
系统版本:windows11家庭版,出厂自带的windows11家庭版(预装) CPU是inter的11代 我忘记具体型号了(另一台也是inter 12代的I7出现过) 问题概述:在关闭了hyper-v后和手动关闭了内核隔离后,发现系统信息中的内核DMA和基于虚拟化安全的状态依然显示运行,同时如果你选…
2022/9/5 5:23:28 人评论 次浏览 -
LINUX网络子系统中DMA机制的实现
我们先从计算机组成原理的层面介绍DMA,再简单介绍Linux网络子系统的DMA机制是如何的实现的。 一、计算机组成原理中的DMA以往的I/O设备和主存交换信息都要经过CPU的操作。不论是最早的轮询方式,还是我们学过的中断方式。虽然中断方式相比轮询方式已经节省了大量的CPU资源…
2022/7/5 5:20:41 人评论 次浏览 -
linux DMA子系统学习总结(一)--- 串口DMA驱动实现分析
串口DMA驱动实现分析1.1 DMA控制器基本原理DMA控制器用于实现各类存储介质间的数据搬移,存储介质包括内存以及各类外设的寄存器空间;基本的工作原理是,配置好DMA控制器后,通过软件或DMA请求线的方式启动DMA传输,搬移数据时,独自控制系统总线,不需要CPU干预;DMA在完…
2022/6/27 5:20:13 人评论 次浏览 -
stm32 串口DMA源码解析
一 协议:二 源码:/* USART1_RX Init */hdma_usart1_rx.Instance = DMA1_Channel5;hdma_usart1_rx.Init.Request = DMA_REQUEST_2;hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE;hdma_usart1_rx.Init.MemInc = …
2022/2/25 22:37:22 人评论 次浏览 -
STM32 HAL 库实现乒乓缓存加空闲中断的串口 DMA 收发机制,轻松跑上 2M 波特率
前言 直接储存器访问(Direct Memory Access,DMA),允许一些设备独立地访问数据,而不需要经过 CPU 介入处理。因此在访问大量数据时,使用 DMA 可以节约可观的 CPU 处理时间。在 STM32 中一般的 DMA 传输方向:内存->内存、外设->内存、内存->外设。这里的外设…
2022/2/19 23:42:17 人评论 次浏览 -
STM32使用DMA接收不定长数据
开启串口,是能串口全局中断配置DMA并勾选Memory选项继续配置工程并且生成代码添加一些串口通讯使用的全局变量 volatile uint8_t rx1_len = 0; //接收数据长度 volatile uint8_t recv1_flag = 0; //接收完成标记位 uint8_t rx1_buffer[BUF…
2022/1/25 23:05:01 人评论 次浏览 -
35.XDMA原理详解1-DMA描述符概述及DMA数据传输框图
目录 1.DMA 描述符概述 2.DMA(H2C)数据传输框图 2.1什么是描述符链表? 2.2为什么需要描述符表?
2022/1/13 23:03:35 人评论 次浏览 -
35.XDMA原理详解1-DMA描述符概述及DMA数据传输框图
目录 1.DMA 描述符概述 2.DMA(H2C)数据传输框图 2.1什么是描述符链表? 2.2为什么需要描述符表?
2022/1/13 23:03:35 人评论 次浏览 -
操作系统I/O方式总结
程序直接控制方式 计算机每次从外部设备读一个字到存储器,CPU需要循环检查确定该字已经在数据寄存器中这种方式的缺陷在于,要知道CPU很快的,但是I/O速度相对很慢,那么导致CPU资源的极大浪费 中断驱动方式 允许I/O设备打断CPU,让CPU向I/O控制器发送读命令之后,解放CP…
2021/12/10 23:18:04 人评论 次浏览 -
操作系统I/O方式总结
程序直接控制方式 计算机每次从外部设备读一个字到存储器,CPU需要循环检查确定该字已经在数据寄存器中这种方式的缺陷在于,要知道CPU很快的,但是I/O速度相对很慢,那么导致CPU资源的极大浪费 中断驱动方式 允许I/O设备打断CPU,让CPU向I/O控制器发送读命令之后,解放CP…
2021/12/10 23:18:04 人评论 次浏览 -
复旦微ZYNQ SOC AXI_DMA数据传输
国产复旦微SOC平台的应用尚未普及,在ARM CONTEX A7+FPGA架构(PS+PL架构)中,CPU与FPGA通过AXI总线协议进行数据传输,小批量数据可以通过AXI_lite进行交互,大容量的数据需要采AXI_stream协议。 一,AXI总线简介 复旦微采用四核APU,GP总线接口和HP总线接口带宽支持64位…
2021/12/5 23:18:55 人评论 次浏览 -
复旦微ZYNQ SOC AXI_DMA数据传输
国产复旦微SOC平台的应用尚未普及,在ARM CONTEX A7+FPGA架构(PS+PL架构)中,CPU与FPGA通过AXI总线协议进行数据传输,小批量数据可以通过AXI_lite进行交互,大容量的数据需要采AXI_stream协议。 一,AXI总线简介 复旦微采用四核APU,GP总线接口和HP总线接口带宽支持64位…
2021/12/5 23:18:55 人评论 次浏览 -
【深入探讨】DMA到底能不能起到加速程序执行的作用,DMA死等操作是否合理,多个DMA数据流同时刷是否处理过来
我们这里主要以STM32平台为例进行说明。一、DMA到底能不能起到加速的作用初学的时候,很容易存在这样的认识,DMA直接从一个外设到另一个外设的数据传输,少了CPU的参与,直接硬件传输,应该可以做到更快。我们这里用实验数据说话,争取有理有据,下面是STM32H7的DMA2D,D…
2021/11/27 20:42:22 人评论 次浏览