![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux驱动
ZackAddy
这个作者很懒,什么都没留下…
展开
-
《Linux驱动》最简单的驱动编写与makefile
#include <linux/init.h>/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/module.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*/MODULE_LICENSE("Dual BSD/GPL");/*声明是开源的,没有内核版本限制*/MODULE原创 2016-05-12 09:01:29 · 2561 阅读 · 0 评论 -
《Linux驱动》iTop4412开发板LCD驱动 详细分析 (二)
由上图可以看出 lcd的应用层 通过 内核的fbmem接口 再调用驱动xxxfb.c的内容 而fbmem接口是内核提供的,所有驱动设计人员主要的任务就是定义一个fb_info 结构体(该结构由内核提供),然后填充结构体中的内容做好相应的初始化后,提交给内核就可以了。 ———————————- 首先驱动文件在: 在kernel/drivers/video/samsung/目录下原创 2016-05-20 08:53:42 · 1915 阅读 · 1 评论 -
《Linux驱动》iTop4412开发板LCD驱动 详细分析 (一)
在kernel中有device和driver两个描述. 一.先看device 在palt-s5p/dev-fimd-s5p.c 定义了一个 struct platform_device s3c_device_fb 平台设备#ifdef CONFIG_FB_S5P // 选择开关static struct resource s3cfb_resource[] = { [原创 2016-05-20 08:34:58 · 2459 阅读 · 0 评论 -
《Linux驱动》分层分离
led_drv#include <linux/module.h>#include <linux/compat.h>#include <linux/types.h>#include <linux/errno.h>#include <linux/smp_lock.h>#include <linux/kernel.h>#include <linux/major.h>#include <lin原创 2016-05-19 17:36:22 · 1105 阅读 · 0 评论 -
《Linux驱动》输入子系统
#include <linux/module.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/interrupt.h>#include <linux/irq.h>#include <linux/sched.h>#include <linux/pm.h>#include <linux/sysctl.h>#incl原创 2016-05-19 17:28:08 · 815 阅读 · 0 评论 -
《Linux驱动》中断
/*以后写驱动可以讲头文件一股脑的加载代码前面*/#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <mach/gpio.h>#include <plat/gpio-cfg.h>#include <linux/miscdevice.原创 2016-05-15 00:30:59 · 525 阅读 · 0 评论 -
《Linux驱动》创建字符类设备节点
/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/init.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*/#include <linux/module.h>/*定义module_param module_param_array的头文件*/#include <linux/原创 2016-05-13 15:19:22 · 703 阅读 · 0 评论 -
《Linux驱动》注册字符类设备
/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/init.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*/#include <linux/module.h>/*定义module_param module_param_array的头文件*/#include <linux/原创 2016-05-13 14:51:43 · 555 阅读 · 0 评论 -
《Linux驱动》动态申请字符设备号
#include <linux/init.h>/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/module.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*//*定义module_param module_param_array的头文件*/#include <linux/m原创 2016-05-13 01:44:35 · 653 阅读 · 0 评论 -
《Linux驱动》GPIO配置并操作Led
驱动代码:#include <linux/init.h>#include <linux/module.h>/*驱动注册的头文件,包含驱动的结构体和注册和卸载的函数*/#include <linux/platform_device.h>/*注册杂项设备头文件*/#include <linux/miscdevice.h>/*注册设备节点的文件结构体*/#include <linux/fs.h原创 2016-05-12 17:02:14 · 2618 阅读 · 0 评论 -
《Linux驱动》混杂设备与设备节点
#include <linux/init.h>#include <linux/module.h>/*驱动注册的头文件,包含驱动的结构体和注册和卸载的函数*/#include <linux/platform_device.h>/*注册杂项设备头文件*/#include <linux/miscdevice.h>/*注册设备节点的文件结构体*/#include <linux/fs.h>#def原创 2016-05-12 12:56:03 · 1201 阅读 · 0 评论 -
《Linux驱动》驱动注册
#include <linux/init.h>#include <linux/module.h>/*驱动注册的头文件,包含驱动的结构体和注册和卸载的函数*/#include <linux/platform_device.h>#define DRIVER_NAME "hello_ctl"/*设备注册所需的名字,在内核/arch/arm/mach-exynos/mach-tiny4412.c需要用原创 2016-05-12 11:56:40 · 428 阅读 · 0 评论 -
《Linux驱动》iTop4412开发板LCD驱动 详细分析 (三)
接下来我们来详解介绍probe中的函数:第一个函数: s3cfb_set_lcd_info(fbdev[i]);1.该函数源码如下:/*该函数在s3cfb_wa101s.c 中*//* name should be fixed as 's3cfb_set_lcd_info' */void s3cfb_set_lcd_info(struct s3cfb_global *ctrl){ s原创 2016-05-20 14:34:06 · 7309 阅读 · 0 评论