嵌入式Linux驱动开发【学习小结】_嵌入式linux驱动开发

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录


前言

随着去嵌入式设备资源不断丰富主频不断升高搭载操作系统可以更好的利用MPU资源更容易实现其复杂功能。
作者也是小白只学过韦东山大哥的LED驱动和按键驱动的一点皮毛。
在这里插入图片描述


一、嵌入式Linux驱动程序和单片机裸奔有啥区别?

一般单片机裸奔控制外设不需要遵循什么设计框架想怎么来就怎么来实现功能即可。而嵌入式Linux驱动程序 = Linux驱动设计框架 + 硬件驱动。
裸奔程序比Linux驱动程序更简单直接。但相比之下其兼容性较差可扩展性较低。

二、为什么需要嵌入式Linux驱动开发

在该设备硬件外设有驱动程序的基础上可以快速移植扩展到其他的设备上。我根据现有学习的知识推测的并没有实践经验
在这里插入图片描述

三、驱动程序框架大致演变过程

用韦东山老师的流程图我们一起梳理一下
下面这些韦东山老师的画的图我借用一下…
在这里插入图片描述刚开始利用分层的思想用面向对象的思想利用file_operation结构体封装但是如果使用板子不同引脚增添相同外设时需要不断修改底层。
在这里插入图片描述
采用了分离的思想左边时单板的platform_device对应一个platform_driver结构体这样就便于随便修改device而缺陷时使内核越来越庞大和冗余。
linux爸爸说了arm这些东西都是ass。
在这里插入图片描述
设备树的概念就是把dts文件转换成一个个的设备结点消除了内核因为大量没质量的代码而庞大的原因同样使设备驱动总线模型。左边是一个树结构右边还是一样的底层驱动程序。最终匹配到Bus然后执行.probe。
Linux驱动程序还可以提供4种能力查询休眠中断poll以及异步通知。

总结

想一个人动手做些实际的项目然而感觉一堵大墙挡在前面。
在这里插入图片描述
有没有大佬带带
在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux

“嵌入式Linux驱动开发【学习小结】_嵌入式linux驱动开发” 的相关文章