Linux驱动开发1:驱动开发与裸机开发的区别

1.裸机驱动开发回顾:

裸机驱动开发是非常底层的,跟寄存器打交道,有些MCU为了方便我们开发,提供了一些库,让我们通过调用API函数来间接的实现利用寄存器来控制我们的裸机外设;

2.Linux驱动开发思维:

首先,Linux驱动来直接操作寄存器是不现实的;
我们Linux驱动开发需要做的是:根据Linux的驱动框架来进行开发,也就是需要掌握各种Linux驱动框架;

Linux驱动最终表现为:/dev/***文件:能够打开,关闭,读写等操作;

现在的内核支持设备树,是一个.dts文件,此文件描述了板子上的设备信息;

3.Linux驱动开发分类:

Linux驱动开发分为3大类:

字符设备驱动:占比最多
块设备驱动:存储
网络设备驱动:网络

一个设备不一定只属于某一个类型:

USB WiFi SDIO WiFi :即属于网络设备,也属于字符设备;

Linux驱动开发1:驱动开发与裸机开发的区别相关推荐

  1. Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析 (iic驱动框架,i2c驱动框架)...

    转载于 : http://blog.csdn.net/zqixiao_09/article/details/50917655 关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸 ...

  2. 基于stm32mp157 linux开发板ARM裸机开发教程4:Cortex-A7 内核存储系统与流水线(连载中)

    前言: 目前针对ARM Cortex-A7裸机开发文档及视频进行了二次升级持续更新中,使其内容更加丰富,讲解更加细致,全文所使用的开发平台均为华清远见FS-MP1A开发板(STM32MP157开发板) ...

  3. 基于stm32mp157 linux开发板ARM裸机开发教程3:Cortex-A7 架构与工作模式(连载中)

    前言: 目前针对ARM Cortex-A7裸机开发文档及视频进行了二次升级持续更新中,使其内容更加丰富,讲解更加细致,全文所使用的开发平台均为华清远见FS-MP1A开发板(STM32MP157开发板) ...

  4. ZYNQ中裸机开发和Linux开发有什么区别?

    ZYNQ架构特征 从高层次的角度去看,Zynq架构包含PS和PL两部分以及之间的互连线.如图2.3所示.互联遵循AXI标准,AXI标准是Arm开发的片上通信技术标准. 将PS和PL集成到一起一方面能够 ...

  5. Linux学习——总结ARM裸机开发步骤

    本文仅介绍一些基础概念. 我们常用的开发平台是在x86,这个是Intel推出的架构.在x86平台上的开发步骤,不管是什么软件,无外乎建立工程->写代码->保存->编译->运行, ...

  6. ARM裸机开发篇3:ARM汇编语言程序设计

    写在前面: 本文章为<ARM Cortex-A7裸机开发篇>系列中的一篇,全系列总计11篇.笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板). 针对FS-MP ...

  7. ARM裸机开发篇2:ARM微处理器指令系统

    目录 ARM微处理器指令系统 ARM处理器寻址方式 数据处理指令寻址方式 内存访问指令寻址方式 ARM处理器指令集 数据操作指令 乘法指令 Load/Store指令 跳转指令 状态操作指令 协处理器指 ...

  8. 迅为IMX6ULL教程更新至2060+页,裸机开发,Linux系统移植,驱动开发,构建文明系统,QT开发,系统编程

    教程更新至2060+页 彻底让零基础的同学真正学会 更完善的教程更全面的讲解更高效的学习 第一部分 总领及学习指引:主要探讨的学习方法,我们将尽量用比较简洁的方式,让大家明白嵌入式系统知识体系,以及它 ...

  9. Linux LED驱动开发实验(直接操作寄存器 -- 实际开发很少这样做)

    目录 Linux 下LED 灯驱动原理 地址映射(ioremap映射.iounmap释放) I/O 内存访问函数 硬件原理图分析 实验程序编写 LED 灯驱动程序编写 APP测试程序编写 运行测试 编 ...

最新文章

  1. 笔记-项目采购管理-采购管理过程(具体过程)
  2. SpringCloud之微服务
  3. Linux 中的文件锁
  4. [ 转载 ] [经典排序算法][集锦]
  5. 转:Java多线程学习(吐血超详细总结)
  6. 2018注册测绘师各地报名时间和注意事项!莫错过哦!
  7. 最最简单的几个Mac终端命令
  8. 行业寒冬之下,房多多赴美上市能否安然过冬?
  9. Java8新特性之日期和时间
  10. ⑪(面试篇 3/3)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
  11. 华晨宏盛让理财更有实用性的小窍门有哪些?最好的理财方法有哪些
  12. 苹果公布Apple Watch手表新专利,可穿戴设备少不了Find My技术
  13. 邮件群发平台是什么意思?如何选择邮件群发平台
  14. 基于YOLOV5的目标检测模型-口罩检测
  15. abb机器人指令手册_ABB机器人速度设置
  16. spring context:property-placeholder无法加载配置文件,导致属性无效
  17. 11-15ov9281双摄-应用运行命令
  18. android模拟器 报错:X Error of failed request: BadRequest (invalid request code or no such operation)
  19. 华硕笔记本无法设置U盘启动,快捷启动不能识别
  20. 【MATLAB教程案例13】基于SA模拟退火优化算法的函数极值计算matlab仿真及其他应用

热门文章

  1. 一篇文章让你瞬间知道Mybatis框架是如何使用的
  2. [舞台灯光 | 灯光音响 | 灯光]报告厅灯光系统设计方案
  3. 自主研发-谭八爷代理下单系统开发
  4. Knoppix Linux CD 中文版
  5. 笔记本搜索不到某一AP广播的SSID,信道的原因
  6. HTML5期末大作业:商城网页设计——仿京东商城网页端模板(8页面) HTML+CSS+JavaScript...
  7. 不用代码快速将Excel的数据导入SQL Server数据库中
  8. 【GIS数据网盘免费分享】含77个城市建筑轮廓矢量图、POI数据,OSM数据~持续更新,长期有效
  9. sql 两张表的相同字段中刷选出不同数据
  10. navicat批量插入mysql表数据