仰望星空
发布时间:2015-12-20 21:45:51
学完了普通中断的按键驱动和输入子系统的按键驱动,还是有点迷糊,写这篇文章梳理下普通按键驱动参考了这篇文章:http://blog.csdn.net/lwj103862095/article/details/17511867一、普通中断按键驱动实现 1、内核中断体系 ARM架构linux内核中,有5种常见.........【阅读全文】
发布时间:2015-12-15 14:06:01
一、栈 栈的特性是先进后出,首先定义一个栈顶指针head或者Top都是可以的。入栈的时候总是在栈顶指针指向的位置插入元素,这样首先插入的元素就跑到后边去了。出栈的时候也是首先从栈顶指向的节点处先出栈,以此来实现先入后出。。代码如下:其实还就是单链表,只不过单链表初始化的时候不是从后面,而是从.........【阅读全文】
发布时间:2015-12-12 21:54:56
一、 前几天学习了单向链表,这两天学双向循环链表感觉容易了许多,双向循环链表比单向链表的优势是能够知道后一个节点,向前访问,不需要像单向链表一样再从头开始访问。 下面说一下我对头结点head的理解,前几天学单向链表的时候其实是没有真正理解的,其实头节点中保存的就是一个入口地址,也就是你.........【阅读全文】
发布时间:2015-12-09 15:49:03
一、原子操作 加入原子操作的目的就是多个应用程序同时调用驱动程序, 原子操作的特性是在自增、自减等操作过程中不会被打断,防止两个应用程序同时调用驱动程序情况的发生,其使用过程如下:static atomic_t canopen = ATOMIC_INIT(1); //定义原子变量并初始化为1然后在XXX_open( )函数中这.........【阅读全文】
发布时间:2015-12-09 11:21:12
一、什么是异步通知机制? 驱动程序运行在内核态,而应用程序运行在用户态,应用程序调用驱动程序是比较简单的,直接通过调用接口函数就可以了,而驱动程序是自动运行的,要想让驱动程序自动通知应用程序,使用的通知的方式就是异步通知机制。也就是当驱动程序准备好之后,就主动通知应用程序,这.........【阅读全文】