ICode9

精准搜索请尝试: 精确搜索
  • 基于stm32F407ZGT6的三重ADC交替采样+DMA传输数据+定时器TRGO触发2022-08-02 13:03:56

    好久没写博客了,最近挺忙的。近来有些好玩的实现,网上的资料并不是非常详细,打算慢慢写下来,希望别人能少走一点弯路。 因为希望提高ADC的采样率,这次我试着实现了一下三重ADC交替采样+DMA搬运至内存+TIM的TRGO触发采样(环境是stm32cubemx 6.5.0和keil 5)  首先打开cubemx进行基础设置

  • 【一知半解】零值拷贝2022-07-28 11:05:18

    传统IO 应用调用read方法向操作系统发起读数据的请求,此时由用户态切换为内核态 当系统收到读数据请求时,利用DMA控制器把数据从磁盘读取到系统缓存区中(图中2.1) 再然后CPU会把系统缓存区的数据写应用缓存区(图2.2),此时由内核态切换为用户态 应用再调用write方法通知系统进行数据

  • BSP视频教程第21期:轻松一键实现串口DMA不定长收发,支持裸机和RTOS,含MDK和IAR两种玩法,比STM32CubeMX还方便(2022-07-24)2022-07-27 10:35:27

    视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519   我们这里采用CMSIS Pack一键创建,支持MDK和IAR,不需要大家做底层研究,仅需关心上层应用即可,且支持裸机和RTOS玩法。 优势是简单易实现,劣势是喜欢上这种玩法后,会无法自拔,不再愿意花心思去研究源代码了

  • 【操作系统】中断2022-07-25 17:04:52

    写在前面   本系列的文章是博主边学边记录的,可能不是特别的正确,因为会加上博主自己的理解,仅供参考。 正文:   在上一篇中,说到了中断,于是呢,我又去看看关于中断的相关章节,整理出一篇博文来。    1.为什么要有中断     中断在操作系统中有着特殊且重要的地位,中断是多道

  • LINUX网络子系统中DMA机制的实现2022-07-04 19:31:48

    我们先从计算机组成原理的层面介绍DMA,再简单介绍Linux网络子系统的DMA机制是如何的实现的。 一、计算机组成原理中的DMA 以往的I/O设备和主存交换信息都要经过CPU的操作。不论是最早的轮询方式,还是我们学过的中断方式。虽然中断方式相比轮询方式已经节省了大量的CPU资源。但是在

  • DMA和MMAP2022-06-28 14:00:29

    1.DMA的用途?   用于将视频采集数据通过DMA从存储资源紧张的片内缓存区搬运至片外SDRAM帧缓冲区,实现图像的高速传输;----这种传输模式也叫 流模式传输   2.什么是 流模式传输?   流模式传输是Altera Nios II嵌入式系统中的一种高级Avalon总线传输方式。这种传输模式在流模式主

  • linux DMA子系统学习总结(一)--- 串口DMA驱动实现分析2022-06-26 23:34:05

      串口DMA驱动实现分析   1.1 DMA控制器基本原理   DMA控制器用于实现各类存储介质间的数据搬移,存储介质包括内存以及各类外设的寄存器空间;   基本的工作原理是,配置好DMA控制器后,通过软件或DMA请求线的方式启动DMA传输,搬移数据时,独自控制系统总线,不需要CPU干预;   DMA在完

  • 使用DMA传输优化STemwin 绘图2022-06-23 01:00:50

    贴一下代码 !    提高图片填充速率,把DMA资源利用上 在_DrawBitmap函数中修改会出现侧面图片缺损问题,  

  • 零拷贝2022-06-07 01:03:57

    在业务场景中,我们的数据会存放在多种空间中,也需要在多种空间中传输来实现系统的功能以及保证系统的安全性. 数据存放的空间有:内核缓冲区,用户空间,磁盘,网络缓冲区. 其中网络缓冲区,磁盘的数据是有设备驱动来实现的.其中设备和内核缓冲区的访问可以使用cpu来发送指令也可以适用

  • STM32CUbeMAX 串口+DMA中断收发实验2022-05-31 17:32:15

    串口配置: 异步,波特率:19200,每帧:1字节;无校验;1停止位    中断设置:考虑到后期使用freertos,可控制中断配置为:4位抢占优先级,15>=中断优先级级>=5(越低,优先级越高)      DMA设置:以字节为数据单位,内存地址累加 生成工程文件:   在stm32f1xx_it.h 文件添加 #define BUFF_MA

  • 【BSP视频教程】STM32H7视频教程第15期:几张手册框图讲明白DMAMUX和DMA各种玩法,FIFO,突发传输,不同位宽传输方式等(2022-05-21)2022-05-26 12:34:20

    视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519   DMAMUX是将DMA灵活性发挥到新高度的关键外设,并借助H7四通八达的总线矩阵和各种外设都支持DMA,可以实现很多DMA同时干活。 视频: https://www.bilibili.com/video/BV1vF411L7Qn 本期视频主要分为如

  • HAL库H7,CubeMX6.40,固件库191,ADC+DMA初始化BUG问题2022-05-18 12:04:57

    此BUG会导致DMA晚于ADC初始化,而ADC又调用了DMA所以无采集值。 解决方法:手动调整DMA初始化位置置ADC之前(如果使用了其他外设并且它们也调用了DMA那么DMA初始化也应该在它们之前),或者在CubeMX初始化顺序设置中将DMA提前。 ​​

  • STM32H7 ADC+DMA+TIM 数据覆盖问题2022-05-18 12:03:18

    使用计时器触发的ADC速度较快时,如果没有及时清除标志位,将导致ADC数据被覆盖,造成类似混叠现象,建议使用单次DMA传送,处理完数据后再手动开启即可。这里附上配置图: ​​ ​​​

  • 搞懂Linux零拷贝,DMA【转】2022-05-17 15:03:27

    转自:https://blog.csdn.net/Rong_Toa/article/details/108825666 目录 为什么要有 DMA 技术? 传统的文件传输有多糟糕? 如何优化文件传输的性能? 如何实现零拷贝? PageCache 有什么作用? 大文件传输用什么方式实现? 总结   磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10

  • 一款DMA性能优化记录:异步传输和指定实时信号做async IO【转】2022-05-17 15:01:20

    转自:https://www.cnblogs.com/arnoldlu/p/10219704.html DMA本身用于减轻CPU负担,进行CPU off-load搬运工作。 在DMA驱动内部实现有同步和异步模式,异步模式使用dma_async_issue_pending(),然后在callback()中发送SIGIO信号,用户空间收到SIGIO进行handler处理视为一个周期完成。 同步

  • RISC-V MCU应用教程之DMA(存储器到外设)2022-04-24 14:32:28

    简介 CH32V103系列是以青稞V3A处理器为核心的32位通用MCU,该处理器是基于RISC-V开源指令集设计。片上集成了时钟安全机制、多级电源管理、通用DMA控制器。此系列具有1路USB2.0主机/设备接口、多通道12位ADC转换模块、多通道TouchKey、多组定时器、多路IIC/USART/SPI接口等丰富的外

  • I/O设备——DMA方式2022-04-02 07:00:15

    DMA方式:设备需要进行数据传送时,通过DMA控制器(DMA接口)向CPU提出DMA传送请求,CPU响应之后将让出系统总线,由DMA控制器接管总线进行数据传送。 主存和DMA接口之间有一条数据通露,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场,因此工

  • axi DMA2022-03-27 14:03:10

                                   microdma  高优化的DMA,使用较少的资源。这个选项一般用在传输非常少量数据的场景  

  • I/O设备——I/O设备的概念2022-03-27 07:00:25

    一.早期阶段:CPU和IO设备串行工作,分散连接,I/O设备与主存交换信息必须经过CPU. 程序查询方式:由CPU通过程序不断查询IO设备是否己做好准备,从而控制IO设备与主机交换信息。 二.接口模块和DMA阶段:CPU和IO并行工作,总线连接,IO设备通过接口模块连接总线上与CPU交流 中断方式:只在设备准备

  • 磁盘IO-为什么说IO密集型很少消耗CPU资源?2022-03-20 19:01:28

    我们都知道磁盘io,网络io,是不会消耗cpu资源的,但是说原理,你说得清么? 今天我们就从底层原理,简单直白的说清楚,为什么磁盘io很少消耗CPU资源。 一、内核缓冲区与用户缓冲区 我们知道应用程序因为调用权限限制,分为用户态和内核态。 当我们需要把应用程序里面的数据写入到磁盘或者网

  • [STM32]Cubemx+USBAudio声卡+I2S+DMA+WM8978实验记录(未解决)2022-03-20 13:03:00

    本篇是记录做这个实验时发现的问题现象做的记录,最终没有解决问题 开发板:正点原子探索者stm32f407zgt6 实验功能:使用USB作为音频设备连接电脑,接收音频数据,在通过I2S+WM8978实现音频播放 问题:网上实现的方式(Cubemx配置)有很多,但都不能达到正点原子的效果,主要表现是播放的音质有

  • Cyusb3014芯片原理之二固件代码(十)2022-03-032022-03-03 09:32:05

    Cyusb3014芯片原理之二固件代码 1.固件程序代码组成 cyfx_gcc_stratup.s 该文件存放USB3.0数据采集模块ARM-9核心处理器启动代码的汇编源文件。 cyfxgpif2config.h GPIF波形描述符,由GPIF Designer生成,可直接导入工程中,实现对GPIFII接口的控制。GPIF II Designer的工程是后缀

  • Cyusb3014芯片原理之一数据流(九)2022-03-012022-03-01 21:31:34

    Cyusb3014芯片原理之一数据流 1.FX3芯片架构 如图所示,FX3 拥有一个片上 32 位 200 MHz ARM926EJ-S 内核 CPU。该内核能直接访问 16 KB 的指令紧耦合存储器(TCM)和8 KB 的数据紧耦合存储器。ARM926EJ-S 内核还提供了用于固件调试的 JTAG 接口。FX3 集成了 512 KB 或 256 KB 的

  • stm32 串口DMA源码解析2022-02-25 20:00:37

    一 协议:   二 源码: /* 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; h

  • (145)FPGA面试题-介绍DMA传输机制2022-02-24 18:04:25

    1.1 FPGA面试题-介绍DMA传输机制 1.1.1 本节目录 1)本节目录; 2)本节引言; 3)FPGA简介; 4)FPGA面试题-介绍DMA传输机制; 5)结束语。 1.1.2 本节引言 “不积跬步,无以至千里;不积小流,无以成江海。就是说:不积累一步半步的行程,就没有办法达到千里之远;不积累细小的流水,就没有办法汇成江河大海。

专注分享技术,共同学习,共同进步。侵权联系[[email protected]]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有