文档章节

Ubuntu驱动Makefile文件编写方法

_
 _潇洒人生_
发布于 2016/11/04 09:29
字数 193
阅读 15
收藏 0

一、Makefile文件格式

KVERS = $(shell uname -r)

#Kernel modules
obj-m += globalmem.o

#Specify flags for the module compilation
#开启可以包含调试信息模块:globalmem.ko
#EXTRA_CFLAG = -g -o0

build:kernel_modules

kernel_modules:
        make -C /lib/modules/$(KVERS)/build M=$(CURDIR) modules
        
clean:
        make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean

 

二、安装及卸载模块命令

安装模块:insmod     globalmem.ko

卸载模块:rmmod    globalmem.ko

加载模块:lsmod

查看主设备号:cat /proc/devices

创建设备节点:

    mknod /dev/globalmem0 c 250 0

     mknod /dev/globalmem1 c 250 1

删除设备节点:

     rm  /dev/globalmem0

     rm  /dev/globalmem1

验证设备读写:

    echo "hello world1" > /dev/globalmem0

     echo "hello world2" > /dev/globalmem1

    cat /dev/globalmem0

    cat /dev/globalmem0

启动两个进程:阻塞与非阻塞IO(一个在后台执行,一个写入字符串)

     cat /dev/globalfifo  &

    echo 'i want to be' > /dev/globalfifo

 

© 著作权归作者所有

共有 人打赏支持
_
粉丝 0
博文 12
码字总数 991
作品 0
长沙
程序员
私信 提问
linux下编译代码时的默认头文件路径

1 应用编程、驱动源代码中的头文件 1.1 应用编程中包含的头文件是应用层的头文件,是应用程序的编译器带来的 1.1.1 编译windows下的应用程序时 1)使用<>包含的头文件一般会先搜索-I选项后的...

qq_40334837
2018/05/06
0
0
Linux设备驱动开发学习(3):构造和运行模块

从本章开始引入所有关于模块和内核编程的基本概念,并编写一个完整模块来实践这些基本的概 念。 3.1 搭建测试环境 由于所有测测试代码都是基于Ubuntu 14.04.2 Desktop的3.16.0-30-generic内核...

lengxujun
2016/06/20
0
0
Linux 字符设备驱动例子

编写好驱动,通过挂载的方法将驱动程序挂载到内核里面,大致步骤如下: 一: 1>建立以.c为后缀的c语言程序文件 (里面包含了设备名及设备号等) 2>建立Makefile文件(作用是通过make来产生设备文件*...

满小茂
2016/05/23
256
0
ubuntu16.04配置py-faster-rcnn

ubuntu16.04配置py-faster-rcnn 在ubuntu16.04下编译安装了py-faster-rcnn。 如果你发现本文写的有不对或不清晰的地方,还请在文末留言指出,谢谢! 主要步骤包括:安装cuda/cudnn,换apt源,...

lovedan
2016/11/05
0
0
Linux Kernel Module 的实现过程

【1】有必要查询下Linux内核 # uname -r2.6.28-11-generic ls /usr/src/ linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic 由此可见内核版本和内核头文件版本是一致的,都是2.6.28-...

wangxigui
2012/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybaties中通用mapper的基本使用

使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL。而且,当数据库表结构改动时,对应的所有SQL以及...

嘴角轻扬30
7分钟前
0
0
都996了,研发效能还是提不起来,关键在这里

上一篇我们介绍了研发效能提升目标及其度量方法。(本文是阿里“研发效能提升系列”的第2篇,第1篇“研发效能的定义和度量”敬请期待【下周三】的钉钉群直播:钉钉搜索群号 23192180) 研发效...

zhaowei121
7分钟前
0
0
阿里重磅开源首款自研科学计算引擎Mars,揭秘超大规模科学计算

日前,阿里巴巴正式对外发布了分布式科学计算引擎 Mars 的开源代码地址,开发者们可以在pypi上自主下载安装,或在Github上获取源代码并参与开发。 此前,早在2018年9月的杭州云栖大会上,阿里...

阿里云云栖社区
10分钟前
0
0
大牛是怎么思考设计SQL优化方案的?

在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。 图-MySQL查询过程 一、优化的哲学 ...

Java填坑路
19分钟前
0
0
docker1.7 Error: Path not specified 错误

在centos6.1上,用yum命令安装的docker版本是1.7 。在拷贝文件的时候报 Error: Path not specified错误。 错误消息“错误:路径未指定” 在docker1.8.0中已修复。 修复方法: 直接下载1.9.1...

applepaihs
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部