资料介绍
世界各地都有人在钻研Linux内核,大多是在写设备驱动程序。尽管每个驱动程序都不一样,而且你还要知道自己设备的特殊性,但是这些设备驱动程序的许多原则和基本技术技巧都是一样的。通过本书,可以学会写自己的设备驱动程序,并且可以钻研内核的相关部分。本书涉及到的是设备无关编程技巧,不会将例子跟特殊设备绑定在一起。
本章没有实际编写代码。但我要介绍一些关于Linux内核的背景概念,这样到我们稍后开始介绍实际编程时,就很顺利了。
当你学习编写驱动程序的时候,你也会发现很多关于Linux内核的知识,这对理解你机器怎么工作很有帮助,并且还可以知道为什么你的机器没有希望的那么快,或者为什么不按照你象要它做的那样做。我们会逐渐介绍一些新概念,先从简单的驱动程序开始,每介绍一些新概念都会看到相关例子代码,这些代码都不需要特殊硬件。
非常高兴现在终于可以开始编程了。本章将介绍模块编程和内核编程所需的所有必要的概念。我们将要不多的篇幅来编写和运行一个完整的模块。这种专业技术(expertise)是编写如何模块化设备驱动程序的基础。为了避免一下子给你很多概念,本章仅介绍模块,不介绍任何类别的设备。
这里介绍的所有内核内容(函数,变量,头文件和宏)也将在本章最后的参考部分再次介绍。
如果你已经座不住了,下面的代码是一个完整的“Hello, World”模块(这个模块事实上并没什么功能)。它可以在Linux 2.0或以上版本上编译通过,但不能低于或等于1.2,关于这一点本章将在稍后的部分解释*。
(代码)
函数printk是由Linux内核定义的,功能与printf相似;模块可以调用printk,这是因为在insmod加载了模块后,模块就被连编到内核中了,也就可以调用内核的符号了。字符串《1》是消息的优先级。我之所以在模块中使用了高优先级是因为,如果你使用的是内核2.0.x和旧的klogd守护进程,默认优先级的消息可能不能显示在控制台上(关于这个问题,你可以暂且忽略,我们将在第4章,“调试技术”,的“Printk”小节中详细解释)。
通过执行insmod和rmmod命令,你可以试试这个模块,其过程如下面的屏幕输出所示。注意,只有超级用户才能加载和卸载模块。
(代码)
正如你所见,编写一个模块很容易。通过本章我们将深入探讨这个内容。
- STM32单片机入门教程之GPIO编程的详细资料说明 61次下载
- Altium Designer入门教程之层次式原理图设计的详细资料说明 0次下载
- Linux教程之Linux的系统指令大全资料免费下载 30次下载
- Linux的封装库文件详细资料合集免费下载 9次下载
- Linux入门教程之Linux的基本操作详细资料说明 14次下载
- C语言入门教程之堆栈的详细资料概述 12次下载
- Linux教程之Linux的网络应用详细知识点资料免费下载 14次下载
- linux的History命令代码的详细资料合集免费下载 2次下载
- Linux入门教程之LINUX入门与安装配置 4次下载
- Linux基础教程之Linux查看磁盘挂载有哪些方法详细方法概述 1次下载
- Linux基础教程之linux如何使用CP报错 10次下载
- linux教程之Linux系统的安装与启动详细资料 7次下载
- C++语言入门教程之C++语言程序设计函数的详细资料概述免费下载 23次下载
- C++语言入门教程之C++语言程序设计数组的详细资料概述免费下载 9次下载
- linux教程入门教程之linux学习视频 13次下载
- Linux 驱动开发与应用开发,你知道多少? 120次阅读
- Linux内核驱动与单个PCI设备的绑定和解绑定 1299次阅读
- 一文总结linux的platform驱动 783次阅读
- Linux指令的详细整理 1985次阅读
- 如何写一个Linux设备驱动程序 4314次阅读
- Linux设备驱动开发的基本知识 4260次阅读
- 嵌入式Linux的驱动编写入门资料详细说明 2656次阅读
- 米尔科技Linux设备驱动研究浅谈 1913次阅读
- 米尔科技LINUX设备驱动程序教程 1965次阅读
- Linux教程之Linux常用命令大全 5545次阅读
- PPT教程之伺服电机及其驱动技术的详细资料讲解 6999次阅读
- 基于PXA255开发板外围字符设备的嵌入式Linux字符设备驱动设计与应用 1138次阅读
- 基于嵌入式Linux内核的系统设备驱动程序开发设计 1113次阅读
- 想要驾驭Linux驱动开发,必须深刻理解Linux总线设备驱动框架 1w次阅读
- 关于Linux设备驱动中input子系统的介绍 2663次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1490次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 93次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 10次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多