LDD就是Linux device driver,这里用的是3rd。第三版。
依稀还记得之前学习Beginning Linux Programming,也就是Linux程序设计,那本书真的很好,写的很容易懂,里面学习的内容我一直用了10来年。都是技能树的核心主力。大概看了一下LDD,感觉不如那本组织的好,但是好像也没有更好的书籍了。。。
争取在今年底之前把这本书基本过完吧。
这本书有两个部分。
第一个部分是1到11章。是一些基础内容。不过第10和11章需要自己做并口线,不知道好不好弄。
第二个部分是12到18章,就是一些具体驱动的示例,比如USB,PCI。刚好这两个部分都是我感兴趣的。
看了第一章,还是挺简单的。主要说了驱动模块的区别,驱动模块其实本质就是服务,并且要重点考虑并发。然后用户空间的驱动就是现在安卓搞的HAL。最后可以抽时间再看的就是modprobe装载,obj-m,vermagic.o的用法。
BOOK:
Linux Device Drivers, 3rd Edition
Linux 设备驱动 Edition 3-Linux设备驱动第三版(中文版)- -
CODE:
examples / Linux Device Drivers 3rd Edition · GitLab
GitHub - martinezjavier/ldd3: Linux Device Drivers 3 examples updated to work in recent kernels
GitHub - mharsch/ldd3-samples: Sample code from Linux Device Drivers, 3rd Edition (O'Reilly 2005)
备注:第一个是老版代码,在新的内核中运行问题很多,用第三个比较好。。。