位置: 编程技术 - 正文

Linux系统的硬件设备驱动的底层结构讲解(linux硬件设备分为)

编辑:rootadmin

推荐整理分享Linux系统的硬件设备驱动的底层结构讲解(linux硬件设备分为),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux系统的硬件信息挂载在哪里,linux硬件设备分为,linux系统的硬件要求,linux系统的硬件信息一般存放在哪里,linux系统的硬件信息挂载在哪里,linux的硬件设备有哪些类型,linux系统的硬件信息挂载在哪里,linux系统的硬件信息挂载在哪里,内容如对您有帮助,希望把文章链接给更多的朋友!

什么是驱动?最通俗的解释就是“驱使硬件设备行动” 作用?设备驱动与底层硬件直接打交道,按照硬件设备的具体工作方式读写设备寄存器,完成设备的轮询、中断处理、DMA通信,进行物理内存向虚拟内存的映射,最终使通信设备能够收发数据,使显示设备能够显示文字和画面,使存储设备能够记录文件号数据 计算机系统的硬件主要有cpu、存储器、外设组成。但是随着IC制造工艺的发展,目前,芯片的集成度越来越高,往往cpu内部就集成了存储器和外设适配器。ARM处理器集成了UART、I2C控制器(2==平方)、USB控制器、SDRAM控制器等

驱动针对的对象是存储器和外设(包括cpu内部集成的存储器和外设),而不是针对cpu核。Linux将存储器和外设分为3个基础大类:字符设备、块设备、网络设备 字符设备之那些必须以串行顺序依次进行访问的设备,如触摸屏、磁带驱动器、鼠标等。可设备可以按照任意顺序进行访问,以块为单位进行操作,如硬盘、软驱等。字符设备不经过系统的快速缓冲,而块设备经过系统的快速缓冲。但是,字符设备和块设备并没有明显的界限,如flash设备符合块设备的特点,但是我们仍然可以把它作为一个字符设备来访问 在Linux系统中,网络设备面向数据包的接收和发送而设计,它并不对应于文件系统的节点。内核与网络设备的通信和内核与字符设备、块设备的通信方式完全不同。

如上图所示,除网络设备外,字符设备与块设备都被映射到Linux文件系统的文件和目录,通过文件系统的系统调用接口open()、write()、read()、close()等函数即可访问字符设备和块设备。块设备比字符设备复杂,在它上面会首先建立一个磁盘/Flash文件系统,如FAT、Ext3、YAFFS、JFFS等FAT、Ext3、YAFFS、JFFS规范了文件和目录在存储介质上的组织 应用程序可以使用Linux的系统调用接口编程,也可由使用c库函数,出于可移植性的考虑,后者更值得推荐。c库函数本身也是通过系统调用接口而实现的 在嵌入式系统的设计中,LED一般直接由cpu的GPIO控制。GPIO一般有两组寄存器控制,即一组控制寄存器和一组数据寄存器。控制寄存器可设置GPIO口的工作方式为输入或输出。当引脚设置为输出时,向数据寄存器的对应位写入1和0会分别在引脚上产生高电平和低电平;当引脚设置为输入时,读取数据寄存器的对应位可获得引脚上相应的电平信号。

驱动设计的硬件基础处理器的分类,如下图所示:

Linux系统的硬件设备驱动的底层结构讲解(linux硬件设备分为)

存储器可分为只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光介质存储器和磁介质存储器 Nor Flash和cpu的接口属于典型的类SRAM接口,不需要增加额外的控制电路。Nor Flash的特点是可芯片内执行,程序可以直接在Nor内运行。而Nand Fash和cpu的接口必须由相应的控制电路进行转换,当然也可以通过地址线或GPIO产生Nand Flash接口的信号。Nand Flash以块方式进行访问,不支持芯片内执行。 Flash的编程原理都是只能将1写为0,而不能将0写完1.所以在Flash编程之前必须将对应的块擦除,而擦除的过程就是把所有的位都写为1的过程,块内的所有字节变为1xFF 存储器的分类,如下图所示:

原理图分析:通过阅读电路板的原理图获得各种存储器、外设所使用的硬件资源,主要包括存储器和外设控制芯片所使用的片选、中断、DMA资源。通过分析片选得出芯片的内存、I/O基地址,通过分析中断、DMA信号获得芯片使用的中断号和DMA通道,归纳出类似下表:

时序分析:对驱动工程师或硬件工程师而言,时序分析的意思是让芯片之间的访问满足芯片手册中时序图信号有效的先后顺序、采样建立时间和保持时间的要求,在电路板工作不正常的时候,准确的定位时序方面的问题

内核及内核编程在设备驱动方面,Linux2.6相对于Linux2.4有较大的改动,这主要表现在内核API中增加了不少新功能(如内存池)、sysfs文件系统、内核模块从.o变为.ko、驱动模块编译方式、模块使用计数、模块加载和卸载函数的定义等方面 Linux内核主要有进程调度、内存管理、虚拟文件系统、网络接口和进程间通信等5个子系统组成,如下图:

在设备驱动编程中,当请求的资源不能满足时,驱动一般会调度其他线程执行,并使驱动对应的进程进入睡眠状态,直到它请求的资源被释放,才会被唤醒而纪念日就绪状态 在设备驱动编程中,如果需要几个并发执行的任务,可以启动内核线程,启动内核线程的函数为:int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); Linux内存管理完成为每个进程进行虚拟内存到物理内存的转换。一般而言,Linux的每个进程享有4GB的内存空间,0-3GB属于用户空间,3-4GB属于内核空间,内核空间对常规内存、I/O设备内存以及高端内存存在不同的处理方式 虚拟文件系统隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口。而且,它独立于各个具体的文件系统,是对各种文件系统的一个抽象,它使用super block存放文件系统相关信息,使用索引节点inode存放文件的物理信息,使用目录项dentry存放文件的逻辑信息 Linux系统只能通过系统调用和硬件中断完成从用户空间到内核空间的控制转移。

Linux系统中ln命令创建软链接与硬链接的方法 Linux系统下每创建一个文件,系统都会为此文件生成一个indexnode简称(inode),而每一个文件都包含用户数据(userdata)与元数据(metadata)用户数据里记录了文件的

详解Linux系统中的usr目录 linux文件结构中,有一个很神奇的目录/usr。之前一直没有怎么关注过它,反正程序都是安装在里边的,也没有什么值得追根溯源的东西。直到有一天fedor

Linux中安装部署Docker管理工具Drone全攻略 Drone是一个构建在Docker之上的开源持续集成平台(CI)。Drone提供了一组预建的Docker映像,支持+种语言和几乎所有主要的数据库。这意味着你不必花时间来

标签: linux硬件设备分为

本文链接地址:https://www.jiuchutong.com/biancheng/358958.html 转载请保留说明!

上一篇:Linux系统中怎么安装和使用ImageMagick软件?(linux系统中怎么输入中文)

下一篇:Linux系统中ln命令创建软链接与硬链接的方法(linux系统ln命令)

  • 财产租赁所得怎么计算个人所得税
  • 预缴增值税需要预缴附加税吗
  • 计提住房公积金怎么算
  • 个人所得税专项扣除子女教育标准
  • 小规模附加税减半吗
  • 增值税发票注明金额是含税还是不含税
  • 环境保护税属于什么税种
  • 物料耗用
  • 模具费进研发费用还是成本
  • 预收账款年底要确认收入吗
  • 质押费用计入什么科目
  • 给评委发酬劳怎么扣税?
  • 2023年企业退休职工取暖费
  • 空调减值损失属于什么科目?
  • 企业以前年度的关联交易与预约定价安排
  • 小规模纳税人当月超过500万的部分怎么申报
  • 经济补偿金如何计税
  • 分包业务的账务处理办法
  • 资源税改革对政治的影响
  • 材料验收入库会计分录怎么写计划成本法
  • 客户的佣金
  • 附加税的税率是多少2023年
  • 公司章程认缴时效是多久
  • 预提开发成本超过10%部分计算的销售成本转回
  • 腾讯电脑管家下载
  • 销售货物货款未收到会计分录
  • 当前页面的脚本发生错误是否要在此页面上继续运行脚本
  • 新电商行业
  • win10多任务视图怎么关闭
  • 硬盘最小的存储单位
  • 收到税务局退增值税及附加税怎么做账
  • 国产版忠犬八公观后感
  • 同一控制下控股合并在合并日合并报表编报正确的有
  • php htmlentities()函数的定义和用法
  • yolov4tiny网络结构
  • RLHF:基于人类反馈(Human Feedback)对语言模型进行强化学习【Reinforcement Learning from Human Feedback】
  • 弃置费用预计负债的摊余成本
  • 预收款项可以开发票吗
  • 计提坏帐包含其他收入吗
  • 建筑公司跨区域经营预缴
  • 资产负债表不平衡怎么办
  • 住宿发票丢失
  • 短信收到电子退库收入什么意思
  • 公司因担保产生损失
  • 买家退货少了犯什么法
  • 补缴以前年度的增值税以及附加税,还有罚款的账务处理
  • 暂估成本跨年后收到票如何处理,红冲按哪个金额冲
  • 公司汽车维修
  • 资产负债表金额的来源一般是
  • 银行手续费未取得发票可以进行税前扣除吗
  • 饭店卖烟酒需要什么手续
  • 应付利润属于什么科目类别
  • winxp纯净版系统
  • ubuntu 14.10
  • pe工具箱怎么用
  • win10蓝屏后黑屏
  • 怎样取消进windows 密码
  • windows的小技巧
  • WIN7系统共享文件夹 您没有权限访问
  • windowsxp右键没反应
  • fsc文件用什么软件打开
  • 如何保留windows.old
  • 如何解决windows蓝屏问题
  • windows 10 build 21354
  • 11月 Win8.1 Update 3更新哪些内容?开始菜单依然没有
  • cocos2dx游戏案例
  • perl命令
  • perl读取文件内容
  • bat获取当前路径的值
  • function函数的定义
  • android平台搭建
  • 详解linux设备
  • jquery?
  • jquery .html的用法
  • 安卓手机命令代码
  • python怎么画子图
  • Windows上使用PD虚拟机
  • 临时税务登记有效期怎么填
  • etc可以抵扣吗
  • 电脑上装什么软件开税票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设