DMA的基本概念 直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行 。DMA方式一般用于高速传送成组数据。DMA控制器将向内存发出地址和控制信号,修改地址,对传送的...
分类:
其他好文 时间:
2015-08-11 15:38:44
阅读次数:
151
Zynq Qspi控制器支持三种模式:I/O模式、线性地址模式和传统SPI模式,其中线性地址模式双片选支持最大的线性地址空间为32MB,可通过PS DMA读取。本文就对QSPI的使用细节作简要总结。...
分类:
其他好文 时间:
2015-08-10 16:12:14
阅读次数:
1026
函数接口
设备初始化函数
网络设备驱动在 Linux 内核中是以内核模块的形式存在的,对应于模块的初始化,需要提供一个初始化函数来初始化网络设备的硬件寄存器、配置 DMA 以及初始化相关内核变量等。设备初始化函数在内核模块被加载时调用,它的函数形式如下:
static int __init xx_init (void) {
……
}
module_init(xx_...
分类:
系统相关 时间:
2015-08-08 22:56:00
阅读次数:
251
Xilinx ML605 工程:dma_performance_demo.rar http://download.csdn.net/download/yuzeren48/7723795Bus Master DMA Performance Demonstration Reference Design ...
分类:
其他好文 时间:
2015-08-04 18:48:31
阅读次数:
106
(转)http://blog.csdn.net/zeflove/article/details/7337012端口地址范围 分配说明0x000-0x01f 8237A DMA控制器10x020-0x03f 8259A 可编程中断控制器10x040-0x05f 8253/8254|A 定时计数器0x0...
分类:
其他好文 时间:
2015-07-31 20:19:25
阅读次数:
237
Linux 网卡驱动学习(缓存描述符 Buffer Description)。BD 描述符包含了报文很多信息,比如长度,报文的缓存地址等等。...
分类:
系统相关 时间:
2015-07-30 23:23:21
阅读次数:
279
使用STM32CubeMX生成初始化代码。
问题:
HAL_UART_Transmit_DMA函数只能调用一次,第二次就返回状态HAL_UART_STATE_BUSY 0x02。
原因:
stm32l1xx_hal_uart.c开头有描述
(##) DMA Configuration if you need to use DMA process (HAL_UA...
分类:
其他好文 时间:
2015-07-30 13:35:07
阅读次数:
542
Zynq-7000系列器件PS端的DMA控制器采用ARM的IP核DMA-330(PL-330)实现。有关DMA控制器的硬件细节及相关指令集、编程实例内容参考ARM官方文档:
DDI0424D:dma330_r1p2_trm.pdf
DAI0239A:dma330_example_programs.pdf
本文开发环境为Xilinx SDK2015.2,DMA库版本为dmaps_v2_1。...
分类:
其他好文 时间:
2015-07-29 19:20:08
阅读次数:
1029
对audio代码进行压力测试的时候,我们往往会循环播放一首音乐。实际上,无论是aplay还是tinyplay来循环播放音乐,两个循环之间,都伴随着音频流的关闭和再次打开,对应到底层,也就是DMA与I2S/SPDIF的关闭和再次开启。这实际上是起不到太多压力测试DMA与I2S/SPDIF的作用的。
最近做机顶盒芯片,发现电视的音频输出,是和手机或PAD不一样的,理论上讲,电视可以做到播放一个台N多...
分类:
其他好文 时间:
2015-07-28 14:35:04
阅读次数:
198
在调试低功耗时,最好关闭串口,需要修改宏:
HAL_UART=FALSE
HAL_UART_DMA=1
HAL_UART_ISR=0
HAL_UART_TX_BY_ISR=1
但是修改完之后会编译错误,提示 Undefine external “print_msg”。。。
原因是这个函数在 _hal_uart_dma.c 文件中定义,但是修改了宏之后也把 #include ...
分类:
其他好文 时间:
2015-07-28 13:00:16
阅读次数:
143