基于mini6410的linux驱动学习总结(一 驱动程序介绍)

1、什么是驱动程序?
      使硬件工作的软件。

2、驱动分类
      1)字符设备驱动
      2)网络接口驱动
      3)块设备驱动

      2.1 字符设备
            字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的驱动通常实现open, close,read和write 系统调用。

      2.2块设备
           1)在大部分的Unix 系统, 块设备不能按字节处理数据,只能一次传送一个或多个长度是512字节( 或一个更大的2 次幂的数)的整块数据。
           2)而Linux则允许块设备传送任意数目的字节。因此, 块和字符设备的区别仅仅是驱动的与内核的接口不同。

     2.3 网络接口
           任何网络事务都通过一个接口来进行, 一个接口通常是一个硬件设备(eth0), 但是它也可以是一个纯粹的软件设备, 比如回环接口(lo)。一个网络接口负责发送和接收数据
报文。

3、驱动程序安装
     1)模块方式(已知J)
     2)直接编译进内核

     直接编译进内核
     1)Kconfig 
     2)Makefile
     例:将helloWorld编译进内核

你可能感兴趣的:(基于mini6410的linux驱动学习总结(一 驱动程序介绍))