一、linux驱动开发简介

1、linux驱动和裸板驱动的异同
  • 裸板驱动像写英语作文
  • linux驱动程序像做英语完形填空
2、linux下驱动程序开发需要具备的
  • 硬件基础

    • 能看懂电路原理图
    • 阅读芯片的datasheet
  • 软件基础
    • 内核态编程的基础(linux驱动程序运行在内核态)

      • 内核模块框架
      • 如何动态申请内存
      • 如何解决竟态问题
      • 如何实现阻塞访问
  • 内核中关于驱动程序框架问题
  • linux中按照操作方式不同,将硬件分为三种类型
    • 字符设备

      • 读写以字节为单位,顺序访问
      • 按键,键盘,g-sensor
    • 块设备
      • 读写以块(多字节)为单位,访问顺序不固定
      • 硬盘,SD卡,flash
    • 网络设备
      • 读写以帧(多字节)为单位,访问顺序固定
      • 网卡
3、驱动程序开发的学习方式
  • 内核态编程没有类似的man工具

    • 内核源码是最好的老师

      • 看函数的实现,了解如何使用
      • 看内核中其他位置如何使用该函数
  • 查看相关书籍
    • Linux内核设计与实现第三版中文版
    • LDD3:linux device driver 3(Linux设备驱动程序第三版)
    • 精通Linux 设备驱动程序开发》.(Sreekrishnan).[PDF]_jb51.net

linux驱动开发简介相关推荐

  1. ARM Linux驱动开发简介

    一.Linux驱动分类 Linux的驱动主要分为三种,分别为字符设备驱动.块设备驱动.网络设备驱动.其中字符设备驱动是最多的一类驱动,因为字符设备最多,从最简单的点灯到I2C.SPI.音频等都属于字符 ...

  2. Android 系统(4)---Android HAL层与Linux Kernel层驱动开发简介

    Android HAL层与Linux Kernel层驱动开发简介 近日稍微对Android中的驱动开发做了一些简要的了解,稍稍理清了一下Android驱动开发的套路,总结一下笔记. HAL:Hardw ...

  3. Android HAL层与Linux Kernel层驱动开发简介

    Android HAL层与Linux Kernel层驱动开发简介 阅读数:5070 近日稍微对Android中的驱动开发做了一些简要的了解,稍稍理清了一下Android驱动开发的套路,总结一下笔记. ...

  4. 嵌入式linux应用层中断函数,嵌入式LINUX驱动开发(中断处理函数)

    嵌入式LINUX驱动开发(中断处理函数) 2020年08月11日 | 萬仟网网络运营 | 我要评论 嵌入式LINUX驱动学习之7中断相关(一)中断处理函数一.函数.头文件及说明二.编译举例:一.函数. ...

  5. linux设备驱动模型-linux驱动开发第5部分-朱有鹏-专题视频课程

    linux设备驱动模型-linux驱动开发第5部分-4285人已学习 课程介绍         本课程是linux驱动开发的第5个课程,主要内容是linux的设备驱动模型,包括总线.类.设备.驱动等概 ...

  6. 【正点原子MP157连载】第二十章 字符设备驱动开发-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  7. 【Linux驱动开发】Linux 自带按键驱动

    一.基础 1.以下介绍了 input 子系统的基础,使用的自己编的按键驱动.实际上内核自带了按键驱动(一般默认使能). [Linux驱动开发]INPUT 子系统实验 2.内核自带按键驱动简介 Linu ...

  8. Linux驱动开发 / fbtft源码速读

    哈喽,老吴又来分享学习心得啦~ 一.目标与体系 目标是关于你想要达到的结果,而体系是涉及导致这些结果的过程; 目标的意义在于确定大方向,但体系才能促进进步.完全忽略目标,只关注体系,仍然会成功. 结果 ...

  9. 华清远见嵌入式Linux驱动开发培训班

    课程背景 开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中 ...

最新文章

  1. 读取缓存行的伪共享问题
  2. Hadoop的伪分布式安装
  3. 12-容器之间link
  4. Socket套接字实现服务器端连接
  5. Web前端笔记(5)
  6. 安装及卸载CrossOver for Mac
  7. 基于Docker布署伪分布式hadoop环境(一)
  8. 作业 20181016-1 Alpha阶段贡献分配规则
  9. EDA技术实用教程 | 复习十三 | 计数器
  10. oracle中文转全拼音,(转)oracle下,把中文转为拼音函数编写
  11. 联想本win10 virtualbox 安装centos
  12. 24种不同的ITF条形码字体Interleaved 2 of 5 Barcode Font Advantage Package
  13. 天气预报接口使用及示例
  14. 自学计算机编程语言经历!
  15. 异地多活与CAP原理
  16. Win10屏幕截图自动保存方法
  17. 包装用超声波密封行业研究及十四五规划分析报告
  18. 为什么工厂要实现自动化、智能化?
  19. 华为od一面面试算法
  20. 喜报 | 荣获中国产学研合作促进奖

热门文章

  1. java 第一天_Java学习第一天:环境搭建
  2. 【直击DTCC】从技术到艺术的转身 IBM赋能数据可视化
  3. FastDFS实现简单的文件的上传下载
  4. Vue3手册译稿 - 基础 - 介绍
  5. 工程未编译怎么解决_沈阳建筑工程律师:拖欠工程款—工程款被恶意拖欠怎么解决...
  6. 解决海康视频插件错位以及点击页面出现闪烁的情况
  7. 分布式数据中心网络互联技术实现
  8. 迄今为止见过最详细的零拷贝技术讲解
  9. 后端开发【一大波有用知识】tcp/ip定时器与滑动窗口详解
  10. oracle数据库连接自动关闭,oracle 自动关闭 数据库连接