驱动开发
文章平均质量分 76
Rocky_zhm
学习!!
展开
-
linux驱动开发学习--对中断和内核定时器的学习笔记
对中断的理解,中断的分类以及操作函数,处理机制的学习对内核定时器的学习,操作方法等。原创 2015-08-12 16:39:57 · 578 阅读 · 0 评论 -
UART端口测试方法及测试程序
在进行UART端口验证时,需要对UART端口进行参数配置,同时在进行验证时,可以采用短接UART,直接进行数据的收发验证,以此来达到测试端口是否OK的目的。测试程序的代码:#include #include #include #include #include #include #include //文件控制定义#include //终端控制定义#include原创 2015-10-21 16:55:35 · 4553 阅读 · 0 评论 -
linux平台上image文件挂载的方法
在linux平台上,编译得到image文件之后,可以通过挂载image文件到指定目录的方法,对image文件中的内容进行修改,然后再重新打包生成新的image文件。具体方法:先使用simg2img对image进行格式转换。然后将转换之后的image挂载到指定文件目录下,并对挂载后的目录进行目录结构调整和文件更新最后将挂载目录重新打包生成新的image文件,并替换原有image文件,同时umount挂载目录原创 2015-11-06 16:25:22 · 4033 阅读 · 0 评论 -
检查内核反馈uevent消息,并提取出USB插入事件
开发中,其他模块提出需求,需要我提供一个接口,另一个模块会启动独立线程,不断的调用这个接口,来实现USB事件的分离和提取,详细的接口代码如下:#include #include #include #include #include #include #include #define UEVENT_MSG_LEN 2048#define UEVENT_LOG_SAVE 1s原创 2015-10-19 18:44:24 · 2238 阅读 · 0 评论 -
Mutex VS Semaphore VS Spinlock
本文转载至:https://freethreads.wordpress.com/2010/02/19/mutex-vs-semaphore-vs-spinlock/Similarity– All of these are used for synchronizationDifferenceMutex provides one person to access a s转载 2015-08-20 13:41:54 · 742 阅读 · 0 评论 -
select、poll、epoll之间的区别总结
本文转载至:http://www.cnblogs.com/Anker/p/3265058.html select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写转载 2015-08-20 13:50:08 · 539 阅读 · 0 评论 -
linux网络设备驱动学习
一、协议栈层次对比二.Linux网络子系统 Linux网络子系统的顶部是系统调用接口层。它为用户空间提供的应用程序提供了一种访问内核网络子系统的方法(socket)。位于其下面是一个协议无关层,它提供一种通用的方法来使用传输层协议。然后是具体协议的实现,在Linux中包括内核的协议TCP,UDP,当然还有IP。然后是设备无关层,它提供了协议与设备驱动通信的通用接口,最下面是设转载 2015-08-17 16:03:53 · 615 阅读 · 0 评论 -
对虚拟字符驱动globalmem的完善,追加竞态解决帮法的学习
Linux 设备驱动中必须解决的一个问题是多个进程对共享资源的并发访问,并发访问会导致竞态。产生并发的场合解决竞态问题的途径是保证对共享资源的互斥访问,所谓互斥访问是指一个执行单元在访问共享资源的时候,其他的执行单元被禁止访问。Linux 设备驱动中可采用的互斥途径:中断屏蔽、原子操作、自旋锁和信号量等自旋锁和信号量选用原则globalmem驱动中解决并发问题后的完善代码原创 2015-08-05 14:51:31 · 535 阅读 · 0 评论 -
对globalmem字符驱动的理解和分析
虚拟字符驱动设备开发代码的理解,globalmem字符驱动的分析内容原创 2015-08-05 11:34:45 · 610 阅读 · 0 评论 -
linux设备驱动开发学习--内存和IO访问
I/O 端口I/O 内存把 I/O 端口映射到内存空间I/O 端口申请I/O 内存申请字符设备与块设备 I/O 操作的不同原创 2015-08-13 20:52:07 · 728 阅读 · 0 评论 -
linux驱动开发中断例程学习
原文:你的第一个中断程序!作者: edsionte地址:http://edsionte.com/techblog/archives/1521之前在学习中断知识时,都是概念,理解的不是很好,虽然使用时钟中断写了一个例程,但是终究不是主要关于中断的程序,所以在就在网上找啊找啊,终于发现了这个大神的博文,很是经典啊,博客里还有其他的关于linux内核的文章,大家有学习兴趣的都可以去看转载 2015-08-13 20:59:02 · 1095 阅读 · 0 评论 -
对linux设备驱动中的并发控制相关内容的理解
这篇笔记主要是针对linux设备驱动中的并发控制内容的学习后,存在的一些问题的补充学习和调查结果,路过的大神们也可以帮我看看理解的是否正确,有问题的话欢迎大家帮我指出来,小弟在此谢过啦!问题一 什么是死锁,什么情况下会发生死锁?回答:1. 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统原创 2015-08-06 18:01:46 · 774 阅读 · 0 评论 -
关于虚拟字符设备驱动的学习笔记globalmem
1. linux设备驱动程序之简单字符设备驱动开发2. 一个简单的Linux驱动程序和Makefile3. “: asm/uaccess.h: 没有那个文件或目录”原因和解决办法4. “错误: 隐式声明函数‘kmalloc’ [-Werror=implicit-function-declaration] ”的原因和解决办法原创 2015-08-04 12:04:43 · 1389 阅读 · 0 评论 -
linux块设备驱动学习笔记(源码适用高版本内核)
1. 字符设备与块设备 I/O 操作的不同如下。(1)块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位。大多数设备是字符设备,因为它们不需要缓冲而且不以固定块大小进行操作。(2)块设备对于 I/O 请求有对应的缓冲区,因此它们可以选择以什么顺序进行响应,字符设备无须缓冲且被直接读写。对于存储设备而言调整读写的顺序作用巨大,因为在读写连续的扇区比分离的扇区更快。(3)字符设备只能被顺序读写,而块设备可以随机访问。虽然块设备可随机访问,但是对于磁盘这类机械设备而言,顺序地组织块设备的访问可原创 2015-12-21 15:22:03 · 1773 阅读 · 0 评论