文档章节

Ubuntu驱动Makefile文件编写方法

_
 _潇洒人生_
发布于 2016/11/04 09:29
字数 193
阅读 13
收藏 0
点赞 0
评论 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

Linux设备驱动开发学习(3):构造和运行模块

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

lengxujun ⋅ 2016/06/20 ⋅ 0

Linux 字符设备驱动例子

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

满小茂 ⋅ 2016/05/23 ⋅ 0

Ubuntu16.04 Caffe 安装步骤记录(超详尽)

历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱...

王英豪 ⋅ 2017/12/05 ⋅ 0

ubuntu16.04配置py-faster-rcnn

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

lovedan ⋅ 2016/11/05 ⋅ 0

内核模块编译 makefile入门

转自http://blog.csdn.net/zqixiao_09/article/details/50838043 一、模块的编译 我们在前面内核编译中驱动移植那块,讲到驱动编译分为静态编译和动态编译;静态编译即为将驱动直接编译进内核...

u012142460 ⋅ 2017/12/19 ⋅ 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

linux驱动(一):linux驱动框架

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

u012142460 ⋅ 2017/12/23 ⋅ 0

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

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

pc朵拉 ⋅ 2013/11/30 ⋅ 0

android module驱动编程及通信

前言: android module编译环境搭建及简单设备驱动编写,最后写一个测试POC与驱动通信 一、编译环境搭建 android编译好的内核源码(主要是Kernel相关的头文件) android NDK编译环境(>4.8)...

fallrain ⋅ 2016/10/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部