什么是sg

sg 就是 scatter-gather,分散-集中传输
一般情况下,DMA传输一般只能处理在物理上连续的buffer。但在有些场景下,我们需要将一些非连续的buffer拷贝到一个连续buffer中(这样的操作称作scatter gather,挺形象的)。
对于这种非连续的传输,大多时候都是通过软件,将传输分成多个连续的小块(chunk)。但为了提高传输效率(特别是在图像、视频等场景中),有些DMA controller从硬件上支持了这种操作。
注2:具体怎么支持,和硬件实现有关,这里不再多说(只需要知道有这个事情即可,编写DMA controller驱动的时候,自然会知道怎么做)。

如果是循环连接,则传输被叫做循环传输,需要用到device_prep_dma_cyclic()函数进行传输,例如linux下的串口驱动,它的传输buffer是一个环形缓冲区,它用DMA传输时就采用了循环传输方式。

Linux DMA 内dwc_prep_slave_sg函数与device_prep_dma_cyclic函数相关推荐

  1. linux awk 内置函数详细介绍(实例)

    原文地址为: linux awk 内置函数详细介绍(实例) 这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中 ...

  2. linux C函数之strdup函数分析【转】

    本文转载自:http://blog.csdn.net/tigerjibo/article/details/12784823 linux C函数之strdup函数分析 一.函数分析 1.函数原型: [c ...

  3. linux内核网络协议栈--接收流程及函数(九)

    本章来看下,数据是如何从网络中接收并最后到达应用程序的. 网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息. 1.链路层 包到达机器的物理网卡时候触发一个中断,并将通过 ...

  4. linux注册函数机制,Linux可信计算机制模块详细分析之函数实现机制(1)字符设备驱动...

    原标题:Linux可信计算机制模块详细分析之函数实现机制(1)字符设备驱动 2.3 函数实现机制 2.3.1 Linux 字符设备驱动 在linux 3.5.4中,用结构体cdev描述字符设备,cde ...

  5. day13-递归函数、匿名函数、内置函数

    一 什么是函数递归 函数递归调用(是一种特殊的嵌套调用):在调用一个函数的过程中,又直接或间接地调用了该函数本身(也叫递归调用) 1 #直接调用本身 2 def f1(): 3 print('from ...

  6. linux c中字符替换函数,Linux C 支持正则表达式的字符串替换函数

    [root@localhost src]# cat a.c /** * Linux C 支持正则表达式的字符串替换函数 * * Author: cnscn@163.com * Homepage: ww ...

  7. linux系统输入数字 求最大值,写函数,输入n个数字输出最大值和最小值

    # ,写函数,传入n个数,返回字典{'max':最大值,'min':最小值} # 例如:min_max(2,5,7,8,4) 返回:{'max':8,'min':2}(此题用到max(),min()内 ...

  8. 【C++】引用、内联函数、函数重载、函数默认参数(缺省参数)与占位参数、extern “C“ 浅析

    端午继续~         C++对C的扩展 目录 引用 普通变量名引用 对数组的引用 对指针的引用 对函数的引用 引用作为函数的参数 引用作为函数的返回类型 常引用 内联函数 函数重载 函数的默认参 ...

  9. linux中signal函数返回值,signal函数、sigaction函数及信号集操作函数

    信号是与一定的进程相联系的.也就是说一个进程可以决定在进程中对哪些信号进行什 么样的处理.例如一个进程可以忽略某些信号而只处理其他一些信号另外一个进程还可以选择如何处理信号.总之这些总与特定的进程相联 ...

  10. python调用c语言内核计算,在Linux上实现Python调用C语言函数

    一般思路 Python中内置ctypes库,需调用c编译成的.so文件来实现函数调用. 假设我们所需调用的c文件名为test.c,文件里有我们需要的函数func(x,y). 将.c文件编译成 .so文 ...

最新文章

  1. Appfuse:记录操作日志
  2. win7制作ntp服务器,如何将Win7作为NTP服务器
  3. 和平精英android怎么写符号,和平精英名字符号大全 可用的名字特殊符号有哪些...
  4. oracle定时器每天下午6点_宁德男子每天下午4点准时头痛,竟然是……
  5. linux crontab详解
  6. AndroidStudio安卓原生开发_UI控件_TextView_Button_EditText---Android原生开发工作笔记97
  7. idea中ssm集成freemark_基于SSM框架的迷你天猫商城
  8. 在线解方程的计算机,解方程计算器在线使用 方程计算器如何在线使用
  9. spring boot企业合同管理系统 毕业设计源码161456
  10. 红帽linux创建c文件,RedHat成功运行的第一个C程序全过程(适合新手)
  11. 用斐波那契数列绘画银杏树
  12. 移动硬盘无法访问怎么办?还能恢复数据吗?
  13. java json设置编码_java-JSON字符编码
  14. 大学计算机系英语自我介绍,计算机专业复试英语自我介绍范文
  15. 【调剂】广东医科大学黄遵楠教授课题组招药学专业学术型或专业型调剂硕士生(多人)...
  16. 电厂计算机工作原理是什么,电力猫的工作原理是什么?电力猫怎么用?
  17. 【MapReduce】基本原理
  18. IP地址管理工具Netbox 安装指南
  19. 从中国制造到中国智造,大眼橙投影仪的进阶之路
  20. 步进电机电流闭环控制软件: 电流闭环,电流环kp和ki自动计算

热门文章

  1. 上海市城镇生育保险办法
  2. 嵌入式课程设计 —— GPIO接口编程
  3. 计算机类课题研究方法,课题研究方法
  4. 普华永道:AI到2030年将带动全球GDP增长14%,中国成最大受益国
  5. 如何用Excel绘图好看的折线图
  6. PuTTY用户手册(十四)
  7. elementUI 日期时间选择器el-date-picker开始时间与结束时间约束
  8. Webgl-超级基础随笔2-矩阵与绘制Cude
  9. 如何使用iPhoneXR/XSMAX模拟器进行屏幕适配
  10. 玩转数据可视化之R语言ggplot2:(一)ggplot2实现箱线图、小提琴图、直方图等图形(快速入门)