老手经验谈:Linux驱动程序开发学习步骤
浏览:48日期:2022-08-02
;1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。 5. 写一完整驱动, 加上read, write, ioctl, polling等各种函数的驱动实现。 在ioctl里完成从用户空间向内核空间传递结构体的实现。 6. 写一block驱动, 加上read,write,ioctl,poll等各种函数实现。 7. 简单学习下内存管理, 这个是最难的,明白各种memory alloc的函数实现细节。这是linux开发的基本功。 8. 学习锁机制的应用,这个不是最难的但是最容易犯错的,涉及到很多同步和并发的问题。 9. 看内核中实际应用的驱动代码。 你会发现最基本的你已经知道了, 大的框架都是一样的, 无非是read, write, ioctl等函数的实现, 但里面包含了很多很多细小的实现细节是之前不知道的。 这时候就要考虑到很多别的问题而不仅仅是基本功能的实现。 推荐您看2.6.20中integrated的一个驱动 kvm, 记得是在driver/lguest下,很好玩的, 就是linux下的虚拟机驱动, 代码不长,但功能强大。有能力的可以自己写一操作系统按照要求做成磁盘镜像加载到虚拟机中, 然后客户机可以有自己的4G虚拟地址空间。 10. 看完驱动欢迎您进入Linux kernel学习中来。 最简单的方法,跟着ldd(linux devive driver)做一遍。
标签:
Linux系统
相关文章:1. 关于android studio升级4.1 某些插件使用不了的问题(Mac)2. 三星PCIe4.0 SSD 980 PRO 2TB固态硬盘发布 速度7GB/s3. RTX 3080 Ti/3070 Ti 显卡将于月底发布 规格曝光4. 荣耀MagicBook 14价格4999元起 显卡最高可选RTX 20505. 微星A520主板四连发 7nm锐龙处理器性价比之选6. RedmiBook Pro 14/15 锐龙版发布 首发价4299元起7. 三星ZNS SSD移动硬盘发布:TLC/QLC闪存 4倍延寿8. AMD锐龙700系列国行价格公布:16核心 售价仅5499元9. 联想笔记本怎么换显卡?联想笔记本更换显卡教程10. 机械师F117-bpro游戏本:十代i7+gtx1650ti 到手价6499元
热门推荐

- winkey:高手常用的五个组合按钮
- 1.基于Chromium版Edge浏览器的下载方法
- 2.昂达Z490 SD4、Z490-HD价格599元起 支持11代酷睿
- 3.Pages文稿如何添加页眉、页脚和页码?Pages添加页眉页码和页脚的方法
- 4.笔记本mSATA接口和mini PCI-E接口有什么区别?
- 5.这篇电脑常识告诉你:IP地址是什么?通俗易懂
- 6.finalshell查看密码详情
- 7.Edge浏览器怎么屏蔽广告 edge浏览器去广告教程
- 8.谷歌浏览器自带截图功能的使用方法
- 9.如何开启系统检测悬浮窗?腾讯电脑管家开启或关闭系统检测悬浮窗
- 10.如何彻底优化IE浏览器 六种设置方法轻松优化你的IE浏览器
