- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 linux字符驱动之定时器去抖动按键驱动
上一节里,实现同一时刻只能有一个进程使用同一个设备,例如:只能有一个进程,在同一时刻里使用/dev/buttons这个设备。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17563953相信大家在写单片机的按键程序时,也必将会涉及一点,就去按键去抖动。按键去抖动的方法无非有二种,一种是硬件电路去抖动,这种在要求不是特别高
2013-12-26 19:35:07 7044
原创 linux字符驱动之同步互斥按键驱动
上一节里,我们将在上一节的基础上修改驱动,将其修改为有异步通知功能的按键驱动,目标是,按下按键时,驱动主动去通知应用程序。是不是感觉驱动已经比较完善了,好像已经是完美无缺了?是不是这样呢?好像不是呢,有没有这么一种情况,多个进程想同时使用驱动的设备节点?在多线的环境下,分分钟可能会发生这种情况。上一节文章链接:http://blog.csdn.net/lwj103862095/article/
2013-12-25 21:48:58 3272 1
原创 linux字符驱动之异步通知按键驱动
在上一节里,我们在中断的基础上添加poll机制来实现有数据的时候就去读,没数据的时候,自己规定一个时间,如果还没有数据,就表示超时时间。在此以前,我们都是让应用程序主动去读,那有没有一种情况,当驱动程序有数据时,主动去告诉应用程序,告诉它,有数据了,你赶紧来读吧。答案当然是有的,这种情况在linux里的专业术语就叫异步通知。上一节文章链接:http://blog.csdn.net/lwj103
2013-12-24 22:23:58 6241 1
原创 linux字符驱动之poll机制按键驱动
在上一节中,我们讲解了如何自动创建设备节点,实现一个中断方式的按键驱动。虽然中断式的驱动,效率是蛮高的,但是大家有没有发现,应用程序的死循环里的读函数是一直在读的;在实际的应用场所里,有没有那么一种情况,偶尔有数据、偶尔没有数据,答案当然是有的。我们理想当然的就会想到,当有数据的时候,我们才去读它,没数据的时候我们读它干啥?岂不浪费劳动力?上一节文章链接:http://blog.csdn.ne
2013-12-24 20:58:42 11614 2
原创 linux字符驱动之中断按键
在上一节中,我们讲解了如何自动创建设备节点,实现一个查询方式的按键驱动。测试的时候,大家都看到了,使用查询式的方法,占用CPU的利用率高达99%,那么有没有好的办法来取代这惨不忍睹的方法呢?答案当然是有的。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17484041这一节里,我们使用中断的方法来实现按键驱动。
2013-12-23 21:53:46 11529 1
原创 linux字符驱动之查询按键
在上一节中,我们讲解了如何自动创建设备节点,并用“最笨”的方法实现点亮LED。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17472455 这一节里,我们基于上一节的基础上,稍微改动一下,来实现一个查询方式的按键驱动。问:既然是基于上一节的基础,只是稍微改动,改动了哪些?答:框架是不变的,还是字符设备框
2013-12-22 13:53:07 3766
原创 linux字符驱动之点亮LED
上一节中,我们讲解了如何自动创建设备节点,这一节我们在上一节的基础上,实现点亮LED。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17470573驱动里面能够用很多种方法实现LED驱动,其中有本节的字符驱动(最笨的方法)、混杂设备驱动、使用内核GPIO函数接口、使用通用的平台设备驱动的方法等。但是,不要因为本节是最笨的
2013-12-21 21:53:28 6653 1
原创 linux字符驱动之自动创建设备节点
上一节中,我们是手工创建设备节点,大家肯定也会觉得这样做太麻烦了。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17468587问:能不能让系统自动创建设备节点?答:可以,linux有udev、mdev的机制,而我们的ARM开发板上移植的busybox有mdev机制,那么就使用mdev机制来自动创建设备节点。问:
2013-12-21 19:32:17 16918 1
原创 linux字符驱动之初见
学习驱动也有长达一年多的时间了,受益最深的就是看韦东山老师的视频,如今已经几乎将二期三期的视频全部看完,甚至已经将二期视频看过好几遍,为了再次加深印象,我将韦老师的源码自己全部编写一遍。将所有遇到的问题,记录在此。觉得看了韦老师的视频,再看其他视频都是弱爆了。由于是文章记录,不可能写的非常详细,只摘录关键点,想具体详细的深入,还请去看韦老大的视频吧。这篇文章是主要是讲解字符驱动的框架,并没有涉
2013-12-21 17:19:18 5483 2
原创 linux驱动环境搭建
编写驱动前,理所当然的,我们应事先将环境搭建好,废话不多说,直奔主题。环境的搭建:一、开发板使用TQ2440这个没什么好说,去购买一块开发板即可。二、linux的版本为linux2.6.30.4(以后再使用linux.3.4或更高)linux直接使用天嵌公司提供的zImage_Q43_2.6.30.4_20100531.bin三、搭建uboot环境参数烧写uboot、l
2013-12-21 15:17:05 3456
原创 安装使用cuteFTP注意事项
花絮:一直以来都使用红帽的共享文件来让windows和linux之间进行传输文件,今天头脑一发热,想使用windows下的cuteFTP软件来代替前面的方法。可谁想到,一是cuteFTP在网上根本找不到序列号,找了N久没找到,后来找到了一款破解版的,弄了好久终于能使用上cuteFTP。可,好戏还在后头,安装好了cuteFTP,折腾了好久才能让windows和linux之间能够互传文件。这里废话
2013-12-18 16:19:46 6264
原创 linux编译选项
使用make工具编译程序时,有时需要添加头文件的路径,指定库的路径。①使用 -I(大写i)指定头文件的路径;②使用 -L(大写l)指定库的路径;③使用 -l(小写l)指定使用什么库编译,比如使用jpeg库来编译,则 -ljpeg经常忘记,备份记录一下。
2013-12-11 20:38:57 1764 1
libartsc.so.0
2013-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人