基于Tiny4412的DS18B20温度传感器驱动

首先,在虚拟机中新建名为linux-3的文件夹,从光盘中将linux-3.5-20170221.tgz(此文件由于过大无法上传,可私信我)压缩包拷入到此文件夹中。在此文件夹中将压缩包解压,得到linux-3.5文件夹。将编写好的驱动程序代码ds18b20.c驱动程序代码可到我的资源中下载)放入/linux-3/linux-3.5/drivers/char中。如图所示:
基于Tiny4412的DS18B20温度传感器驱动_第1张图片
接下来配置Kconfig文件。右键单击open with gedit Text Editor,打开后在文件中进行修改:


修改后的Kconfig文件可在我的资源中下载


随后安装ncurses库。首先在http://ftp.gnu.org/gnu/ncurses/将ncurses 5.9下载。将其复制到某一路径下,通过命令tar xzvf ncurses-5.9.tar.gz解压文件,进入解压缩的目录,按照系统环境制作安装配置文件(./configure),编译源代码并且编译ncurses库(make),最后安装编译好的ncurses库(make install)即可。
在终端中进入linux-3.5文件夹,运行命令make menuconfig,打开如下界面:
基于Tiny4412的DS18B20温度传感器驱动_第2张图片
选择Device Drivers选项
基于Tiny4412的DS18B20温度传感器驱动_第3张图片
选择Character devices选项
基于Tiny4412的DS18B20温度传感器驱动_第4张图片
将光标移动到ds18b20 drives上,按空格使前面显示
接下来配置Makefile文件。同样右键单击open with gedit Text Editor,打开后在文件中进行修改:


修改后的Makefile文件可在我的资源中下载


将Makefile文件保存退出。然后回到linux-3.5源代码根目录位置(即/linux-3.5),执行make modules命令,生成内核模块文件ds18b20.ko。
将ds18b20.ko放入/dev文件夹中。随后在超级终端执行insmod ds18b20.ko命令,生成ds18b20文件。
在这里插入图片描述


测试


测试代码可到我的资源中下载
测试代码名为:testa.c
基于Tiny4412的DS18B20温度传感器驱动_第5张图片

你可能感兴趣的:(嵌入式)