
linux内核模块学习
zjf30366
这个作者很懒,什么都没留下…
展开
-
驱动模块Makefile 编写【原创】
为了省去每次编译内核的麻烦,于是采用模块的方式进行编写,这样会省很多时间。 makefile: ## gpio_keys#PWD :=$(shell pwd)KERNELDIR := /home/zjf/R40/lichee/linux-3.10 ARCH=arm CROSS_COMPILE = /home/zjf/R40/lichee/...原创 2018-12-14 11:25:10 · 488 阅读 · 0 评论 -
R40 gpio 使用【原创】
首先要申请GPIO if(0 != gpio_request(config->gpio, NULL)) { //config->gpio ,表示gpio号。 printk("relay_gpio gpio_request fail !"); return -1; } 然后需要设置模式,有下列方...原创 2018-12-14 11:25:51 · 416 阅读 · 0 评论 -
R40gpio输出无高低电平变化【原创】
在配置GPIO控制继电器时,其中有几个在GPIO发送高低电平继电器没有变化,测试继电器是好的,于是用万用表测IO,发现推送高低电平时,没有发生改变。几经折腾,发现该组PG的电源没开,硬件同事找到该组GPIO的电源用的是dldo3 ,于是找到sys_config.fex里面的电源选项power_sply ,其中dldo3_vol = 3300这样表示电...原创 2018-12-14 11:37:00 · 658 阅读 · 0 评论 -
R40使用GPIO中断实现按键功能【原创】
采用创建input的方式可以通过 cat /proc/bus/input/devices 查看生成的input设备对应的event句柄,比如I: Bus=0019 Vendor=0001 Product=0001 Version=0100N: Name="gpio-keys"P: Phys=gpio-keys/input0S: Sysfs=/devices/platform/g...原创 2018-12-14 11:39:31 · 760 阅读 · 0 评论 -
request_irq() | 注册中断服务【ZT】
http://blog.youkuaiyun.com/wealoong/article/details/7566546 一、中断注册方法在linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义:int request_irq(unsigned int irq, irq_handler_t handler, ...原创 2018-12-14 11:40:32 · 233 阅读 · 0 评论 -
linux设备模型之Class
写在前面:class_create 与 class_device_create 是在早期版本比如2.6.29上使用的,可以自动创建/dev下设备,register_chrdev很少使用了,这个使用后还需要手动在/dev下创建设备。现在都使用下面的方法创建设备了。参考:http://www.wowotech.net/device_model/class.html 刚开始写字符设...原创 2019-01-18 15:51:38 · 430 阅读 · 0 评论