为了保存以前学习的一些笔记,把他们都写到blog。嘻嘻,虽然不怎么辉CSS排版,但是为了不丢失,暂时只能这样了。

一、驱动如何使用?
显卡的访问方法?
1、打开显卡
fd = open("/dev/fb0", O_RDWR); //打开显卡。
/dev/fb0 --->设备文件,应用程序访问驱动程序的一个桥梁。每个驱动都有自己的设备文件(除了网络设备);声卡的设备文件(调节音量):/dev/mixer; 摄像头:/dev/video3

2、设置显卡:(分辨率、刷新频率)
ioctl(fd, cmd, args)

3、向显卡写内容
write(fd, buf, sizeof(buf))

4、关闭显卡
close(fd)

注意:
1、设备文件不是普通文件,是在驱动程序中,通过编程来实现创建的。
2、应用程序访问驱动使用的接口函数:linux的系统IO函数:open()/read()/write()/ioctl()/mmap()/close()

思考:
系统IO和标准IO的区别???


二、linux设备驱动的分类
1、字符设备:LED、按键、蜂鸣器、摄像头、显卡、声卡、串口、can总线、触摸屏、.......
应用程序和驱动程序之间交换数据的时候,是字节为单位的。这些数据是以流的方式进行传递,按照固定的顺序,没有缓存,是实时的。

2、块设备:大容量的存储设备:u盘、硬盘、SD卡、电子硬盘。以“块”为单位传递数据,带有文件系统和缓存,数据不实时。

3、网络设备:网卡,有线网卡、无线网卡。没有设备文件。socket编程。