Linux
WinCao90
追求卓越!
展开
-
字符设备之笔记-Poll机制分析
poll机制分析 所有的系统调用,基于都可以在它的名字前加上“sys_”前缀,这就是它在内核中对应的函数。比如系统调用open、read、write、poll,与之对应的内核函数为:sys_open、sys_read、sys_write、sys_pol原创 2011-09-14 17:37:48 · 769 阅读 · 0 评论 -
字符设备驱动之Buttons-异步通知(fasync)
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-14 17:48:10 · 923 阅读 · 0 评论 -
字符设备驱动之Buttons-中断上下部(tasklet)
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-16 19:07:39 · 813 阅读 · 0 评论 -
字符设备驱动之Buttons-中断上下部(工作队列-workqueue)
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-16 19:15:57 · 796 阅读 · 0 评论 -
字符设备驱动之笔记-中断处理过程情景分析
中断系统的运行过程分析:--------------------------------------------------------------------------------------------------硬件:---------------------原创 2011-09-16 19:21:47 · 1272 阅读 · 0 评论 -
字符设备驱动之笔记-中断上下部
中断下半部在中断处理函数执行的过程中:1. 它可以被其他中断打断2. 它不会再次响应同一个中断(同一个中断不会嵌套处理)3. 如果中断处理函数执行的时间很长,系统性能会受影响举例:net_irq(){ 1. 从网卡芯片读数据到内存里 (比较快)原创 2011-09-16 19:40:33 · 1438 阅读 · 0 评论 -
字符设备驱动之LED-平台设备驱动(platform设备驱动)
怎么利用平台设备驱动机制来写驱动:-------------------------------------------------------------------------1.先实现设备方向的: 1)看芯片手册,和原理图获取资源 2)构建原创 2011-09-16 20:26:40 · 4206 阅读 · 0 评论 -
字符设备驱动之笔记-Platform设备驱动机制(1)
平台设备注册的分析:/*做下面的资源需要看芯片手册,看原理图*/---------------------------------------------------------arch/arm/plat-s3c24xx/devs.c /*大部分的设备控制器资源在这里原创 2011-09-16 20:29:44 · 1820 阅读 · 0 评论 -
字符设备驱动之笔记-Platform设备驱动机制(2)
/* 1.构建平台驱动的结构体*/static struct platform_driver s3c2410fb_driver = { .probe = s3c2410fb_probe, .driver = { .name = "s3c2410-lcd",原创 2011-09-16 20:30:33 · 1318 阅读 · 0 评论 -
字符设备驱动之LED-混杂设备驱动(misc)
misc_led.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-17 20:13:52 · 1252 阅读 · 0 评论 -
字符设备驱动之笔记-misc设备驱动分析
Linux包含了许多的设备驱动类型,而不管分类有多细,总会有些漏网的,这就是我们经常说到的“其他的”等等。在Linux里面,把无法归类的五花八门的设备定义为混杂设备(用miscdevice结构体来描述)。Linux/内核所提供的miscdevice有很强的包容性。如NVRAM原创 2011-09-17 20:14:56 · 3919 阅读 · 0 评论 -
字符设备驱动之I2C设备驱动(1)
一、概述 谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ●原创 2011-09-20 10:05:41 · 4674 阅读 · 1 评论 -
字符设备驱动之I2C设备驱动(2)
前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。这里分别称这两种方式为“Adapter方式(LEGACY)”和“Probe方式(new style)”。在介绍i原创 2011-09-20 10:22:35 · 3055 阅读 · 0 评论 -
字符设备之Buttons-原子操作(atomic)
buttons_atomic.c#include #include #include #include #include #include #include #include #include #include #i原创 2011-09-14 18:18:41 · 869 阅读 · 0 评论 -
字符设备驱动之Buttons-定时器(timer)
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-14 17:58:55 · 966 阅读 · 0 评论 -
字符设备驱动之Hello World
时间差不多该开始学驱动编程了, 本节开始记录学习驱动的过程。Linux设备驱动会以内核模块的形式出现,因此,在进行学习驱动编程之前,首先要有关于模块和内核编程的概念.。开发这样的专门技术对任何类型的模块化的驱动都是重要的基础.。但是,处于学习驱动编写的目的, 一个标准内核是最好的原创 2011-09-07 16:29:52 · 3572 阅读 · 0 评论 -
字符设备驱动之笔记-异步通知(fasync)
发信号:1. 谁发2. 发给谁3. 发什么4. 怎么发5. 收到信号后做什么16th_signal_app发信号:1. 谁发 a2. 发给谁 b3. 发什么 SIGIO4. 怎么发 int kill(pid_t pid,原创 2011-09-14 17:49:21 · 1893 阅读 · 0 评论 -
字符设备之笔记-定时器(timer)
定时器两要素:1. 时间2. 处理函数怎么用定时器?1. 定义/设置一个结构体: static struct timer_list timer_task;init_timer(&timer_task);timer_task.function = gen原创 2011-09-14 18:02:31 · 756 阅读 · 0 评论 -
字符设备驱动之LED
led.c #include #include #include #include #include #include #include #include #include #include /* 次设备号: *原创 2011-09-14 12:26:24 · 848 阅读 · 0 评论 -
字符设备驱动之Buttons-中断
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-14 16:14:29 · 676 阅读 · 0 评论 -
字符设备驱动之Buttons-轮询
buttons.c#include #include #include #include #include #include #include #include #include #include static原创 2011-09-14 16:07:17 · 840 阅读 · 0 评论 -
字符设备之笔记-中断处理
中断处理过程:cpu每执行一条指令之前,都会查看是否有中断发生,如果没有中断,则执行这条指令,如果有中断,则不执行这条指令.然后:1. 硬件:1.1 CPU进行irq模式1.2 CPU强制跳到中断向量入口地址去执行2. 软件:2.1 在"中断向原创 2011-09-14 16:49:18 · 862 阅读 · 0 评论 -
字符设备驱动之Buttons-等待队列
buttons.c #include #include #include #include #include #include #include #include #include #include #include原创 2011-09-14 17:04:57 · 583 阅读 · 0 评论 -
字符设备驱动之Buttons-循环缓冲队列
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-14 17:09:36 · 740 阅读 · 0 评论 -
字符设备之Buttons-Poll机制
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-14 17:32:31 · 875 阅读 · 0 评论 -
字符设备之LED-定时器(timer)
led_timer.c#include #include #include #include #include #include #include #include #include #include static原创 2011-09-14 18:12:15 · 1205 阅读 · 0 评论 -
字符设备之Buttons-中断共享(2)
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-14 17:00:40 · 514 阅读 · 0 评论 -
字符设备之Buttons-中断共享(1)
buttons.c#include #include #include #include #include #include #include #include #include #include #include原创 2011-09-14 16:41:07 · 676 阅读 · 0 评论 -
自定义DEBUG
#define DEBUG#ifdef DEBUG#define LOG(fmt, arg...) printk(KERN_ALERT "##Win.cao>>[%s:%d] "fmt"\n", __func__, __LINE__, ##arg)#else#define LOG(...)#endif原创 2017-07-19 18:42:37 · 905 阅读 · 0 评论