Linux驱动开发与裸机开发区别

这篇具有很好参考价值的文章主要介绍了Linux驱动开发与裸机开发区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

裸机驱动开发回顾

1、底层。跟寄存器打交通,有些MCU提供了库

Linux驱动开发思维

1、Linux下驱动开发直接操作寄存器不现实,不是直接操作寄存器;
2、根据Linux下的各种驱动框架进行开发,一定要满足框架,也就是Linux下各种驱动框架的掌握
3、驱动最终表现就是/dev/xxx文件。打开,关闭,读写…
4、现在新的内核支持设备树。这是一个.dts文件。此文件 描述了板子的设备信息。

Linux驱动开发分类

linux驱动分为三大类:
1、字符设备驱动:应用程序与驱动程序之间的数据交互是以字符(字节)为单位的,字符设备通常没有中间缓存。常见的字符设备有:led、key、camera、显卡、串口等。最多的
2、块设备驱动:应用程序与驱动程序之间的数据交互是以块为单位的,主要针对的是存储设备,通常设有中间缓存,并且带有文件系统,可以任意位置访问。常见的块设备有:U盘、eMMC、SD卡等
3、网络设备驱动:网络设备面向数据包的发送而设计,它并不对应于文件系统的节点。即不对应 /dev 目录下的设备文件,应用程序最终通过套接字
socket 完成与网络设备的数据交互。常见的网络设备有网卡(无线网卡、有线网卡)。

一个设备不说是一定属于某一类型。比如USB WIFI,SDIO WIFI,属于网络设备驱动,因为他又有USB和SDIO。因此也属于字符设备驱动。文章来源地址https://www.toymoban.com/news/detail-525066.html

到了这里,关于Linux驱动开发与裸机开发区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 裸机开发之驱动开发

            在计算中, 设备驱动程序 是一种计算机程序,用于 操作或控制连接 到计算机的特定类型的设备。 驱动程序提供了与硬件设备的软件接口 ,使操作系统和其他计算机程序可以访问硬件功能,而无需了解有关所使用硬件的精确细节。 驱动程序通过硬件连接到的计

    2024年02月05日
    浏览(18)
  • 基于IMX6ULLmini的Linux裸机开发系列三:按键检测输入

    目录 开启GPIO5对应的时钟 设置引脚复用 设置GPIO5_IO1输入模式 设置检测电平 部分代码 button.c led.c main.c   在原理图上找到对应的引脚后即可以根据对应的图表找到真正在板字上的引脚,这里的 SNVS_TAMPER1对应实际的引脚是GPIO5_IO1   P1357页附近有GPIO5对应的寄存器位置,可以直接

    2024年02月12日
    浏览(30)
  • 基于IMX6ULLmini的linux裸机开发系列七:中断处理流程

    cpu通过内核寄存器来运行指令并进行数据的读写处理的,它在进入中断前一个时刻的具体值,称为中断上下文 中断上下文是指CPU在进入中断之前保存的寄存器状态和其他相关信息。当CPU接收到中断请求时,它会保存当前正在执行的指令的状态,并将寄存器的值切换到一个特定

    2024年02月12日
    浏览(28)
  • 基于IMX6ULLmini的Linux裸机开发系列五:通用中断控制器(GIC)

    目录 GIC结构 获取GIC中断控制器基地址 方法一:查询芯片数据手册 方法二:查询cp15协处理器 CBAR寄存器 SCTLR 寄存器 VBAR寄存器 GIC用于管理单核或多核芯片中的中断资源 ARM公司开发了4 个版本GIC规范 ,V1~V4 ARMv7-A内核搭配GIC-400使用 GIC结构 GIC官方手册:ARM® Generic Interrupt Contr

    2024年02月12日
    浏览(28)
  • <Linux开发>驱动开发 -Linux MISC 驱动

    <Linux开发>驱动开发 -Linux MISC 驱动 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详细记录(第一部分) <Linux开发> -之-系统移植 uboot移植过程详细记录(第二部分) <Linux开发> -之

    2024年02月13日
    浏览(24)
  • <Linux开发>驱动开发 -之- Linux LCD 驱动

    <Linux开发>驱动开发 -之- Linux LCD 驱动 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详细记录(第一部分) <Linux开发> -之-系统移植 uboot移植过程详细记录(第二部分) <Linux开发>

    2024年02月06日
    浏览(34)
  • <Linux开发>驱动开发 -之- Linux RTC 驱动

    <Linux开发>驱动开发 -之- Linux RTC 驱动 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详细记录(第一部分) <Linux开发> -之-系统移植 uboot移植过程详细记录(第二部分) <Linux开发>

    2024年02月11日
    浏览(30)
  • linux内核网络驱动框架(linux驱动开发篇)

    网络驱动的核心: 1、就是初始化 net_device 结构体中的各个成员变量, 2、然后将初始化完成以后的 net_device 注册到 Linux 内核中 1、网络设备(用net_device结构体) 2、网络设备的操作集( net_device_ops结构体 ) 3、sk_buff结构体 网络是分层的,对于应用层而言不用关系具体的底层是

    2023年04月08日
    浏览(69)
  • <Linux开发>驱动开发 -之-platform 驱动

    <Linux开发>驱动开发 -之-platform 驱动 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详细记录(第一部分) <Linux开发> -之-系统移植 uboot移植过程详细记录(第二部分) <Linux开发>

    2024年02月12日
    浏览(47)
  • 正点原子嵌入式linux驱动开发——Linux CAN驱动

    CAN是目前应用非常广泛的现场总线之一,主要应用于汽车电子和工业领域 ,尤其是汽车领域,汽车上大量的传感器与模块都是通过CAN总线连接起来的。CAN总线目前是自动化领域发展的热点技术之一,由于其高可靠性,CAN总线目前广泛的应用于工业自动化、船舶、汽车、医疗和

    2024年02月06日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包