一、写在前面:合格的linux驱动工程师需要满足下面的条件,本文的目标就是将这些条件原原本本的呈现给读者1、有一定的硬件基础,懂得SRAM,Flash,SDRAM,磁盘的读写方式,了解UART,IIC,USB等设备接口,了解轮询,中断,DMA的原理,PCI总线的工作方式以及CPU的内存管理单元(MM...
分类:
系统相关 时间:
2015-03-03 18:18:09
阅读次数:
224
DMA编程
DMA是一种无需要CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制,使用DMA可以使系统CPU从实际的I/O数据传输过程中摆脱出来,从而大大提高系统的吞吐率
DMA方式的数据传输由DMA控制器控制,在传输期间,CPU可以并发地执行其他任务,当DMA结束后,DMA控制器通过中断通知CPU数据传输已经结束,然后由CPU执行相应的中断服务程序进行后序处理.DMA可以用做内...
分类:
系统相关 时间:
2015-02-01 20:29:20
阅读次数:
311
设备通常会提供一组寄存器来用于控制设备、读写设备和获取设备状态,既控制寄存器、数据寄存器和状态寄存器、这些寄存器可能位于I/O空间,也可能位于内存空间。当位于I/O空间时,通常被称为I/O端口,位于内存空间时,对应的内存空间被称为I/O内存(现在一般都是统一编址)
1、对于I/O端口
有专门的函数提供读取端口上的数据,例如读写字节端口(8字节宽)
Unsigned inb(unsigned ...
分类:
系统相关 时间:
2015-02-01 17:45:53
阅读次数:
264
原文网址:http://www.cnblogs.com/xmphoenix/archive/2012/03/27/2420044.htmlLinux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为《linux_device_driver 3rd Edition》,这是一本很经典的书,无奈Linu...
分类:
系统相关 时间:
2015-01-31 00:13:34
阅读次数:
274
忙了几天,终于可以让ds18b20在自己的开发板的linux系统上跑了!虽然ds18b20不是什么新鲜玩意,但是想想知己可以给linux系统添加模块了还是有点小鸡冻呢!虽然说现在硬件的资源非常丰富而且剩余很多,可以用软件资源来代替硬件资源,比如说可以用视频编解码软件取代硬件来工作。但有很多模块需要实...
分类:
系统相关 时间:
2014-12-27 15:59:29
阅读次数:
333
有了上两篇文章的基础,我们就可以开始开始进行实战啦!这里顺便说一下啊,出来做开发的基础很重要啊,基础不好,迟早是要恶补的。个人深刻觉得像这种嵌入式的开发对C语言和微机接口与原理是非常依赖的,必须要有深厚的基础才能hold的住,不然真像一些人说的,学了一年嵌入式感觉还没找到门。另外实践很重要,一年多以...
分类:
系统相关 时间:
2014-12-21 19:24:01
阅读次数:
212
自从选择了物联网这个专业,智能XX的字样牵动着每一个学习这个专业的孩子。大家兴致勃勃的来到了学校,结果一切想象和自己的设想并不一样。想象中的各种智能般梦幻的场景变成了真实的高数/电路/模电等等诸如此类!不知道这个世界什么时候变得如此的浮躁,当大家的一段时间的努力看不到结果的时候就往往会不太感兴趣,模...
分类:
系统相关 时间:
2014-12-20 16:51:54
阅读次数:
228
Linux下画原理图和PCB
Windows下大名鼎鼎的Allegro和经典的Protel 99SE都是不支持Linux操作系统的,做Linux驱动开发免不了要看一下原理图和PCB。
一般的做法有三种:
1.主机使用Windows系统,将Linux装在VMWARE之类的虚拟机中这样可以使用Windows下的软件看原理图和PCB了;
2.与第一条反过来,在Linux系统中装一个Windows...
分类:
系统相关 时间:
2014-12-15 10:30:22
阅读次数:
391
1. 学会写简单的makefile2. 编一应用程序,可以用makefile跑起来3. 学会写驱动的makefile4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dm...
分类:
系统相关 时间:
2014-12-09 13:48:17
阅读次数:
235
Eclispe Luna(4.4):http://www.eclipse.org/downloads/CDT :http://www.eclipse.org/cdt/downloads.phpADT:http://developer.android.com/sdk/installing/instal...
分类:
移动开发 时间:
2014-12-09 13:39:51
阅读次数:
165