驱动程序基本知识

什么是驱动程序驱动程序就是使硬件工作的一种特殊软件,它运行在操作系统的内核空间(虚拟地址0xC0000000到0xFFFFFFFF),封装硬件细节,服务于系统调用。

驱动程序和应用程序的区别1.应用程序运行在用户空间,驱动程序运行在内核空间。

驱动程序是这样被使用的1.应用程序使用标准库提供的open函数,打开dev目录下的设备文件。

驱动程序的编写流程1.查看原理图、数据手册,了解设备参数和操作设备的方法。

中断的体系与结构:内核对所有中断进行统一的编号,使用中断描述符irq_desc描述中断的名称、状态、标记底层中断管理函数。用户静态或者动态申请中断号时,request_irq根据中断号找到中断描述符irq_desc数组项,在它的Action链表中添加中断处理函数。

中断的处理流程1.硬件中断发生时,cpu跳转到中断向量。

并发的来源:smp、可抢占内核、硬件中断、可延迟机制(work_queue、tasklet、timer)。

驱动程序的识别1.平台设备platform_device结构描述设备的名称,ID,占用的端口与内存。内核初始化阶段,将bsp里的平台设备添加到系统的设备链表。

IO端口和IO内存它们和普通内存相同点是通过地址总线和数据总线,进行访问和数据的传输;不同点是IO端口和IO内存有边际效应,通过使用内存屏障函数来防止,指令被重新排序。

=====================================================

本微信静态数据存储由七牛云存储提供!七牛专为移动时代开发者提供数据安全托管、双向传输加速以及图片、音视频等数据处理的一站式服务。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值