linux驱动-原载
文章平均质量分 70
OLillian
这个作者很懒,什么都没留下…
展开
-
内核空间分配标志
GFP_KERNEL: 常规的内存分配;GFP_DMA:分配的内存仅供DMA使用;GFP_ATOMIC:分配内存时,不允许睡眠,一般用在中断中。目前就看到这3个,以后继续更新~原创 2012-02-24 16:05:00 · 592 阅读 · 0 评论 -
内核驱动初始化顺序 ---- __define_initcall
内核驱动初始化顺序:内核第一个C函数 main.c/start_kernel() ---> rest_init() ---> kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND) ---> kernel_init() ---> do_basic_setup() ---> do_initcalls() ---> do_one_ini原创 2012-03-01 14:10:30 · 1167 阅读 · 0 评论 -
linux驱动原载-- touch pannel驱动
i2c设备:一. Touch驱动的注册:1. i2c_add_driver(struct i2c_driver xx_i2c_driver): 这个函数仅是调用 i2c_register_driver(struct module *owner, struct i2c_driver *driver);2. i2c_register_driver(struct mo原创 2012-02-17 15:46:44 · 2514 阅读 · 0 评论 -
linux: work工作队列
工作队列(work queue)是另外一种将工作推后执行的形式,它和前面讨论的tasklet有所不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。那么,什么情况下使用工作队列,什么情况下使用tasklet。如果推后执行的任务需要睡眠,那么就选择原创 2012-03-05 16:14:38 · 680 阅读 · 0 评论 -
linux: platform 设备的注册
platform device注册顺序在linux2.6设备模型中,关心总线,设备,驱动这三个实体,总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动。相反,在系统每注册一个驱动的时候,寻找与之匹配的设备,匹配是由总线来完成的。 一个现实的Linux 设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2C、SPI 等的设备而言,这自然不是问题,原创 2012-03-06 15:16:35 · 1101 阅读 · 0 评论 -
linux ARM寄存器的介绍
http://blog.chinaunix.net/uid-25871104-id-2938389.html原创 2012-03-19 17:44:20 · 904 阅读 · 0 评论