Linux驱动程序学习步骤
这里将介绍学习linux驱动程序的方法,在这里拿出来和大家分享一下。
1.学会写简单的makefile
2.编一应用程序,可以用makefile跑起来
3.学会写linux驱动程序的makefile
4.写一简单char驱动,makefile编译通过,可以insmod,lsmod,rmmod.在驱动程序的init函数里打印
helloworld,insmod后应该能够通过dmesg看到输出。
5.写一完整驱a动,加上read,write,ioctl,polling等各种函数的驱动实现。在ioctl里完成从用户空间向
内核空间传递结构体的实现。
6.写一block驱动程序加上read,write,ioctl,poll等各种函数实现。
7.简单学习下内存管理,这个是最难的,明白各种memoryalloc的函数实现细节。这是linux开发的基本功
。
8.学习锁机制的应用,这个不是最难的但是最容易犯错的,涉及到很多同步和并发的问题。
9.看内核中实际应用的linux驱动程序代码。你会发现最基本的你已经知道了,大的框架都是一样的,无
非是read,write,ioctl等函数的实现,但里面包含了很多很多细小的实现细节是之前不知道的。这时候就
要考虑到很多别的问题而不仅仅是基本功能的实现。
推荐您看2.6.20中integrated的一个驱动kvm,记得是在driver/lguest下,很好玩的,就是linux下的虚
拟机驱动程序,代码不长,但功能强大。有能力的可以自己写一操作系统按照要求做成磁盘镜像加载到虚
拟机中,然后客户机可以有自己的4G虚拟地址空间。
10.看完linux驱动程序代码欢迎您进入Linuxkernel学习中来。
最简单的方法,跟着ldd(linuxdevivedriver)做一遍。
本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/602276,如需转载请自行联系原作者
Linux驱动程序学习步骤相关推荐
- Linux驱动程序安装步骤
一.PC机上Ubuntu9.10系统下 1. 驱动程序源码及Makefile如下: #------源程序------# #include <linux/module.h> #include ...
- 第一个linux驱动程序
本章将进行实例的学习,第一个linux驱动程序:统计单词个数.本例子的目的不是讲解如何统计单词个数,而是该算法的实现技术:Linux驱动.Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文 ...
- 嵌入式系统开发学习步骤(Linux高级编程学习顺序)
2019独角兽企业重金招聘Python工程师标准>>> 嵌入式系统开发学习步骤(Linux高级编程学习顺序) 1.Linux 基础 安装Linux操作系统 Linux文件系统 Lin ...
- linux设备驱动程序架构的研究,Linux设备驱动程序学习(12)-Linux设备模型(底层原理简介)...
Linux设备驱动程序学习(12) -Linux设备模型(底层原理简介) 以<LDD3>的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的.但是我个人认 ...
- linux学习步骤(从入门到精通)
linux学习步骤(从入门到精通) 来源:http://os.chinaunix.net/a2008/0603/980/000000980392.shtml 博客 作者:新华网 编辑:周荣茂 学习步骤 ...
- Linux设备驱动程序学习(13)
Linux设备驱动程序学习(13) -Linux设备模型(总线.设备.驱动程序和类) 文章的例子和实验使用<LDD3>所配的lddbus模块(稍作修改). 总线 总线是处理器和一个或多个设 ...
- 嵌入式linux学习步骤
<一> 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linu ...
- 基于迅为linux开发板的学习步骤
迅为的终结者I.MX6ULL开发板嵌入式技术的学习步骤. 大家都知道,嵌入式技术的知识面非常广,学起来往往不知道如何下手,我们通过这一小节给大家阐述一下嵌入式技术应该从哪里开始学起,以及按照什么样的步 ...
- linux设备驱动程序调试方法,Linux设备驱动程序学习(2)-调试技术
Linux设备驱动程序学习(2)-调试技术 Linux设备驱动程序学习(2)-调试技术 今天进入<Linux设备驱动程序(第3版)>第四章调试技术的学习. 一.内核中的调试支持 在前面已经 ...
最新文章
- linux红帽网页中文乱码解决,【linux学习笔记】安装redhat时中文显示乱码(小方框)解决方法...
- NeurIPS提前看 | 四篇论文,一窥元学习的最新研究进展
- 可以考的python方面的证书-python有证书的加密解密实现方法
- 【Android 内存优化】Bitmap 图像尺寸缩小 ( 考虑像素密度、针对从不同像素密度资源中解码对应的 Bitmap 对象 | inDensity | inTargetDensity )
- 修改 Android 5.1 默认设置
- [保护模式]非PAE模式
- MindFusion Pack for ASP.NET发布v2013.R2
- (入门级小项目)JSP编程+web项目发布到Tomcat+mysql数据库
- #6277. 数列分块入门 1
- uni-app开发和常规Vue开发
- 论文写作中Word设置公式居中编号右对齐保姆级教程
- Word页面视图下不显示内容但web视图下可以显示的问题
- linux Guest账户下如何更新默认的python版本
- 手机评论文本挖掘与数据分析(Python)
- sqlite 数据库连接问题以及解决方法
- 经过本人盘点与细数,总结出个人云存储与传统网盘五大差别
- 分治、CDQ分治小结(need to be updated)
- PMO如何选择项目管理工具?
- 项目一 认识Linux操作系统
- android 霓虹灯效果