随笔分类 -  驱动_ZZ

解析设备树的流程
摘要:一、汇编相关部分的代码流程分析 二、C相关的函数流程 三、友情提供相关信息 四、接下来执行那些initcall函数: 五、initcall的执行顺序: 注意Init.h (kernel-3.10\include\linux) 中的宏的定义:在编译进内核时,MODULE 是没有定义的,所以 #ifnd 阅读全文

posted @ 2016-11-15 17:13 黑大米 阅读(4371) 评论(0) 推荐(0)

定时器和时间管理
摘要:一、jiffies 自系统启动以来产生的节拍的总数。 extern unsigned long volatile jiffies; extern u64 jiffies_64; 比较时间的几个宏: time_after(unknown, known) //unknown after known ? true : false; time_before... 阅读全文

posted @ 2016-10-25 18:17 黑大米 阅读(716) 评论(0) 推荐(0)

中断处理(注册、底半部)
摘要:本次主要罗列一些API函数和对其进行一些解释,具体使用方法需要参考驱动文件。 中断处理1.注册中断处理函数request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void 阅读全文

posted @ 2016-10-19 19:24 黑大米 阅读(1166) 评论(0) 推荐(0)

转:条件变量、pthread_cond_init
摘要:1.初始化条件变量pthread_cond_init 初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则条件变量的属性将由cattr中的属性值来决定。调用 pthread_cond_init函数时,参数cattr为空指针等价于cattr中的属性为缺省属性,只是前者不 阅读全文

posted @ 2016-10-14 10:41 黑大米 阅读(627) 评论(0) 推荐(0)

等待队列_睡眠和唤醒
摘要:1.定义并初始化一个等待队列头:DECLARE_WAIT_QUEUE_HEAD(wait_que); wait_queue_head_t wait_que;init_waitqueue_head( &wait_que); 2.简单休眠:wait_event(wait_que, condition)w 阅读全文

posted @ 2016-10-11 13:22 黑大米 阅读(643) 评论(0) 推荐(0)

电源管理之睡眠和唤醒流程
摘要:这里没有大堆的文字说明,只是罗列了一下睡眠和唤醒的主要流程,具体细节还需要自己去分析。 关键的一点: Android上层和底层间“通信”是通过它的虚拟文件系统中的属性,上层对该属性执行写操作,底层对应的调用该属性的store方法。 一、上层的一些流程 二、底层函数执行流程 三、涉及到的几个链表结构中 阅读全文

posted @ 2016-10-09 17:32 黑大米 阅读(3281) 评论(0) 推荐(0)

导航