推荐书:《Linux内核源代码情景分析》 1.字符设备驱动和使用中等待某一事件的方法①查询方式②休眠唤醒,但是这种没有超时时间③poll机制,在休眠唤醒基础上加一个超时时间④异步通知,异步通知实际上就是发信号⑤输入子系统,这样比较通用 2.块设备相对于字符设备驱动逻辑的变化①对于硬盘对读写的优化假如 ...
分类:
系统相关 时间:
2018-12-22 22:05:08
阅读次数:
374
一、BootLoader内容 Bootloader内容包含CPU的初始化、硬件外围接口初始化和内存空间映射表建立。其目的是建立适合操作系统和应用软件运行的系统环境。BootLoader固化在ROM或FLASH中,所以BootLoader也称固件。 二、BootLoader作用 1、系统初始化; 2、 ...
分类:
其他好文 时间:
2018-12-22 18:40:54
阅读次数:
143
引言: 由LCD的硬件原理及操作(可参看韦哥博客:第017课 LCD原理详解及裸机程序分析) 我们知道只要LCD控制器的相关寄存器正确配置好,就可以在LCD面板上显示framebuffer中的内容。 若应用程序需要在LCD屏幕上显示文字或图像时,只需要把相应的显示内容以正确的格式写到Framebuf ...
分类:
其他好文 时间:
2018-12-22 11:58:18
阅读次数:
229
第一部分:字符设备工作过程1、系统调用和驱动程序的关联关键结构体:struct file_operation;file_operation结构体的每一个成员的名字都对应着一个系统调用。用户进程利用系统调用在对设备文件进行诸如read/write操作时,系统调用通过设备文件的主设备号找到相应的设备驱动 ...
分类:
系统相关 时间:
2018-12-17 20:12:33
阅读次数:
195
由上一节的输入子系统的框架分析可知,其分三层:设备驱动层,核心层,事件驱动层 我们在为某种设备的编写驱动层,只需要关心设备驱动层,即如何驱动设备并获得硬件数据(如按下的按键数据),然后调用核心层提供的接口,核心层就会自动把数据提交给事件处理层。在输入子系统中,事件驱动是标准的,适用于所有输入类的。我 ...
分类:
其他好文 时间:
2018-12-17 02:50:04
阅读次数:
258
第一部分:设备驱动模型1、总线:bus_type结构体,关键函数是match函数和uevent函数;总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动,相反,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。 2、设备:struct device结构体,硬件设备 ...
分类:
系统相关 时间:
2018-12-16 18:05:33
阅读次数:
232
1、本机回环地址:127.0.0.1 dos窗口 ping + ip地址 用于测试本机是否能连接对应ip地址主机。(能ping通的前提是本机要有网卡) 2、TCP/IP网络模型:应用层 (HTTP/FTP/DNS) <= 传输层 (TCP/IP) <= 网络层 (IP/IGMP/ICMP) <= 链 ...
分类:
其他好文 时间:
2018-12-16 14:32:53
阅读次数:
91
目的: 通过定时器防按键抖动,测试程序是使用上节的:阻塞操作的测试程序 http://www.cnblogs.com/lifexy/p/7522122.html 使用定时器的一般流程为: (1)timer、编写function; (2)为timer的expires、data、function赋值; ...
分类:
其他好文 时间:
2018-12-15 11:47:51
阅读次数:
202
TCP/IP通常被认为是一个四层协议: 链路层。也称数据链路层或网络接口层,包括设备驱动程序和网络接口卡,它们一起处理与电缆的物理接口细节。 网络层。处理分组在网络中的活动,如分组的选路;网络层的协议包括IP协议、ICMP协议(Internet互联网控制报文协议)、IGMP协议(Internet组管 ...
分类:
其他好文 时间:
2018-12-14 14:55:12
阅读次数:
154
引入 当设备被一个程序打开时,存在被另一个程序打开的可能,如果两个或多个程序同时对设备文件进行写操作,这就是说我们的设备资源同时被多个进程使用,对共享资源(硬件资源、和软件上的全局变量、静态变量等)的访问则很容易导致竞态。 显然这不是我们想要的,所以本节引入互斥的概念:实现同一时刻,只能一个应用程序 ...
分类:
其他好文 时间:
2018-12-13 14:56:32
阅读次数:
175