在linux内核3.14.43添加自己的驱动源码,linux内核如何加入自己的驱动

 

  • linux添加自己的驱动,内核源码版本:3.14.43




1. 添加自己的文件夹

在驱动里面加入自己的文件夹,例如我在driver/char/文件夹里面加入自己的pwm驱动,我需要在char目录下,新建一个pwm_bl目录,在此目录里面放入你的驱动源码 am335x_backlight.c。

 

2. 添加Makefile
同时,在pwm_bl目录里面,加入自己的Makefile,对应文件am335x_backlight.c, 里面写入一句话即可:

 obj-y += am335x_backlight.o

 

注意,名字一定要对应am335x_backlight.c, 这样才能被编译工具识别,否无效报错。
这表示把驱动源码编译到内核里面,如果做成menuconfig中可选M或者*的话,需要这样写:


obj-$(CONFIG_AM335X_BACKLIGHT) += am335x_backlight.o

 

3. 添加Kconfig
在同一目录中,新建Kconfig文件,文件加入如下内容,这个内容可以在内核menuconifg里面看到:


menu "WQ-pwm-driver "
comment "am335X pwm backlight"


config AM335X_BACKLIGHT
tristate "wq pwm driver"
help
this is WQ pwm driver
endmenu

同样,注意名字: AM335X_BACKLIGHT

4. 在上一层目录中修改Makefile和Kconfig
我们在上一层目录中,也就是:driver/char中,修改当前的Makefile和Kconfig:

* 在Kconfig中的文件末尾,加入:


source "drivers/char/pwm_bl/Kconfig"

* 在driver/char的Makefile中,末尾添加:


obj-y += pwm_bl/


5. Make,编译内核!

转载于:https://www.cnblogs.com/mynameislinduan/p/10736204.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 怎样在页面上实现一个圆形的可点击区域?

[html] 怎样在页面上实现一个圆形的可点击区域? 1、用canvas画布,弧线画圆,在canvas上监听点击事件 2、用一个div,给div添加圆角属性50,在div上添加点击事件 3、button 上添加圆角属性 4、a标签添加圆角属性个人简介 我是歌谣&a…

php mysql 单例模式_PHP单例模式_PHP单例模式数据库连接类

添加查询数据库的方法,方法后注释有参数填写的例子与格式public function select($table,$conditionarray(),$field array(),$limit,$order){ //(表名,条件,查询的字段) select(tb_table,array(id>93,name>user),array(id,aa))$where…

Inside IronPython: IronPython AST语法树(2/2)

接上篇: Inside IronPython: IronPython AST语法树(1/2) ASTs简介: 当 ipy.exe 执行demo.py的时候,IronPython语言自身的实现和DLR共同参与源代码的编译处理。从基本层面上来讲,编译器是流水化作业的:从语法解析器生成描述源代码…

遍历文档树

子节点 一个Tag可能包含多个字符串或其它的Tag,这些都是这个Tag的子节点.Beautiful Soup提供了许多操作和遍历子节点的属性.注意: Beautiful Soup中字符串节点不支持这些属性,因为字符串没有子节点1. tag的名字 操作文档树最简单的方法就是告诉它你想获取的tag的name.如果想获取…

[html] html5中的form怎么关闭自动完成?

[html] html5中的form怎么关闭自动完成? 设置form的autocomplete属性为off个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

如何开通支付宝

一、登录支付宝网站注册: 1、注册支付宝账户 1)进入支付宝网站https://www.alipay.com/点击“免费注册”按钮 进入支付宝网站https://www.alipay.com/,如果图片有不显示的,请刷新一下,或者将鼠标放到红叉的位置&#x…

mysql的aborted_mysql参数:aborted_connects过大

mysql参数:aborted_connects过大(2015-12-31 11:32:08)标签:mysql运维it如果一个客户端在成功连接之后,不正常中断或结束,Aborted_connects将会增加1,并会将日志记录到error日志里。(log_warning设置为2才会记录)原因可…

[html] label都有哪些作用?并举相应的例子说明

[html] label都有哪些作用&#xff1f;并举相应的例子说明 label通常用来关联一个表单控件<label for"hobby">爱好</label> <input id"hobby" type"checkbox" value"0">个人简介 我是歌谣&#xff0c;欢迎和大家一…

小白学docker(1)---docker安装

最近学习下docker&#xff0c;并且工作需要&#xff0c;就总结下。 1、Docker安装 a、先查看下CentOS版本 b、查看下Linux内核版本 c、执行wget -qO- https://get.docker.com/|sh 其实就是一个执行脚本来快速安装开发环境docker d、启动sudo systemctl docker start 执行命令确…

java mysql 异步查询数据库_java 异步操作数据库

Autowiredprivate ThreadPoolTaskExecutor threadPoolTaskExecutor;threadPoolTaskExecutor.execute(new UpdateDbCdkeyStatus(AcvitityId, couponCode, money));/*** 记录coupon到数据库*/private class UpdateDbCdkeyStatus implements Runnable {private String couponCode;…

.NET平台依赖注入机制及IoC的设计与实现

我们设计的分层架构&#xff0c;层与层之间应该是松散耦合的。因为是单向单一调用&#xff0c;所以&#xff0c;这里的“松散耦合”实际是指上层类不能具体依赖于下层类&#xff0c;而应该依赖于下层提供的一个接口。这样&#xff0c;上层类不能直接实例化下层中的类&#xff0…

工作377-处理url拼接里面的参数方法

function GetRequest() {var url location.search; //获取url中"?"符后的字串var theRequest new Object();if (url.indexOf("?") ! -1) {var str url.substr(1);strs str.split("&");for(var i 0; i < strs.length; i ) {theRequ…

1020.数字识别

来源&#xff1a;oj.noi.cn时间限制: 1000 ms 空间限制: 262144 KB题目描述输入一个不多于四位的正整数&#xff0c;求出它是几位数&#xff0c;并分别打印出各位上的数字。输入输入一个不多于四位的正整数x。输出第一行输出x的位数num&#xff0c;接下来num行从高位到低位输出…

php嵌套查询mysql语句_mysql 查询嵌套

问题描述 为使讨论简单易懂&#xff0c;我将问题稍作简化&#xff0c;去掉诸多的背景。 从前有一个皇帝&#xff0c;他有50个妃子&#xff0c;这些妃子很没有天理的给他生了100,000个儿子&#xff0c;于是&#xff0c;皇帝很苦恼&#xff0c;海量的儿子很难管理&#xff0c;而且…

工作378-封装axios方法

const apiBaseUrl http://118.178.180.86:9000const service axios.create({baseURL: apiBaseUrl,timeout: 10000 });/*拦截器获取token地址*/ service.interceptors.request.use(function(config) {var Request new Object();Request GetRequest();let tokenRequest.token…

爬虫之request

目录 爬虫基本流程request和responserequestresponse演示解析方式requests库基本get请求1. 基本写法2. 带参数get请求3. 解析json4. 获取二进制数据5. 添加headers基本post请求响应状态码判断&#xff1a;高级操作beautifulsoup库爬取汽车之家示例爬虫基本流程 发起请求&#x…

工作379-回调日期补0操作

var data econsole.log(this.continuousDays, "continuousDays")data data.setDate(data.getDate() this.continuousDays);data new Date(e);console.log(data, "data")let dateYear1 data.getFullYear(); //获取年console.log(dateYear1, "date…

征途pak文件修改_传奇技能,第十四祭:装备属性修改与增加新装备

技能献祭&#xff0c;Get 新技能&#xff1a;传奇技能——应用篇&#xff0c;增加新装备与绑特效跟航家学技能&#xff0c;用正式服带你飞&#xff0c;底部有配套学习资源场景&#xff1a;游戏中装备的属性是可以修改的&#xff0c;基础攻防属性可以直接在物品数据库中修改&…

8月18日 小雨

小爱&#xff0c;昨天你睡的很可爱 呵呵 我今天没晚&#xff0c;居然提前20分钟自己醒了。 刚来公司&#xff0c;就收到经理通知&#xff0c;中午大家要去开发区吃饭&#xff0c;下午事都处理完就可能放假&#xff0c;HOHO。 提前告诉小爱&#xff0c;不要着急。 我爱你 转载于…

python tornado对接权限中心的sdk封装

# -*- coding: utf-8 -*- import jsonimport requests import logging as loggerfrom python.akskapp.scripts.api.baseHandler import Rclass AuthSdk(object):# 登录def loginToAuthcenter(self, username, password):resp Noneheaders {"Content-Type": "a…