DHD驱动层dhd_xxx.c 调用总线sdio驱动层bcmsdh_sdio_xxx.c 继而调用控制器层的FIFO,buf,reg等tx rx操作。而这一系列的调用中的内存,io,dma,中断等操作都会用到os的一些接口和结构。
像通用的网络驱动一样,bcm类的驱动,tx data的过程是将skb_buff数据打上硬件头写入到tx fifo或者reg中,同时写入data len,然后等待硬件...
分类:
其他好文 时间:
2015-06-25 17:39:14
阅读次数:
120
其实你可以把显卡想象成另外一台机器。那么控制另外一台机器的办法,就是往它的内存里面写指令和数据。往一块内存里面写东西的办法无非就几种,1, 用CPU去做,那么就是用MMIO(Memory Mapped IO)把'显存' map到CPU寻址空间,然后去读写,2, 用DMA控制器去做,这里面有系统自带的...
分类:
其他好文 时间:
2015-06-24 10:47:11
阅读次数:
116
DMA传输可以是内存到内存、内存到外设和外设到内存。这里的代码通过dma驱动实现了内存到内存的数据传输。
/*
Function description:When we call dmatest_read(),it will transmit src memory data
to dst memory,then print dst memory data by dma_callback_func...
分类:
系统相关 时间:
2015-06-23 21:42:25
阅读次数:
325
源:stm32 DMA数据搬运 [操作寄存器+库函数] DMA(Direct Memory Access)常译为“存储器直接存取”。早在Intel的8086平台上就有了DMA应用了。 一个完整的微控制器通常由CPU、存储器和外设等组件构成。这些组件一般在结构和功能上都是独立的,而各个组件的协调...
分类:
其他好文 时间:
2015-06-23 21:28:44
阅读次数:
240
源:用DMA直接驱动GPIO,实现GPIO最高输出速率先上图:STM32F303芯片,72M的主频可以看到GPIO的达到了14.4M的翻转速率, 再来上代码:RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);GPIOC->MODER |= 0x.....
分类:
其他好文 时间:
2015-06-23 19:38:05
阅读次数:
140
图像处理的专门DMA看一段示例代码 1 /** 2 * @brief Displays a line. 3 * @param Xpos: specifies the X position. 4 * @param Ypos: specifies the Y position. 5 *...
分类:
其他好文 时间:
2015-06-21 11:47:27
阅读次数:
352
1.概念 SurfaceView是View类的子类,可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图视图。它的特性是:可以在主线程之外的线程中向屏幕绘图上。这样可以避免画图任务繁重的时候造成主线程阻塞,从而提高了程序的反应速度。在游戏开发中多用到SurfaceView,游戏中的.....
分类:
移动开发 时间:
2015-06-15 20:17:44
阅读次数:
170
CPU 的占用主要取决于什么样的资源正在 CPU 上面运行,比如拷贝一个文件通常占用较少 CPU,因为大部分工作是由 DMA(Direct Memory Access)完成,只是在完成拷贝以后给一个中断让 CPU 知道拷贝已经完成;科学计算通常占用较多的 CPU,大部分计算工作都需要在 CPU 上完...
分类:
系统相关 时间:
2015-06-15 14:24:33
阅读次数:
169
STM32外设DMA使用总结:
1、根据需要选择DAM模式:
2、对于DMA1的Chanel3,对应外设为USART3的RX
试想:如果串口接收中断和DAM中断同时打开,CPU如何相应?
(1)中断优先级不同:这好说,支持嵌套中断(NVIC)的Cortex-M3自然优先服务中断优先级高的
(2)中断优先级相同:处理原则,先来先处理;若同时到来,中断号低的优先处理
查询手册可知,DMA(IRQn number 13)会先于USART3(39)被CPU处理
3、设置DMA模式为循环模式,则:
(1)只开DMA中...
分类:
其他好文 时间:
2015-06-13 18:39:16
阅读次数:
157
首先感谢 Ubuntu 无线网络连接WIFI(b43驱动出现DMA问题的解决,根据文章的命令找到了问题所在。
1. dmesg | grep b43 (找到问题)
dmesg用于检测和控制内核缓冲,帮助用户了解系统的启动信息。
系统提示到Linux Wireless我们到这里下载firmware,我们直接点击Linux Wireless,打开之后我们发现它提醒说The
old w...
分类:
系统相关 时间:
2015-06-10 22:41:05
阅读次数:
6209