《LINUX设备驱动程序》读书笔记---------环境搭建

本文详细介绍了如何在Linux环境下搭建设备驱动程序的开发环境,包括下载内核源码、安装基本工具、编译内核以及编写和编译第一个“Hello World”驱动程序。通过printk函数展示了内核模块的简单输出,并讲解了makefile的配置与执行流程。最后,通过dmesg和lsmod命令检查驱动模块的插入和删除效果。
摘要由CSDN通过智能技术生成


PDF书籍下载
链接:https://pan.baidu.com/s/1duMBHv–pbpNSrQPQSuF_g
提取码:tz5x
包含英文原版和中文版,推荐看英文原版。
环境:Ubuntu14.04 + Linux 4.2.0-27-generic+sourceInsight
注1:书中所用内核是Linux 2.6,而我用的内核版本是Linux 4.2,可能之后书中一些代码需要根据内核更新而进行相应的改变。
注2:如果仅仅是要学习和演示书中代码的效果,使用Ubuntu14.04内核头文件 (/lib/modules/4.2.0-27-generic/build) 即可 (跳过1~3步)。build实际上是链接到真正的头文件 (/usr/src/linux-headers-4.2.0-27-generic)
注3:如果是嵌入式开发,那么就需要以下的步骤 (执行1~3步),配置移植需要的内核源码树在开发主机上。

1.下载内核源码

1.查看当前内核版本
方法一:
使用命令 uname -a 查看系统内核版本号及系统名称
方法二:
使用命令 cat /proc/version 查看目录"/proc"下version的信息

2.下载对应内核版本
方法一:
$sudo apt-cache search linux-source 查看源内的内核源码列表
$sudo apt-get install linux-source-4.15.0 对照自己的内核版本,下载源码列表中相应的版本
方法二:
进入内核官网 https://www.kernel.org/ 下载相应版本的内核。

2. 安装基本工具软件
$sudo apt-get install libncurses5-dev libssl-dev 

$sudo apt-get install build-essential openssl 

$sudo apt-get install zlibc minizip 

$sudo apt-get install libidn11-dev libidn11
3.编译内核

1.解压内核压缩包,之后进入内核文件所在的目录。
2.执行命令

$sudo make mrproper 

$sudo make clean 

$sudo make menuconfig

make mrproper命令会删除所有的编译生成文件、内核配置文件(.config文件)和各种备份文件,所以几乎只在第一次执行内核编译前才用这条命令。
make clean命令则是用于删除大多数的编译生成文件,但是会保留内核的配置文件.config,还有足够的编译支持来建立扩展模块。所以你若只想删除前一次编译过程的残留数据,只需执行make clean命令。
menuconfig命令会弹出内核配置的图形化界面,进入界面后exit退出并选择保存,实现内核默认配置。
3.编译内核

$sudo make

4.编译和安装模块

$sudo make modules 			#编译模块
$sudo 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值