文档章节

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
05/06
0
0
Linux设备驱动开发学习(3):构造和运行模块

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

lengxujun
2016/06/20
0
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驱动(一):linux驱动框架

编写linux驱动先看一下驱动框架是什么样子的。 驱动编写和应用层编写有什么区别呢? (一)首先 入口函数的问题。应用层编写我们的入口就是main函数,但在驱动编写时不是这样的,有两种情况,...

u012142460
2017/12/23
0
0
在pcDuino上面使用9轴bmp085三轴磁场加速度陀螺仪大气压强模块

Wiki。 帖子出自:http://cnlearn.linksprite.com/?p=340

pc朵拉
2013/11/30
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

AS连接网易Mumu模拟器

1、安装模拟器 打开这个网址现在模拟器然后安装 http://mumu.163.com/ 2、安装完成后启动模拟器 3、进入模拟器安装目录 例如本机的安装目录:C:\Program Files (x86)\MuMu\emulator\nemu\vmo...

HGMrWang
28分钟前
7
0
设计要做到扩展性强还挺难的

概述 在日常开发中,有时候你的上司会跟你说,这个模块的设计扩展性要高。把这句话说出来很简单,但是要做到则非常难。导致难的其中一个因素是: 你不熟悉这个行业的业务的玩法 我举个例子来...

Sam哥哥聊技术
29分钟前
2
0
聊聊 scala 的模式匹配

一. scala 模式匹配(pattern matching) pattern matching 可以说是 scala 中十分强大的一个语言特性,当然这不是 scala 独有的,但这不妨碍它成为 scala 的语言的一大利器。 scala 的 patt...

终日而思一
31分钟前
1
0
Spring事物手动回滚

手动回滚: 方法1:在service层方法的catch语句中增加:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();语句,手动回滚,这样上层就无需去处理异常(现在项目的做法)...

寒风中的独狼
35分钟前
1
0
直角三角形的三角函数

sinA = a/c;A = asin(a/c); 特殊角度的三角函数值

一个小妞
43分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部