- 博客(8)
- 问答 (1)
- 收藏
- 关注
原创 sdio 初始化流程
400kHz->cmd0 idle状态->cmd41 设置电压参数->cmd8获取卡的身份id->cmd3 设置地址->设置数据位宽度
2015-02-26 10:48:46 3313
原创 驱动的分层和主机外设分离思想
驱动的分层是core核心层与例化。例如不同厂家的触摸屏都要用到input输入系统。输入核心层定义了底层设备驱动所需的API,如:分配和释放一个输入设备struct input_dev *input_allocate_device(void),void input_free_device(struct input_dev *dev)上报绝对坐标void input_repor
2015-02-26 10:19:37 385
原创 内核的几个内存动态申请函数
在内核空间常用的内存获取函数:kmalloc,get_free_page申请的内存在物理上连续;vmalloc申请的内存在物理上不连续
2015-02-26 08:56:36 391
原创 阻塞与非阻塞
阻塞:故名思议就是阻塞在那边。更专业的解释当资源不能够被获取时,进程被挂起,直到资源被获得。(进程进入休眠状态,从调度器上的运行队列移走,直到被等待条件满足)非阻塞:在资源不能被获取时,要么就放弃,要么不停的查询直到条件满足。阻塞看是会效率低下,实则不然。当资源不可获取时,进程进入休眠,将cpu资源让给其他进程。如果不采用阻塞,当资源不满足是需要不停的轮询,反而会消耗cpu资源。
2015-02-25 16:39:09 342
原创 linux设备驱动的并发控制
并发的多个执行单元存在对共享资源的访问,竞态就可能产生。一般为防止竞态产生,可采用以下几种方法:1、屏蔽中断。local_irq_disable等操作,因屏蔽中断使得系统中的中断无法响应,会导致信息丢失。所以需要尽快地执行完临界区的代码2、原子操作。原子操作分为:整型原子操作和位原子操作3、自旋锁4、信号量。5、互斥量信号量与自旋锁区别:信号量:当获取不到信
2015-02-25 16:30:11 321
原创 int *p=NULL与*p=NULL
int *p=NULL,式子说明1、定义了一个指针变量p,2、其所指向的内存里存放的是int型数据,3、初始化p指向NULL(空内存)。以上只是初始化了一个指针*p=NULL,式子说明1、将p指向的内存所存储的值设为NULL。以上只是对p指向的内存所存储的变量赋值例如:int i=10; //定义一整型变量int *p=&i;//定义一个整型
2015-02-06 15:37:10 1837
转载 Linux USB触摸屏驱动注解
转自:http://blog.csdn.net/kevinx_xu/article/details/23337795Linux USB触摸屏驱动注解 参考2.6.31版本中的driver/usb/input/usbtouchscreen.c。驱动可分为几个部分:驱动加载、probe部分、open部分、urb回调函数处理部分。 一、 驱动加载部分 static int
2015-02-05 09:32:24 470
空空如也
libcurl 如何以 CURLAUTH_DIGEST 方式通过认证
2019-03-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人