linux
文章平均质量分 79
carl_wang_123
这个作者很懒,什么都没留下…
展开
-
Linux-内核代码标志决定初始化顺序
#define pure_initcall(fn) __define_initcall(“0”,fn,0)#define core_initcall(fn) __define_initcall(“1”,fn,1)#define core_initcall_sync(fn) __define_initcall(“1s”,f...原创 2020-03-26 22:02:09 · 121 阅读 · 0 评论 -
linux驱动之PCI总线
文章转载自http://blog.csdn.net/jmq_0000/article/details/7517594PCI总线概述 随着通用处理器和嵌入式技术的迅猛发展,越来越多的电子设备需要由处理器控制。目前大多数CPU和外部设备都会提供PCI总线的接口,PCI总线已成为计算机系统中一种应用广泛、通用的总线标准[1]。Lin转载 2015-09-22 15:34:00 · 1138 阅读 · 0 评论 -
linux input子系统(二)- input event drivers evdev 驱动分析
input子系统分为了input device drivers和input event drivers,看图 可以看到,在kernel space中,input -core 管理着 input device drivers 以及input event drivers,其中在 input原创 2015-10-28 09:36:15 · 1537 阅读 · 0 评论 -
led子系统之实战篇(实际led驱动编写)
led驱动应该是linux驱动中是最简单的一个,下面实际讲解关于led驱动编写的过程。早期的led驱动实际上在/dev/led生成文件,当led成为一个单独的子系统时,我们要用到led的子系统以及相关的函数#include #include #include #include #include #include #include #include 头文件不说了stat原创 2015-10-14 15:52:18 · 4555 阅读 · 0 评论 -
linux 驱动之led子系统(一)
的撒旦撒原创 2015-09-25 11:29:00 · 2487 阅读 · 0 评论 -
led驱动编写并非使用led 子系统(实际led驱动编写)
#include #include #include #include #include #include #include #include #include #includestatic int GPIOA_7_pin = 0; static int LED_open(struct inode *inode, struct file *file){ int原创 2015-10-15 19:14:04 · 742 阅读 · 0 评论 -
android 电源管理
基本上每个系统都要做到尽量的省电,所以不管是android,ios,等系统都是要做省电的功能,即便是arm,也是从低功耗的这一块来找到一个突破口,从intel的市场中夺得份额。其实相关的android的电源管理都是从linux处继承而来的,所以差不多啦。这篇文章主要是讲解流程,对于具体细节不做具体分析。这篇文章是基于高通平台8x26,android的版本是4.4.4 电源转载 2015-12-16 15:40:11 · 425 阅读 · 0 评论 -
ARM下书写位置无关的代码
转自自http://blog.csdn.net/iamshaofa/article/details/7917301位置无关代码,即该段代码无论放在内存的哪个地址,都能正确运行。究其原因,是因为代码里没有使用绝对地址,都是相对地址。位置无关的写法:(1) B指令B指令接受一个相对地址,因此在汇编里用B跳转到一个标号时,实际编译的结果是一个相对跳转。相对地址有个范围限制转载 2015-12-24 10:32:59 · 281 阅读 · 0 评论 -
TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE 的区别
TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE 的区别TASK_INTERRUPTIBLE是可以被信号和wake_up()唤醒的,当信号到来时,进程会被设置为可运行。而TASK_UNINTERRUPTIBLE只能被wake_up()唤醒。信号本质信号是在软件层次上对中断机制的一种模拟,软中断信号来源信号事件的发生有两个来源:转载 2017-01-10 11:55:56 · 702 阅读 · 0 评论 -
块设备驱动(一)
文章转载自http://blog.csdn.net/jianchi88/article/details/7212370基本概念 块设备(blockdevice)--- 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或者从设备一次性读到缓冲区。字符设备(Character device转载 2015-09-22 10:14:01 · 299 阅读 · 0 评论 -
linux 设备驱动模型
文章转载自http://www.cnblogs.com/wwang/archive/2010/12/21/1912380.htm 在上文中,我们介绍到如何使用default attribute。Default attribute使用很方便,但不够灵活。比如上篇文章在Kobject一节中提到的那个例子,name和val这两个attribute使用同一个show/store函数来访问转载 2015-09-17 15:14:19 · 408 阅读 · 0 评论 -
linux input子系统学习(一)之 input-core
linux中有众多的子系统,input子系统是其中的一种,用来处理一类型的输入设备,例如keypad,touchpanel,mice等等,我目前接触到就只有前2种也只写过前2种的驱动,所以后面的就只介绍到key的驱动以及TP的驱动了。 input的核心是一个文件,即input.c,(drivers\input),说实在的其实input子系统也是一种字符设备,只不过进行了一下封装。整个i原创 2015-10-19 10:42:54 · 1010 阅读 · 0 评论 -
android linux内核分析(-)- led(上)
linux版本:version linux 3.xandroid版本:android 4.4.2分析实例:leds-s3c24xx.c分析目录:dirvers/leds/1.makefile# LED Coreobj-$(CONFIG_NEW_LEDS) += led-core.oobj-$(CONFIG_LEDS_CLASS) += led-class.oobj-原创 2015-08-11 16:24:34 · 816 阅读 · 0 评论 -
linux驱动之定时任务timer,队列queue,小任务tasklet机制及用法
1:内核定时器:在内核中有系统自带的定时器,达到一定的时间就可以进行一个操作,这个和单片机中的定时器中断一样。包含头文件是Timer.h (\include\linux)结构体是timer_liststruct timer_list{ /* * All fields that change during normal runtime grouped to the * sa原创 2015-08-27 20:40:47 · 4295 阅读 · 0 评论 -
linux 底层驱动中断分析和一般使用(顶半部与底半部)
中断是个老掉牙的概念了,无需在解释了。中断到来时,CPU自动运行到某一个地址,那么中断很多,会形成很多个地址,那么多了就成了一个表格了,哎呀,中断向量表。。。。。因为现在有amlogic的项目,所以就以amlogic的平台作为分析对象,讲解实际的使用方法以及注意事项。 amlogic_gpio_to_irq(pdata->key[i].pin, MOD_NAME,原创 2015-08-28 21:02:03 · 1418 阅读 · 0 评论 -
时间计数器jiffies以及其长延迟操作
是原创 2015-08-18 17:41:42 · 901 阅读 · 0 评论 -
linux中信号完成量completion
上节中我们已经掌握了创建大量内核线程的能力,可惜线程之间还缺乏配合。要知道学习ITC(inter thread communication),和学习IPC(inter process communication)一样,不是件简单的事情。本节就暂且解释一种最简单的线程同步手段—completion。 打开include/linux/completion.h,你就会看到compl转载 2015-09-05 16:01:46 · 4221 阅读 · 0 评论 -
linux内核之休眠
dasdas原创 2015-09-10 11:35:52 · 3108 阅读 · 0 评论 -
linux驱动之自旋锁(spinlock)
dasads原创 2015-09-08 19:30:40 · 1922 阅读 · 0 评论 -
linux 设备驱动之数据类型
linux 数据类型原创 2015-09-14 21:32:44 · 425 阅读 · 0 评论