驱动开发进阶
文章平均质量分 90
华清远见嵌入式学院
专业始于专注,卓识源于远见
展开
-
FS2410开发板上的按键驱动程序(2-1)
作者:赵明,华清远见嵌入式学院讲师。首先按键设备相关的数据结构的定义如下所示:/* butt_drv.h */ …… typedef struct _st_key_info_matrix /* 按键数据结构 */ { unsigned char key_id; /* 按键ID */ unsigned i原创 2009-07-14 09:20:00 · 1258 阅读 · 1 评论 -
RT 3570 wifi 移植手册
作者:宋老师,华清远见嵌入式学院讲师。开发环境:· 硬件平台:pv210开发板· 主机环境:Ubuntu10.04· Linux内核:Linux-2.6.35· 无线USB网卡 腾达 型号:W311M· WIFI方案:RT5370 驱动下载地址 腾达官网下载http://www.tenda.com.cn/tendacn/ ... ctid=172&type=2原创 2013-11-05 11:18:52 · 3287 阅读 · 0 评论 -
Altium Designer 10 导出文件(PDF,gerber,BOM)
作者:卢老师,华清远见嵌入式学院讲师。5、 导出原理图文档GERBER 文件,BOM对于导出 PDF 文档,多人分析时,不能保证所有的电脑都安装有 AD10 软件,这个也很有必要,同时有利于数据备份存储。GERBER 文件,主要是生产加工用的,对于加工厂,有些厂方负责导出 Gerber 文件,工程师可以略过这步。BOM 是在采购原料,生产时用到的文件。5.1 导出 PDF 文件【F原创 2013-09-22 11:09:06 · 25559 阅读 · 0 评论 -
浅谈共享内存与信号的互用
作者:曹冬洋,华清远见嵌入式学院讲师。共享内存是进程间通信(IPC)的一种。因为进程在使用共享内存时,可以直接读写内存,不需要任何数据拷贝,所以它的效率是最高的。关于共享内存是内核专门留出来的一块内存,这段内存可以让访问的进程映射到自己的私有地址空间,从而可以操作共享内存。 共享内存可以让不同的进程来映射地址,从而实现了进程之间的通信。多个程序都来操作共享内存,需要一种同步机制,下原创 2012-10-25 16:54:34 · 1261 阅读 · 0 评论 -
FS_11C14平台ZigBee点对点通信
作者:周志强,华清远见嵌入式培训中心讲师。要使用FS_11C14开发板实现点对点通信,需要对开发板上的ZigBee模块进行配置。下面我们先来介绍一下配置的过程。1、首先执行ZigbeeCfg应用程序,会出现下图所示的界面:图10-1 ZigBee配置界面在设备管理器中查看我们所使用的串口并进行选择,波特率选为“115200”,数据位选择为“8”,原创 2012-05-04 17:21:27 · 3239 阅读 · 1 评论 -
samsung ADC 通用驱动
作者:曹忠明,华清远见嵌入式培训中心讲师。ADC是嵌入式产品常用的设备,它的驱动并不是很难,但是如果有多个这类设备的话,就得考虑ADC中断共享的问题了,这样反而是驱动变得较复杂,且不易控制。在2.6.29内核后在arch/arm/plat-samsung目录下加入了adc.c这个代码,这是一个通用adc驱动代码。这个代码用来初始化adc设备并构建了一个客户请求列表,用来接受客户请求转换数据。原创 2011-12-02 16:49:43 · 1000 阅读 · 0 评论 -
Uboot启动流程分析
boot是嵌入式系统中最常用的bootloader,这里我们以s3c2410为例分析一下uboot的启动流程。首先通过uboot的链接文件,我们可以看到uboot运行是执行的第一段代码在start.S中。原创 2010-07-21 15:42:00 · 1868 阅读 · 1 评论 -
Linux USB gadget设备驱动解析(4)--编写一个gadget驱动
作者:刘洪涛,华清远见嵌入式学院讲师。一、编写计划通过前面几节的基础,本节计划编写一个简单的gadget驱动。重在让大家快速了解gadget驱动结构。上节中简单介绍了zero.c程序。这个程序考虑到了多配置、高速传输、USB OTG等因素。应该说写的比较清楚,是我们了解gadget驱动架构的一个非常好的途径。但把这些东西都放在一起,对很多初学人员来说还是不能快速理解。那就再把它简化原创 2009-09-17 10:48:00 · 4336 阅读 · 0 评论 -
FS2410开发板上的按键驱动程序(1)—基础知识
作者:赵明,华清远见嵌入式学院讲师。中断编程基础实际上,有很多Linux的驱动都是通过中断的方式来进行内核和硬件的交互。中断机制提供了硬件和软件之间异步传递信息的方式。硬件设备在发生某个事件时通过中断通知软件进行处理。中断实现了硬件设备按需获得处理器关注的机制,与查询方式相比可以大大节省CPU资源的开销。在此将介绍在驱动程序中用于申请中断的request_irq()调用,和用于释放中断原创 2009-07-06 15:43:00 · 1746 阅读 · 0 评论 -
linux设备模型中ktype的用法
原创,转载请注明作者及出处。作者:刘洪涛,华清远见嵌入式学院金牌讲师 在上篇《利用udev、sys动态创建设备结点》的记录中,设备驱动中主要依靠下面两个功能完成的:1、在/sys/class下创建farsight_class类 my_class =class_create(THIS_MODULE, "farsight_class"); 2、在farsight_class中创建新原创 2009-05-31 14:27:00 · 1039 阅读 · 0 评论 -
基于S3C2410的SD卡linux驱动工作原理(二)
作者:刘洪涛,华清远见嵌入式学院金牌讲师,ARM公司授权ATC讲师。序:我在讲嵌入式Linux驱动开发班的时候,发现不少学员对SD卡驱动这块比较感兴趣,课下来找我探讨。而在很多技术论坛,也有不少人问这方面的问题,所以就想写一下这方面的内容,希望对大家的学习能有所帮助。前几天写了篇“基于S3C2410的SD卡linux驱动工作原理(一)”,说了下脱离操作系统如何在S3C2410上实现SD卡的原创 2009-05-31 14:25:00 · 1904 阅读 · 0 评论 -
基于S3C2410的SD卡linux驱动工作原理(一)
作者:刘洪涛,华清远见嵌入式学院金牌讲师,ARM公司授权ATC讲师。我在讲嵌入式Linux驱动开发的时候,发现不少学员对SD卡驱动这块比较感兴趣,课下来找我探讨。而在很多技术论坛,也有不少人问这方面的问题,所以就想写一下这方面的内容,希望对大家的学习能有所帮助。想了解SD卡的工作原理,首先需要了解的就是SD卡协议了,这个在网上可以轻松的下载到。在了解协议后,就可以看看下面的一些开发思路了。原创 2009-05-31 14:04:00 · 1573 阅读 · 0 评论 -
面对不断升级的内核,如何学习linux设备驱动
作者:刘洪涛,华清远见嵌入式学院金牌讲师。面对不断升级的linux内核、GNU开发工具、linux环境下的各种图形库,很多linux应用程序开发人员和linux设备驱动开发人员即兴奋,又烦躁。兴奋的是新的软件软件、工具给我提供了更强大的功能,烦躁的是适应新软件的特性、搭建新环境是一项非常繁琐的事情。本文想从以下3个方面探讨一下“面对不断升级的内核,如何学习linux设备驱动”。 内核发展的原创 2009-08-06 23:17:00 · 1355 阅读 · 1 评论 -
usb鼠标驱动注解及测试
作者:刘洪涛,华清远见嵌入式学院高级讲师,ARM ATC授权培训讲师。参考2.6.14版本中的driver/usb/input/usbmouse.c。鼠标驱动可分为几个部分:驱动加载部分、probe部分、open部分、urb回调函数处理部分。 下文阴影部分为注解。 一、驱动加载部分 static int __init usb_mouse_init(void) {原创 2009-05-31 14:51:00 · 1296 阅读 · 0 评论 -
嵌入式Linux驱动程序开发要点
作者:华清远见嵌入式学院。 在Linux操作系统下有3类主要的设备文件类型:块设备、字符设备和网络设备。这种分类方法可以将控制输入/输出设备的驱动程序与其他操作系统软件分离开来。 字符设备与块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般紧接着发生。块设备则不然,它利用一块系统内存作为缓冲区,若用户进程对设备的请求能满足用户的要求,就返回请求的数据;否则,原创 2009-05-31 13:56:00 · 1565 阅读 · 0 评论 -
Linux字符设备驱动程序的编写框架
作者:华清远见 在华清远见的嵌入式培训课程中,linux自负设备驱动程序的编写是嵌入式学院嵌入式工程师职业培训班>三期课程中嵌入式linux驱动开发方面的重要内容,这里我们先对QT做一下简单介绍。 一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在原创 2009-05-31 13:43:00 · 1531 阅读 · 0 评论 -
CC2530采集重力加速度MMA7455的值
作者:卢老师,华清远见嵌入式学院讲师。在cc2530中没有IIC总线控制器,只能使用模拟的方式采集,在下面原理图中,重力加速度传感器是飞思卡尔的MMA7455L。IIC的时钟接cc2530 的P0_5 ;数据线接 P0-7,在使用模拟方式时,数据线要随输入输出改变自己的IO方向。原理图:#define I2C_SCL P0_5// I2C Serial Clock原创 2014-08-22 13:24:58 · 2390 阅读 · 0 评论