嵌入式学习路线-提高部分(网卡驱动、相机驱动)
这里算是linux中非常复杂的驱动部分,如果学了其中一个都会是一个闪光点。其实我学的也不深,就是比一般的使用往下多了一点点,但是如果面试的时候回答上来了一些问题,面试官就会以为你会很多,会留下一个比较好的印象。我大概说一下我的学习程度,当然其实都很浅,如果有大佬比较精通这两个驱动也欢迎讨论,共同给大家一个更好的学习路线规划和资料分享!!!
网卡驱动
这个部分我主要是看了《深入理解linux网络》,里面会图解网络通信过程中,网卡每一层的作用,并且会辅以代码解释。我看完后,反正在暑期实习的时候基本没有被为难的感觉。
其他的话可以看看 清华自动驾驶OS训练营里面有e1000的网卡驱动介绍,可以自己用rust写一点功能,并且对照C版本的驱动(linux中有)看看,相信会对网卡有很深入的理解。
比较重要的PCI-E,还有一些网卡发送的优化算法,啥的有兴趣可以多了解了解。因为我的主业不是这个,所以我也就不误人子弟啦~
相机驱动
这个主要是v4l2的使用和底层驱动。
v4l2 使用
这个部分没啥说的,网上一抓一大把,就是下面的过程,自己简单实现一下就好
v4l2 驱动框架解析
我收集了一些文章
4L2框架-v4l2 device
V4L2框架概述
V4L2框架-media device
Linux V4L2驱动框架分析之(四):sensor驱动
V4L2之设备注册
【Camera基础(二)】摄像头驱动原理和开发&&V4L2子系统驱动架构
一文分析Linux v4l2框架
韦东山视频
相信看完这些应该会有大概的认识,然后可以找个具体的驱动看一看,看懂的就是自己的!然后后续包装一下到项目里~
具体的项目的话,是我自己的项目所以不太方便放在这里,请大家谅解啦。
后续可能会把各个子系统的驱动啥的,写写学习总结,如果有希望看到的内容,也可以评论区里留言呐~
大家的鲜花和点赞就是我最大的动力~
开个专栏介绍一下自己从研一开始到目前的学习路径,一来方便新来同学找学习方向,二来也想记录一下自己的学习过程。