button按键驱动,相对于前面的LED驱动来说。增加了中断服务程序以及等待队列等新知识点。
先上学习的驱动代码。
/*********************************************************************************
* Copyright: (C) 2011 Guo Wenxue
*...
分类:
系统相关 时间:
2015-04-18 17:53:24
阅读次数:
184
中断和时钟技术可以提升驱动程序的效率中断中断在Linux中的实现通常情况下,一个驱动程序只需要申请中断,并添加中断处理函数就可以了,中断的到达和中断函数的调用都是内核实现框架完成的。所以程序员只要保证申请了正确的中断号及编写了正确的中断处理函数即可。中断的宏观分类1.硬中断 由系统硬件产生的中断。....
分类:
系统相关 时间:
2015-04-18 17:28:04
阅读次数:
247
阻塞和非阻塞是设备访问的两种基本方式,阻塞和非阻塞驱动程序使用时,经常会用到等待队列。阻塞和非阻塞阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有得到结果之后才会返回。而对于同步调用来说,许多时候当前线程还是激活的,只是逻辑上当前函数没有返回而已。非阻塞指在不能立刻得到结果之前,该函数不会阻...
分类:
系统相关 时间:
2015-04-17 22:08:15
阅读次数:
156
四种并发控制机制:原子操作、自旋锁、信号量和完成量。原子变量操作原子变量操作绝对不会再执行完毕前被任何其他任务或事件打断。原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树中的include/asm/atomic.h文件中,它们都是使用汇编语言实现的。常用于多个应用...
分类:
系统相关 时间:
2015-04-17 22:08:13
阅读次数:
245
IO interruptVerilog file: omsp_gpio.v 1 //============================================================================ 2 // 4) INTERRUPT GENERATION 3 ...
分类:
其他好文 时间:
2015-04-17 21:40:51
阅读次数:
152
NodeMCU是在微控制器上运行LUA的固件引擎。目前支持ESP8266Ex芯片及其模块。 1、硬件 NodeMCU Devkit GPIO 2、软件 https://github.com/nodemcu 3、刷机 esptool windows上 4、LUA控制台 minicom xconsole 5、运行...
分类:
其他好文 时间:
2015-04-17 16:04:30
阅读次数:
254
a. 安装交叉编译链
我使用的是arm-linux-gcc 4.3.2,解压到目录/usr/local/arm/4.3.2,然后在环境变量PATH中增加/usr/local/arm/4.3.2/bin
b. 安装CMake
OpenCV 2.0之后的版本,必须使用CMake创建Makefile。我使用的CMake版本是2.8.2,解压到目录/usr/local/cmake-2.8.2
4、 点击Generate生成Makefile
如果你现在make,是肯定会出错的!(不修改,可能白等了至少15分钟...
分类:
其他好文 时间:
2015-04-17 11:30:51
阅读次数:
225
linux驱动分为字符设备、块设备驱动、网络驱动三种,其中以字符驱动最为简单。说起要写驱动自然想到从字符设备驱动写起。看了开发板官方的驱动代码,写的不错,至少不是那种实习生能写出来的水平。但对新手来说要看懂,实在不容易。其中包含了很多知识和设计思想。所以我想还是尽可能从易到难来写这个系列,相信我,我会努力把我知道的都给大家讲清楚。...
分类:
其他好文 时间:
2015-04-16 19:52:27
阅读次数:
179
mini2440 内核以及根文件系统分别是通过tftp、NF方式加载的,为了解决开发板串口不够用的问题,给开发板安装一个telnet是一个不错的解决方案,毕竟如果用超级终端是必须占用一个串口的。
1.进入busybox源代码目录,选择telnet,telnetd(默认也是支持的)
然后make;make install
2、制作根文件系统
下面标红的就是需要自己添加进去的(etc/init.d/rcS)
还有需要注意,pts/0表示可以同时开一个telnet端口登录,如果需要多个人同时登录,则需要多添加...
分类:
Web程序 时间:
2015-04-16 12:33:43
阅读次数:
177
TimedGPIO驱动程序分析TimedGPIO驱动程序是android系统基于linux内核新增加的一类驱动程序,这类驱动程序主要是运用了内核定时器,与内核定时器进行绑定,使得控制GPIO口的高低电平与时间打上关系,既可以实现在一定的时间实现GPIO口为高或者低电平。TimedGPIO驱动被实现为平台..
分类:
其他好文 时间:
2015-04-15 23:37:13
阅读次数:
286