Fedora下的第一个驱动
来源:互联网 发布:深圳哪里有mac专柜 编辑:程序博客网 时间:2024/05/02 01:55
目的:写一个简单的hello驱动模块,直接在Linux下运行,学习最基本的驱动。
步骤:
1、需要先确认本机linux上存在已经编译好的kernel-devel。
可以用 ls -d /lib/module/$(uname -r)/build 查看
一般来说,安装好的linux操作系统基本上都会有,如果没有可以采用yum install kernel-devel 命令来安装。(注意有可能下载的版本与你Linux自带的版本不一样)最好的解决方法是要不重装系统要不采用光盘安装rpm包。
2、hello.c
#include <linux/module.h>#include <linux/kernel.h> #include <linux/init.h> #define DRIVER_AUTHOR "lhqsine" #define DRIVER_DESC "A driver" static int __init hello_2_init (void) {printk (KERN_ALERT "Hello world\n");return 0;} static void __exit hello_2_exit (void) { printk (KERN_ALERT "Goodbye world\n");} module_init (hello_2_init);module_exit (hello_2_exit);MODULE_LICENSE ("GPL");MODULE_AUTHOR (DRIVER_AUTHOR);MODULE_DESCRIPTION (DRIVER_DESC);MODULE_SUPPORTED_DEVICE ("TestDevice");
3、Makefile
ifneq ($(KERNELRELEASE),) obj-m:= hello.oelse PWD:=$(shell pwd) # KVER?=$(shell uname -r) KERNELDIR:= /usr/src/kernels/2.6.35.6-45.fc14.i686 #这里是你的 uname -rdefault:$(MAKE) -C $(KERNELDIR) M=$(PWD) modulesendif clean:rm -f *.ko *.mod.c *.mod.o *.o modules.* Module.*<strong>4、加载测试
执行make命令编译。
加载驱动:insmod hello.ko
卸载驱动:rmmod hello.ko
查看:
(1)、可以直接在控制台上加载卸载即可看到(GOME,KDE的虚拟控制台)
(2)、dmesg | tail
(3)、cat /var/log/messages |tail
0 0
- Fedora下的第一个驱动
- linux下的第一个驱动
- ubuntu下我的第一个Hello World驱动
- 第一个吃 Wayland 螃蟹的 Fedora 25
- 我的第一个WINCE驱动
- 第一个驱动的小过程 [LCD]
- 我的第一个WINCE驱动
- 【转】我的第一个WINCE驱动
- 第一个测试驱动的模板
- 第一个驱动的小过程 [LCD]
- 为mini2440编写的第一个驱动
- 第二讲:我的第一个驱动
- 第二讲:我的第一个驱动
- linux内核模块编程----ubuntu下我的第一个Hello World驱动
- 小白探访WINDOWS下的驱动(五) 第一个HELLO驱动(插曲-调试环境设置HOST&TARGET)
- Fedora下安装Nvidia驱动
- Fedora下编译模块驱动
- 第一个字符驱动
- 微信类似的UI设计
- gdb常用调试方法
- 黑马程序员——C语言基础--关于typedef和define的重要区别记录以及typedef的经典例子
- Multi-Layer Neural Network
- 安装jbpm插件到myeclipse中
- Fedora下的第一个驱动
- VMware网络配置详解:三种网络模式简介
- 阿里云ECS部署node.js及防火墙80端口开启
- 中山大学自考网校招生简章
- 阿里云ECS部署node.js及防火墙80端口开启
- PyUit
- C++中std::tr1::function和bind 组件的使用
- poj-1930
- 阿里云ECS部署node.js及防火墙80端口开启