我是一个技术爱好者,喜欢分享交流技术心得
转自:http://blog.csdn.net/rockrockwu/article/details/7357648 系统启动过程中platform设备、驱动注册完毕,为什么在/dev目录下就自动创建好设备节点了? 在/dev目录自动创建设备节点可以通过class_create(),然后再device_create()。
转自:http://blog.chinaunix.net/uid-20672257-id-3147337.html 一、kobject的定义:kobject是Linux2.6引入的设备管理机制,在内核中由struct kobject结构表示,这个结构使所有设备在底层都具有统一的接口.
转自:http://blog.csdn.net/tommy_wxie/article/details/8480695 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。
转自:http://www.cnblogs.com/chenglei/archive/2009/08/06/1540702.html 从main.c中的printf开始读这个函数。 首先看printf函数的定义: 1 static int printf(const char *fmt, .
转自:http://blog.csdn.net/educast/article/details/25068445 函数功能:把格式化的数据写入某个字符串 头文件:stdio.h 函数原型:int sprintf( char *buffer, const char *format [, argum...
转自:http://www.wowotech.net/device_model/uevent.html 1. Uevent的功能 Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。
转自:http://bbs.ednchina.com/BLOG_ARTICLE_172028.HTM 文件系统是COS的重要模块之一,它负责组织、管理、维护IC卡内存储的所有数据。文件系统的设计和实现既是COS系统中最灵活、最有个性的部分,也是对系统整体结构影响最大的模块之一。
转自:http://bbs.ednchina.com/BLOG_ARTICLE_172027.HTM 3、终端传输层 本节描述了在终端和 IC 卡之间传输的命令和响应 APDU 的机制。
转自:http://bbs.ednchina.com/BLOG_ARTICLE_172024.HTM 2.4 块传输协议T=1 T=1协议中,在TAL和IC卡之间传送的命令、R-APDU和传输控制信息(例如确认信息)由块组成。
转自:http://bbs.ednchina.com/BLOG_ARTICLE_172025.HTM (3)容错操作 先来看一下容错的规则定义。 * 复位应答后,第一个数据块是由终端发往IC卡的,而且只能是一个I块或S块。
转自:http://bbs.ednchina.com/BLOG_ARTICLE_172022.HTM 在异步半双工传输协议中,主要定义了终端为实现传输控制和特殊需要发出的命令及这些命令的处理过程。 在传输协议中定义了两种协议:字符传输协议(T=0)和块传输协议(T=1)。
一般来说,不同的命令可能隶属于不同的软件包,这样就没有一个地方会有所有命令的源代码。(命令的个数也会与你所安装的软件包有关)但是,一些常用的命令,例如basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df d...
转自:http://www.jb51.net/LINUXjishu/247797.html 查看当前发行版可以使用的shell 复制代码 代码如下: [root@localhost ~]$ cat /etc/shells/bin/sh/bin/bash/sbin/nologin ...
转自:http://blog.chinaunix.net/uid-25880122-id-2901409.html while循环的格式 while expression do command command ``` done 1、计数器控制的while循环 主要用于已经准确知道要输入的数据和字符串的数目。
转自:http://blog.csdn.net/taiyang1987912/article/details/38929069 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[-] 一简介 二详解 for循环 while循环 until循环 循环嵌套 循环控制符break和continue select结构 三总结 一、简介 Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for、while和until。
cpu_relax()-----对自选循环等待(spin-wait loops)操作的优化 转自:http://www.doc100.net/bugs/t/173547/index.html 在lock_timer_base()函数中看到在for循环操作中调用了cpu_relax(),本来以为是要让出CPU,调度其他进程运行,但是看代码之后发现完全不是这么回事。
转自: http://blog.csdn.net/liang13664759/article/details/1771246 最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。
转自:http://blog.csdn.net/goodluckwhh/article/details/8316357版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[-] 一 第一个问题如何判断单链表中是否存在循环并找出循环起点 方法一 方法二 方法三 二 第二...
转自:http://blog.csdn.net/goodluckwhh/article/details/9006065 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[-] 一信号量 信号量的概念 信号量的数据结构和相关API 数据结构 初始化...
转自:http://blog.csdn.net/goodluckwhh/article/details/9005585 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[-] 一每CPU变量 二原子操作 三优化和内存屏障 四自旋锁 自旋锁 自旋锁的数据结构和宏函数 读写自旋锁 读写自旋锁的相关函数 linux内核中的各种“任务”都能看到内核地址空间,因而它们之间也需要同步和互斥。
转自:http://blog.csdn.net/wowuyinglingluan/article/details/45720151 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[-] 整段代码 关于无效的forward 关于定时精度问题 精确调整和overrun问题 存疑 随着各种嵌入式设备上采用linux,特别是Android系统的广泛应用,linux的hrtimer高精度模式开始被广泛支持。
转自:http://blog.chinaunix.net/uid-26403844-id-5063920.html linux kernel 2.6.30开始对多点触摸支持,最近高通要求所有CTP器件要用B 协议上报数据,协议A/B(slot)分析如下: 一、文档 多点触摸协议文档 kernel/Documentation/input/multi-touch-protocol.txt 二、协议分析 基于硬件的能力,触摸协议分为两种类型: type A: 只能处理匿名接触,描述了如何把所有原始触摸数据发给接收者。
转自:http://www.arm9home.net/read.php?tid=24754 前段时间改写了一个GT801的内核驱动,仔细阅读 MT Event 上报的时候,发现这个驱动是针对 Android 系统有所偏重的。
转自:http://blog.csdn.net/waverider2012/article/details/38305785 hrtimer高精度定时器的interval由ktime_set(const long secs, const unsigned long nsecs)决定,可做到ns级。
转自:http://blog.csdn.net/beyondioi/article/details/9186723 ##################################################################################################### 早前曾研究了一下输入子系统的原理,给人的感觉是输入子系统很复杂.
转自:http://blog.csdn.net/beyondioi/article/details/9201695 今天在写触摸屏驱动时在中断处理函数中使用disable_irq关中断发现在进入中断处理后内核就挂掉了,于是研究了一下才发现disable_irq关闭中断并等待中断处理完后返回, 而disable_irq_nosync立即返回.
转自:http://blog.csdn.net/beyondioi/article/details/9212795 1.hrtimers - 为高分辨率kernel定时器,可作为超时或周期性定时器使用 1). hrtimer_init初始化定时器工作模式。
转自:http://www.cnblogs.com/hoys/archive/2011/11/14/2248586.html 计时器是所有操作系统的一个必要组成部分,您将发现多个计时器机制。我们将首先简要介绍一些 Linux 计时器模式,然后深入研究它们的运行方式。
转自:http://blog.csdn.net/droidphone/article/details/8434768 [-] 简介 协议的使用 Protocol Example A Protocol Example B 事件的使用 事件的语义说明 ABS_MT_TOUCH...
转自:http://blog.chinaunix.net/uid-25513153-id-2888903.html kthread_create与kernel_thread的区别 kernel thread可以用kernel_thread创建,但是在执行函数里面必须用daemonize释放资源并挂到init下,还需要用completion等待这一过程的完成。
转自:http://blog.chinaunix.net/uid-8478094-id-2031177.html 关于preempt_enable 和 preempt_disable 允许抢占和禁止抢占。
转自:http://blog.chinaunix.net/uid-12461657-id-3353217.html 一、什么叫抢占所谓抢占,说白了就是进程切换。linux的用户空间,进程A在执行中,来(硬?)中断打断A,从中断处理程序返回时,如果有更高优先级进程B在排队的话,那么执行进程B。
转自:http://blog.csdn.net/joker0910/article/details/7782765 [cpp] view plain copy #define preempt_disable() \ do{ \ inc_preempt_count(); \ barrier(); \ }while(0) 一、这个barrier 在干什么... 内存屏障出现因为编译器或现在的处理器常会自作聪明地对指令序列进行一些处理,比如数据缓存,读写指令乱序执行等等。
转自:http://blog.csdn.net/kasalyn/article/details/11473885 static inline void raw_spin_lock(raw_spinlock_t *lock){ preempt_disable(); do_raw_sp...
Linux内核中内存cache的实现 转自:http://blog.chinaunix.net/uid-127037-id-2919545.html 本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性, 严禁用于任何商业用途。
转自:http://blog.chinaunix.net/uid-12567959-id-161015.html 在内核代码里到处都能看到这个subsys_initcall(),而它到底是干什么的呢?让我们来揭开它的神秘面纱。
转自:http://my.oschina.net/u/572632/blog/305492 目录[-] 概述 section的声明 注册 调用 IN BUILDING 概述 内核选项的解析完成之后,各个子系统的初始化即进入第二部分—入口函数的调用。
#include #include #include #include #include static void time_get(ktime_t *start); static void time_get(ktime_t *start){ *start = ktime_get();} st...
转自:http://blog.csdn.net/chenhuajie123/article/details/11951777 一步一图一代码,一定要让你真正彻底明白红黑树 作者:July 二零一一年一月九日 ----------------------------- 本文参...
转自:http://www.2cto.com/kf/201210/160985.html 我一次性malloc十个单位节点的内存空间出来赋值给L, 现在我想一次性删除从第3个到第6个节点,我是这么做的:1.将第六个节点的next指针指向NULL2.将L指针指向第三个单位空间的地址,再free(L)。
转自:http://linux.chinaunix.net/techdoc/net/2007/01/30/949381.shtml R.wen (rwen2012@126.com)1),Skb_buff/* To allow 64K frame to be packed as single skb...
转自:http://blog.csdn.net/chenyu105/article/details/7720162 重点关注关中断的情况。临时做了一个版本,在CPU 0上监控所有非0 CPU的时钟中断计数,检查他们在100ms内是否增加。
转自:http://blog.csdn.net/lanmanck/article/details/8638391 上传源码时最好把空格行去掉,以前介绍了使用notepad++,现在发现,习惯用source insight的人士也可以很easy的去掉了: Options->Perferences->Files-> Remove extra white space when saving。
转自:http://blog.csdn.net/maray/article/details/5770889 Linux内核中断路径中不能睡眠,为什么? 这里就行了很深入的讨论,值得一看:http://bbs2.chinaunix.net/viewthread.php?tid=1618430 但是,他们的讨论最后没有得出一个明确的结论。
转自:http://www.jb51.net/article/55442.htm 一、 Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远...
转自:http://www.cnblogs.com/softwaretesting/archive/2011/09/28/2194515.html http://www.pythonclub.org/linux/vim/map VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来。
转自:http://edsionte.com/techblog/archives/category/linux%E5%86%85%E6%A0%B8%E7%BC%96%E7%A8%8B 背景 如何在Linux内核中执行某些用户态程序或系统命令?在用户态中,可以通过execve()实现;在内核态,则可以通过call_usermodehelpere()实现该功能。
转自:http://blog.chinaunix.net/uid-23069658-id-4364171.html 关于内核通知链不像Netlink那样,既可以用于内核与用户空间的通信,还能用于内核不同子系统之间的通信,通知链只能用于内核不同子系统之间的通信。
转自:http://blog.chinaunix.net/uid-23069658-id-4576255.html 我们都知道Linux内核里的双向链表和学校里教给我们的那种数据结构还是些不一样。Linux采用了一种更通用的设计,将链表以及其相关操作函数从数据本身进行剥离,这样我们在使用链表的时候就不用自己去实现诸如节点的插入、删除、遍历等操作了。
转自:http://blog.chinaunix.net/uid-23069658-id-4725279.html 关于链表我们更多时候是对其进行遍历的需求,上一篇博文里我们主要认识了一下和链表操作比较常用的几个内核API接口,其入参全都是清一色的struct list_head{}类型。