字符设备驱动模块的编译

一.  简介

本文继上一篇文章的学习,上一篇文章学习了字符设备驱动框架的初步编写。文章地址如下:

字符设备驱动框架的编写-CSDN博客

本文对上一篇编写的驱动模块初步框架进行编译。

二.  字符设备驱动模块的编译

上一篇文章,编写了字符设备驱动加载与卸载的框架代码,这里对代码进行编译。

编写 Makefile文件,Makefile 文件内容如下:

KERNELDIR := /home/wangtian/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga

CURRENT_PATH := $(shell pwd)
obj-m := chrdevbase.o

build: kernel_modules

kernel_modules:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

1 行, KERNELDIR 表示开发板所使用的 Linux 内核源码目录,使用绝对路径,大家根 据自己的实际情况填写即可。
2 行, CURRENT_PATH 表示当前路径,直接通过运行 “ pwd ” 命令来获取当前所处路 径。
3 行, obj-m 表示将 chrdevbase.c 这个文件编译为 chrdevbase.ko 模块。
8 行,具体的编译命令,后面的 modules 表示编译模块, -C 表示将当前的工作目录切 换到指定目录中,也就是 KERNERLDIR 目录。 M 表示模块源码目录,“ make modules ” 命令 中加入 M=dir 以后程序会自动到指定的 dir 目录中读取模块的源码并将其编译为 .ko 文件。

Makefile 编写好以后,就可以输入“ make ” 命令编译驱动模块。操作如下:

从上面信息可以看出,进入我设置的 Linux内核源码(更改后的NXP官方Linux内核)目录中进行编译,编译完成后面又退出了 Linux内核源码路径。

查看是否生成 .ko文件:


可以看出,编译成功。生成了 chrdevbase.ko文件。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多分类预测 | MATLAB实现CNN-LSTM-Attention多输入分类预测

分类预测 | MATLAB实现CNN-LSTM-Attention多输入分类预测 分类效果 需要源码和数据的私信(微微有偿取哦)

swing快速入门(十二)

注释很详细,直接上代码 上一篇 新增内容 1.Box容器和BroadLayout布局管理器的结合用法 2.textArea(多行文本域) 3.Choice(下拉选择栏) 4. CheckboxGroup(多项单选选择框) 5. Checkbox&…

爬虫chrome浏览器抓包说明

chrome浏览器抓包说明 目标:掌握chrome在爬虫中的使用 1. 新建隐身窗口(无痕窗口) 作用:在打开无痕窗口的时候,第一次请求某个网站是没有携带cookie的,和代码请求一个网站一样,这样就能够尽可…

网络服务IP属地发生变化的原因有哪些?

近期,许多用户发现自己的网络服务IP属地发生了变化。原本固定的IP地址不再是静态的,而是发生了变动。这一现象引起了广大用户的关注和疑惑,对网络服务的使用和信息安全产生了影响。为了解决用户的疑虑,我们对此现象进行了深入探究…

.NET 8的正式发布,对Telerik开发工具意味着什么?

微软日前正式发布了.NET 8稳定版,这是一个长期支持(LTS)的版本,它可以使Android、Windows和macOS跨平台应用的开发过程高效流畅,同样的目标也驱使着Telerik UI不断进步和发展! Telerik DevCraft包含一个完整的产品栈来构建您下一个…

现代雷达车载应用——第2章 汽车雷达系统原理 2.6节 雷达设计考虑

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.6 雷达设计考虑 上述部分给出了汽车雷达基本原理的简要概述。在雷达系统的设计中,有几个方面是必不可少的,它们决定了雷达系…

真正可行的vue3迁移到nuxt3方法(本人亲测,完全避坑)

终于到了总结经验的时候了,这绝对是全网唯一、完全真正可行的干货。 在我看来,知识就是要拿来分享的,分享给他人也是在提高自己。我绝对不会搞什么订阅或者vip专栏来搞钱坑害各位, 因为我在csdn写文章最主要的目的是为了记录和总…

接口测试 — 4.Requests库GET、Post请求

Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求。 (不带参数的GET请求请看上一篇文章的练习) 1、Requests库待参数的GET请求 使用Get方法带参数请求时,是params参数字典,而不是data参数字典。data参数字典…

从零开始:前端架构师的基础建设和架构设计之路

文章目录 一、引言二、前端架构师的职责三、基础建设四、架构设计思想五、总结《前端架构师:基础建设与架构设计思想》编辑推荐内容简介作者简介目录获取方式 一、引言 在现代软件开发中,前端开发已经成为了一个不可或缺的部分。随着互联网的普及和移动…

Redis 过期删除策略、内存回收策略、单线程理解

不知从何开始Redis的内存淘汰策略也开始被人问及,卷!真的是太卷了。难不成要我们去阅读Redis源码吗,其实问题的答案,在Redis中的配置文件中全有,不需要你阅读源码、这个东西就是个老八股,估计问这个东西是想…

深度探索Linux操作系统 —— 构建根文件系统

系列文章目录 深度探索Linux操作系统 —— 编译过程分析 深度探索Linux操作系统 —— 构建工具链 深度探索Linux操作系统 —— 构建内核 深度探索Linux操作系统 —— 构建initramfs 深度探索Linux操作系统 —— 从内核空间到用户空间 深度探索Linux操作系统 —— 构建根文件系统…

金融众筹系统源码:适合创业孵化机构 附带完整的搭建教程

互联网技术的发展,金融众筹作为一种新型的融资方式,逐渐成为创业孵化机构的重要手段。为了满足这一需求,金融众筹系统源码就由此而生,并附带了完整的搭建教程。 以下是部分代码示例: 系统特色功能一览: 1.…

发现隐藏的 Web 应用程序漏洞

随着 Web 2.0 的扩展,近年来社交媒体平台、电子商务网站和电子邮件客户端充斥着互联网空间,Web 应用程序已变得无处不在。 国际知名网络安全专家、东方联盟创始人郭盛华透露:‘应用程序消耗和存储更加敏感和全面的数据,它们成为对…

时序分解 | Matlab实现NGO-ICEEMDAN基于北方苍鹰算法优化ICEEMDAN时间序列信号分解

时序分解 | Matlab实现NGO-ICEEMDAN基于北方苍鹰算法优化ICEEMDAN时间序列信号分解 目录 时序分解 | Matlab实现NGO-ICEEMDAN基于北方苍鹰算法优化ICEEMDAN时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现NGO-ICEEMDAN基于北方苍鹰算法优化ICE…

Chrome安装插件出现CRX-HEADER-INVALID解决方法

1 Chrome浏览器安装离线插件时出现了“CRX-HEADER-INVALID”错误。 2将插件包的后缀名改成.zip格式。 3点击右侧三点按钮后点击【更多工具】--》【扩展程序】界面。 4在【扩展程序】将ZIP包拉入并安装。 5这样就安装成功了,虽然图标上有红色图标…

Dockerfile创建镜像 INMP+wordpress

Nginx 172.111.0.10 MySQL 172.111.0.20 PHP 172.111.0.30 Nginx Vim Dockerfile MySQL Vim my.cnf PHP

【强化学习-读书笔记】表格型有模型和无模型的结合、Dyna-Q、Dyna-Q+、表格型方法的总结

参考 Reinforcement Learning, Second Edition An Introduction By Richard S. Sutton and Andrew G. Barto前面的方法要么是单纯的 model-based ** 方法,要么是 model-free。基于模型的方法将规划作为其主要组成部分,而无模型的方法则主要依赖于学习…

vue javascript tree 层级数据处理

层级数据是有父子关系的数组,示例: const treeData [{id: 1b7e8e98cb1d4a1f81e4fe2dfd9a8458,name: 层级1,parentId: null,children: [{id: 0d45dd5bb4c14d64a3ab0b738add4b24,name: 层级1-1,parentId: 1b7e8e98cb1d4a1f81e4fe2dfd9a8458,children: [{…

Arduino下载、安装及配置(含中文配置步骤)

Arduino下载 官网下载 官网链接---------> Arduino - Home 网盘下载 链接:https://pan.baidu.com/s/1In38y8pinjCL0DEGjRHVTQ?pwdJAYU 提取码:JAYU Arduino安装 直接下一步下一步就行(如果不想放在C盘,那就改…

师兄啊师兄第二季开播:男主成海神?玄机是懂联动的!

《师兄啊师兄》动画第二季在12月14日终于正式开播,首播两集,还是很有诚意的。 这部动画改编自言归正传的小说《我师兄实在太稳健了》,原著的知名度不算很高,但玄机制作的动画让这个IP火出了圈。 动画第一季就凭借高颜值的人物建模…