- 博客(14)
- 收藏
- 关注
转载 有限状态机的嵌入式Linux按键驱动设计
原文链接: http://www.eccn.com/design_2010052509381340.htm秦国栋(广西大学 电气学院,南宁 530004)0 引言一般的按键驱动程序通常非常简单。在程序 中一旦检测到按键输入口为低电平时,就采用软件延时10 ms后再次检测按键输入口。如果仍然是低电平则表示有按键按下,便转入执行按键处理程序;否则,当按键输入口为
2012-05-17 09:48:35 1663
转载 USB OTG学习笔记
http://blog.21ic.com/user1/1113/archives/2010/67075.html仅仅看了半天SPEC写的 笔记,有些乱,等调试完毕再次整理,思路不是很成熟,推测成分较多,可能有不对的地方,欢迎拍砖交流指正。 1. 概要OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,
2012-05-17 09:45:35 981
原创 嵌入式系统多功能按键底层驱动设计
一.Linux原有驱动分析:1、 Linux 现有按键驱动运行机制: 图1 linux按键驱动运行机制图 2、 Repeat 函数工作机制: 图2 按键repeat工作机制
2012-05-15 16:44:06 882
原创 linux input 按键驱动几点说明
如果我们要写一个gpio 的按键驱动,可以有两种写法1. 写个字符设备,利用中断 ,阻塞读写就能实现。2. 注册成input 设备,利用中断向上报告按键。如果只是测试,第一种写法是可行的,也更加简洁,它的优点就在于高效,不依靠输入子系统。但是,这种按键实现复杂一点的按键功能就要写很多底层代码了,而且它有个最大的缺点:上层的界面系统很难友好的使用这种驱动,除非把上层界面系统的
2012-05-15 16:42:44 1123
原创 从spi驱动理解linux驱动的分层思想
10:00 ~ 12:00 编辑时间: 2012-4-21 11:52omap2_mcspi 是以平台驱动注册的,因为他是cpu 用来初始化spi总线的spi 总线上只能有一个主控器,例如我们要用spi1.0 发送数据,omap2_mcspi1已经实现了数据的发送,我们所做的就是怎么将数据交给omap2_mcspi1,让它发出去。 omap2_mcspi1应该叫作总线控制器驱动。这个驱动没
2012-05-15 16:41:44 971
原创 驱动学习总结(二)
对于初学者来说,驱动学习的例子很多很多,但我觉得下面这个例子才是最好,最应该看的。因为它真正符合2.6内核的驱动开发模式。代码的原文链接:https://github.com/scottellis/omap3-pwm以下是pwm.h代码 。/*Copyright (c) 2010, Scott EllisAll rights reserved.
2012-05-15 16:40:08 719
原创 驱动程序学习总结(一)
学习linux驱动程序大概有半年了,最近在项目上动手写了几个驱动,才对驱动有了一个全面的认识。1. 学习驱动最好的参考资料是内核驱动源码。2. 要想写好一个驱动必须看懂别人的驱动。这算是我深有体会的两点吧!下面说下我对驱动的认识:对于驱动程序开发者来说,最好写的的驱动是 两 层驱动,也就是说,只包括硬件层和用户层,大部分网上的例程都是这样写的,在硬件层直接操作硬件,并向
2012-05-15 16:37:48 490
原创 ds18b20 驱动测试程序
#include #include #include #include #include #include #define DS18B20 "/dev/ds18b20"int main(){ int fd; char buf[2],temp[7]; unsigned char a=0; unsigned in
2012-05-15 16:36:11 451
原创 AM3517 SDQ DS18B20 驱动程序
程序说明:此驱动不同于以往的 linux ds18b20 驱动,不采用软延时,采用的是am3517 的单总线控制器,参考了TI有关HDQ/w1驱动,经测试,能正确输出温度。/* * sdq_ds18b20.c * * Copyright (c) 2012 Embeded2 * * Some code and ideas taken from drivers/w1/
2012-05-15 16:35:05 723
原创 linux UART 驱动学习笔记——用户如何操作硬件
学习环境: linux 2.6.32.2 mini2440串口驱动要看懂UART的整个程序,需要看/drivers/char/tty_io.c 、tty_ldisc.c 和/drivers/serial/s3c2440.c 、samsung.c、serial_core.c先看UART驱动的总图。。
2012-05-15 16:32:25 770
原创 linux网卡驱动——硬件层-用户层
源码:linux-2.6.32.2网卡 :DM9000 利用了两天的时间看了linux的网卡驱动,主要分析了以下问题: 1、用户接口函数在什么地方? 2、应用层如何操作DM9000?整个流程是什么? 图1
2012-05-15 16:30:31 863
原创 linux中的platform设备
linux中有一类设备,platform 。平台设备,或者说是总线,在将linux移植到mini2440上时,在mach-mini2440.c中有这样一段代码static struct platform_device *mini2440_devices[] __initdata = { &s3c_device_usb, &s3c_device_rtc, &s3c_device_lc
2012-05-15 16:22:02 467
原创 linux驱动学习——怎么自动创建设备文件
在学习linux驱动开发中,我们可以将驱动编进内核,也可以编成模块,在编成模块时,我们希望模块加载时,设备文件可以自动创建,这样我们在开机脚本文件中进行模块加载,同时会创建设备文件。以后就直接可以操作这个设备了。 当然,有两种方法可以实现,比如led的驱动,可以将它注册为misc设备,这样也就不用手动创建设备文件了,但如果不使用misc设备,怎么办?
2012-05-15 16:20:01 1238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人