设备驱动的简单理解

  硬件是底层基础,是所有软件得意运行的平台.计算机的软件和硬件相互成就了对方.
  计算机软件和硬件之间的悖论:软件和硬件不应该相互深透入对方的领地.也就是说,应用软件工程师需要看到
一个没有硬件的纯粹的软件世界.硬件必须透明的呈现给他.这个光荣而间距的任务就交给了驱动程序.
  设备的驱动程序:按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的轮询,中断处理,DMA通信
进行物理内存向虚拟内存的映射,最终让通信设备能收发数据.让显示设备能显示文字.让存储设备能激励文件
和数据.
  在没有操作系统的情况下,可以根据硬件设备的特点自行定义接口,在有操作系统的情况下驱动的构架则由
相应的操作系统定义,驱动工程师必须按照相应的构架设计驱动,这样,驱动才能良好地整合进入操作系统当中.
  简单的设备不必要存在操作系统,用单任务构架完全可以良好的支持他们的工作.一个无线循环当中对设备中
断的检测或者对设备的轮询这种系统中软件的典型构架.典型的代码如下.


  int mian(1)
  {
    while(1)
    {
      if(serialInt ==1)
      /*有串口中断*/
      {
        ProcessSerialInt();/*处理串口中断*/
        serialInt = 0;
      }
      if(ketInt ==1)
      /*由按键中断*/
      {
        ProcesskeyInt();/*处理串口中断*/
        keyInt = 0;
      }
      status == CheckXXX();
      switch(status)
      {
        ...
      }
      ...
    }
  }
  在这样的系统当中,虽然不存在操作系统,但是设备驱动则无论如何都必须存在.一般情况下.每一种设备驱动
都会定义为一个软件模块.包含.h和.c文件.前者定义该设备驱动的数据结构并且申明外部函数.后者进行驱动
的具体实现.
  其他模块这个设备的时候,只需要包含设备驱动的头文件,然后调用其中的外部函数接口.
今天的自学到这里
  爱你YZ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值