根据  字符型设备驱动程序-first-printf以及点亮LED灯(二) 学习 修改函数 中的printf 为 printk. #include <linux/module.h> /* Needed by all modules */ #include <linux/kernel.h> /* Needed for KERN_DEBUG */ #include <linux/init.h> /* Needed for __init */ #include <lin…
学习使用 Linux 的  字符型设备驱动 来 进行 . 学习地址:http://edu.51cto.com/lesson/id-25710.html 第一步: 首先写 三个函数 ,2017年5月17日15:59:06 #include<stdio.h> #include <linux/init.h> #include <linux/module.h> #include <linux/interrupt.h> #include <linux/iopor…
编译这几个函数之前要学一下:Linux 的几个操作命令. 学习地址:http://edu.51cto.com/lesson/id-101824.html 重要的命令 有4个 :分别是 1.lsmod,2.insmod 3.modinfo 4.rmmod. 1.lsmod (list module) 将模块列表显示,打印出当前内核中已经安装的模块列表,下面试试效果 2.insmod  ( install module ) 向内核中安装模块,使用方式 insmod xxx.ko 3.modinfo…
怎么样 把 写的 代码 和 编译 放到  开发板上 去执行? 2017年5月22日16:34:13 需要 自己 编译 Linux 内核.. 需要 以下 几个 条件: 1.正常运行 Linux 的 开发板 1.烧录 板子上 的Linux 2.用 nfs 挂载 2.内核源码树 3.nfs  挂载的 rootfs,主机Ubuntu 中搭建一个 nfs 服务器, 实践:   第一:找到  可以运行在开发板 的 源码 ,复制到 Ubuntu 远程 主机上. 第二:在Ubuntu 远程主机上 安装 arm-…
Linux字符型设备驱动之初体验 文章目录 Linux字符型设备驱动之初体验 前言 框架 字符型设备 程序实现 cdev kobj owner file_operations dev_t 设备注册过程 申请设备号 注册设备 register_device 如何构建 模块编译 内核编译 Makefile Kconfig 总结 参考 前言 驱动总共分为字符型设备驱动,块设备驱动,网络设备驱动.对于字符型设备驱动的资料,网上比较多,<Linux Kernel Driver>这本书可以了解一下,对于学…
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59417.html linux设备驱动归纳总结(三):2.字符型设备的操作open.close.read.write 一.文件操作结构体file_operations 继续上次没讲完的问题,文件操作结构体到底是什么东西,为什么我注册了设备之后什么现象都没有?可以验证文件操作结构体的内容. file_operations是一个函数指针的集合,用于存放我们定义的用于操作设备的函数的指针,如果我们不定义,…
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59416.html linux设备驱动归纳总结(三):1.字符型设备之设备申请 操作系统:Ubunru 10.04 实验平台:S3C2440 + linux2.6.29内核 注:在今后驱动程序的学习中经常需要查看内核源代码,建议大家新加一个内核目录,去掉一些与S3C2440平台无关的代码,打包成ctags,方便查看代码. 一.驱动的分类: 内核驱动大致分为三类: 1)字符设备:在今后的接触的大多数都…
linux设备驱动归纳总结(三):2.字符型设备的操作open.close.read.write 一.文件操作结构体file_operations 继续上次没讲完的问题,文件操作结构体到底是什么东西,为什么我注册了设备之后什么现象都没有?可以验证文件操作结构体的内容. file_operations是一个函数指针的集合,用于存放我们定义的用于操作设备的函数的指针,如果我们不定义,它默认保留为NULL. 来个文件操作结构体的定义: /*include/linux/fs.h*/ 1310 struc…
linux设备驱动归纳总结(三):1.字符型设备之设备申请 操作系统:Ubunru 10.04 实验平台:S3C2440 + linux2.6.29内核 注:在今后驱动程序的学习中经常需要查看内核源代码,建议大家新加一个内核目录,去掉一些与S3C2440平台无关的代码,打包成ctags,方便查看代码. 一.驱动的分类: 内核驱动大致分为三类: 1)字符设备:在今后的接触的大多数都是字符设备,我也只学过这个. 2)块设备 :与硬盘相关的设备. 3)网络设备:与网络相关的设备. 上面的三种设备,我也…
在成功构建了一个能够运行在开发板平台的系统后,下一步就要正式开始应用的开发(这里前提是有一定的C语言基础,对ARM体系的软/硬件,这部分有疑问可能要参考其它教程),根据需求仔细分解任务,可以发现包含的外设有LED,BEEP,RS232,六轴传感(SPI接口),光环境传感器(I2C),音频输出, RTC等,如果按照这个顺序去实现驱动,一定程度其实又回归最初的模块学习的策略,不过既然是从应用的角度,先实现应用框架,来验证是否符合预期,这比测试模块驱动的更重要,也更容易有产出感. 按照这个需求,就可以…