第六章 编写Linux驱动程序

Linux驱动的工作和访问方式是Linux的亮点之一,同时受到了业界广泛好评。Linux系统将每个驱动都映射成一个文件。这些文件称为设备文件或驱动文件。

编写Linux驱动程序的步骤:

第一步:建立Linux驱动骨架(装载和卸载Linux驱动)

第二步:注册和注销设备文件

第三步:指定与驱动相关的信息

第四步:指定回调函数

第五步:编写业务逻辑

第六步:编写Makefile文件

第七步:编译Linux驱动程序

第八步:安装和卸载Linux驱动

对于一个Linux驱动程序,一开始可以在Ubuntu Linux上做前期开发和测试。对于访问硬件的部分也可以在Ubuntu Linux 用软件进行模拟。

使用S3C6410开发板测试Linux驱动步骤:

第一步:在S3C6410开发板上使用可执行程序测试Linux驱动

第二步:在S3C6410开发板上使用Android NDK测试Linux驱动

第三步:将驱动编译进Linux内核进行测试

在Ubuntu Linux中通常使用vi或gedit来编辑C/C++源文件。在Linux的其他发行版vi文本编辑器一般是存在的,当然,也可以使用任何自己喜欢的编辑器C/C++源代码文件。

本章不仅介绍一个示例,还介绍了如何使用不同的方法测试Linux驱动。这些方法主要以平台来区分。

时间: 2024-11-10 08:31:10

第六章 编写Linux驱动程序的相关文章

《Linux Device Drivers》第六章 高级字符驱动程序操作——note

ioctl 支持的操作,例如 简单数据传输 控制动作,例如用户空间发起弹出介质动作 反馈硬件的状态,例如报告错误信息 参数配置,例如改变波特率 执行自破坏 用户空间的ioctl方法原型:int ioctl(int fd, unsigned long cmd, -);每个ioctl命令就是一个独立的系统调用,而且是非公开的 驱动程序的ioctl方法原型:int (*ioctl) (struct inode *inode, struct file *filp, unsigned int cmd, u

《Linux Device Drivers》第十六章 块设备驱动程序——note

简介 一个块设备驱动程序主要通过传输固定大小的随机数据来访问设备 Linux内核视块设备为与字符设备相异的基本设备类型 Linux块设备驱动程序接口使得块设备可以发挥其最大的功效,但是其复杂程序又是编程者必须面对的一个问题 一个数据块指的是固定大小的数据,而大小的值由内核确定 数据块的大小通常是4096个字节,但是可以根据体系结构和所使用的文件系统进行改变 与数据块对应的是扇区,它是由底层硬件决定大小的一个块,内核所处理的设备扇区大小是512字节 如果要使用不同的硬件扇区大小,用户必须对内核的扇

【转】第六章、Linux 的文件权限与目录配置

原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要了. Linux一般将文件可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限.若管理不当,你的Linux主机将会变的很『不

第六章、Linux 的文件权限与目录配置

1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 目录与文件之权限意义 2.4 Linux文件种类与扩展名 3. Linux目录配置 3.1 Linux目录配置的依据--FHS:/, /usr, /var 3.2 目录树(directory tree) 3.3 绝对路径与相对路径 3.4 CentOS 的观察: lsb_release 4. 重点回顾 1. 使用者与群组 1.文件拥有者

第六章:Linux文件重要核心属性知识

1.用户 Linux是个多用户.多任务的操作系统 多个用户:多个用户同时登入 多任务:每个用户可以执行多个任务 用户: 管理Linux系统而存在的 用户一般分为用户名和用户ID(UID) 用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID) 文件和进程对应用户关系 linux里所有的用户和进程都要有用户对应. 文件存在必须对应用户 进程运行必须对应用户 Linux用户分类 超级管理员:root UID为0 如果用户对应的用户ID(UID)都有root的对应权限 [[email p

汇编语言:第六章 编写多个段的程序

多个段相对单个段结构清晰易于调用 将数据段数据逆序放在原位置 assume cs:code,ds:data,ss:stack data segmentdw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h //定义8个字型数据  16个内存单元data ends stack segmentdw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //定义栈段,8个空字单元stack ends code segmentstart: mov

第六章第一个Linux驱动程序:统计单词个数

第六章介绍如何在多种平台,使用多种方法测试Linux驱动. 本章主讲统计单词个数的算法的实现技术:Linux驱动.统计单词个数的功能是封装在Linux驱动中的.驱动不一定是直接和硬件打交道的,还可以喝普通的library一样提供其他程序的调用来实现特定功能的. 第一节Linux驱动到底是个什么东西 Linux驱动和普通的Linux API没有本质上的区别,只是使用Linux驱动的方式和使用Linux API的方法不同. Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,

第六章 第一个Linux驱动程序:统计单词个数

在本章将进入了最令人激动的时刻,为了是读者在刚开始学习Linux驱动开发时充满期待,没有只提供Helloworld程序. 首先介绍Linux驱动到底是个什么东西,它和我们以前接触过的windows类型差不多,但是操作和工作方式有很大的区别,Linux系统将每一个驱动都映射成一个文件.这些文件成为设备文件或这驱动文件,都保存在/dev目录中. 接下来给出编写Linux驱动程序的步骤:第一步:建立Linux驱动骨架,Linux驱动程序中需要提供两个函数来分别处理驱动初始化和退出的工作.这两个函数分别

第六章、第一个linux驱动程序:统计单词个数 读书笔记

第六章.第一个linux驱动程序:统计单词个数 一.编写Linux驱动程序的步骤 1.建立Linux驱动骨架(装载和卸载Linux驱动) Module_init处理驱动初始化,module_exit处理驱动退出 2.注册和注销设备文件 Misc_register函数创建和misc_deregister移除设备文件 3.指定与驱动相关的信息 modinfo 4.指定回调函数 5.编写业务逻辑 6.编写makefile文件 7.编译Linux驱动程序 8.安装和卸载Linux驱动 二.Linux驱动