首页 > 其他分享 >嵌入式驱动开发学习路线整理

嵌入式驱动开发学习路线整理

时间:2024-10-07 22:24:01浏览次数:6  
标签:总线 嵌入式 路线 开发 Linux 驱动 设备

1、学习路线

1.1 知乎:菜鸟分享嵌入式Linux驱动开发学习路线与心得(一)

  • 嵌入式方向:嵌入式Linux系统中,往上有应用程序功能开发和界面设计,往下有内核编程相关的驱动开发;
  • 学习嵌入式Linux需要的基础知识:
    • C语言基础知识;
    • 基础知识:操作系统相关知识、Linux系统基本使用、虚拟机使用;
    • Linux内核编程:Linux驱动开发的重要基础,包括各种锁、同步与异步操作、中断与时钟、内存操作等;
    • Linux驱动正文:
      • Linux内核模块相关;
      • Linux文件系统相关——Linux下一切皆文件,设备也是文件;
      • 三种基本的驱动设备——字符设备、块设备、网络设备;
      • Linux驱动的基本架构——重中之重,会学到虚拟总线platform
      • 常用的总线(USB、I2C、SPI)等在Linux内核中的抽象——用一堆结构体定义总线的结构,用这些结构体来进行总线驱动开发;
    • 最终开发;
  • 嵌入式Linux开发可能会经历的工作内容:
    • 移值系统:把Linux系统烧录到没有烧录系统的开发板中;
    • 读原理图:硬件通过电路连接在总线上,要读懂总线自己的结构图;
    • 设备树文件:各种总线及总线上挂载的各种设备被.dtb文件组织成设备树结构——从而用比较明朗的结构、比较少的代码告诉系统当前接入的设备有哪些。
      • 系统中有最基本的设备树文件,需要把自己的设备用规定的语法添加在设备树文件中;
    • Maefile文件的编写;
    • 驱动代码编写;
    • 驱动模块的加载、卸载与调试;
  • 学习书籍:
    • 宋宝华《Linux驱动开发详解》
    • 学习不要拘泥于一本书,不要期待只通过一本书学完所有知识点,多准备几本,学习时专注于其中一本书,在学习遇到障碍时多去参考其他的书;

2、Linux驱动开发详解——参考资料

2.1 CSDN:最全Linux驱动开发全流程详细解析

  • 目录:
    • 驱动概念、分类、功能;
    • 驱动开发前提知识;
    • 设备树
    • 字符设备驱动;
    • pinctrl子系统;
    • GPIO子系统;
    • 内核并发与竞争;
    • 内核定时器;
    • 设备控制接口(ioctl);
    • 中断机制;
    • 阻塞与非阻塞IO;
    • 异步通知机制;
    • Platform设备驱动框架
  • Q&A
    • 参考书:宋宝华老师《Linux驱动开发详解》、约翰·马迪厄《Linux设备驱动开发》;
    • 开发板:正点原子;

2.2 GitHub:《Linux 设备驱动开发详解》(宋宝华) 学习笔记

  • 资源获取:可以搜索随书光盘,会有站点提供免费下载;
  • 作者公众号:Linux阅码场;

标签:总线,嵌入式,路线,开发,Linux,驱动,设备
From: https://www.cnblogs.com/gq-z/p/18450763

相关文章

  • 计算机启动过程分析 -- 7.3 设备的探测及驱动加载
    PCI总线于20世纪90年代初提出,发展到现在已经逐渐被PCIE等高速接口所替代,但其软件配置结构却基本没有发生变化,包括HyperTransport、PCIE等新一代高速总线都兼容PCI协议的软件框架。在PCI软件框架下,系统可以灵活地支持设备的自动识别和驱动的自动加载。下面对PCI的软件框架进行简要......
  • 浏览器事件处理机制:从硬件中断到事件驱动
    关键词:硬件中断,事件驱动,浏览器事件监听,操作系统抽象层,跨平台兼容性,事件冒泡与捕获摘要:本文深入探讨浏览器事件处理机制,从硬件中断到事件驱动模型,揭示了用户输入如何转化为页面响应。我们将了解操作系统的抽象层如何巧妙地连接硬件和应用程序,以及浏览器如何实现......
  • 浏览器事件处理机制:从硬件中断到事件驱动
    关键词:硬件中断,事件驱动,浏览器事件监听,操作系统抽象层,跨平台兼容性,事件冒泡与捕获摘要:本文深入探讨浏览器事件处理机制,从硬件中断到事件驱动模型,揭示了用户输入如何转化为页面响应。我们将了解操作系统的抽象层如何巧妙地连接硬件和应用程序,以及浏览器如何实现......
  • 浏览器事件处理机制:从硬件中断到事件驱动
    关键词:硬件中断,事件驱动,浏览器事件监听,操作系统抽象层,跨平台兼容性,事件冒泡与捕获摘要:本文深入探讨浏览器事件处理机制,从硬件中断到事件驱动模型,揭示了用户输入如何转化为页面响应。我们将了解操作系统的抽象层如何巧妙地连接硬件和应用程序,以及浏览器如何实现......
  • 浏览器事件处理机制:从硬件中断到事件驱动
    关键词:硬件中断,事件驱动,浏览器事件监听,操作系统抽象层,跨平台兼容性,事件冒泡与捕获摘要:本文深入探讨浏览器事件处理机制,从硬件中断到事件驱动模型,揭示了用户输入如何转化为页面响应。我们将了解操作系统的抽象层如何巧妙地连接硬件和应用程序,以及浏览器如何实现......
  • 浏览器事件处理机制:从硬件中断到事件驱动
    关键词:硬件中断,事件驱动,浏览器事件监听,操作系统抽象层,跨平台兼容性,事件冒泡与捕获摘要:本文深入探讨浏览器事件处理机制,从硬件中断到事件驱动模型,揭示了用户输入如何转化为页面响应。我们将了解操作系统的抽象层如何巧妙地连接硬件和应用程序,以及浏览器如何实现......
  • 浏览器事件处理机制:从硬件中断到事件驱动
    关键词:硬件中断,事件驱动,浏览器事件监听,操作系统抽象层,跨平台兼容性,事件冒泡与捕获摘要:本文深入探讨浏览器事件处理机制,从硬件中断到事件驱动模型,揭示了用户输入如何转化为页面响应。我们将了解操作系统的抽象层如何巧妙地连接硬件和应用程序,以及浏览器如何实现......
  • zephyr中的驱动机制
    本文以eeprom驱动为例。这是一个典型的驱动包含的文件:zephyr_project/├──drivers/│└──foo/│└──foo_vendor.c├──include/│└──zephyr/│└──drivers/│└──foo.c├──CMakeLists.txt└──Kconfigincl......
  • 弧形导轨驱动器高效使用技巧!
    弧形导轨驱动器是一种用于驱动滑座沿着导轨做弧线运动的设备,其用方法因具体型号和应用场景的不同而有所差异,通常可以归纳为以下几个步骤:1、安装前要明确弧形导轨的使用需求,根据需求选择合适的弧形导轨驱动器,准备好螺丝刀、扳手、量具等安装所需的工具和螺栓、垫片等材料。2、安装弧......
  • 3.资源《Arduino UNO R3 proteus 电机测速仿真工程文件(含驱动代码)》说明。
     资源链接: ArduinoUNOR3proteus电机测速仿真工程文件(含驱动代码)1.文件明细:2.文件内容说明包含:proteus工程、原理图、仿真程序。3.内容展示4.简述该文件为Proteus工程。用于电机测速验证。5.演示视频proteus仿真电机测速......