![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 86
yuanjungogogo
这个作者很懒,什么都没留下…
展开
-
Android Linux Kernel 电源管理 Early Suspend(转)
原帖地址:http://www.eoeandroid.com/thread-99123-1-1.html十分感谢这位大神的讲解,觉得讲解的不错,就转来,作为今后的参考;里面对其进行了一些补充,以及加入了自己的理解;1.用户空间的接口:在kernel\drivers\power\main.c中,定义了一组sysfs属性文件,其中一个定义是:power_attr(p转载 2013-01-07 21:44:13 · 758 阅读 · 0 评论 -
kthread_create 简单使用
kthread_create:创建线程。struct task_struct *kthread_create(int (*threadfn)(void *data),void *data,const char *namefmt, ...);线程创建后,不会马上运行,而是需要将kthread_create() 返回的task_struct指针传给wake_up_process(),然后通过此转载 2013-08-16 17:29:31 · 1149 阅读 · 0 评论 -
Sys节点相关
sysfs 是 Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似,但除了与 proc 相同的具有查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用。相比于 proc 文件系统,使用 sysfs 导出内核数据的方式更为统一,并且组织的方式更好,它的设计从 proc 中吸取了很多教训。如果文件中没有包含的头文件:原创 2013-08-14 09:48:12 · 899 阅读 · 0 评论 -
MTK GPIO 模拟I2C
MTK 平台下,用GPIO模拟的I2C,MTK不建议这样做,说可能会有些影响;可是会有什么影响呢?目前还不知道;转载请注明出处:http://blog.csdn.net/yuanjungogogo#define XXX_I2C_SLAVE_WRITE_ADDR 0x2A static struct mutex xxx_mutex;#define GPIO_SDA_原创 2013-06-25 11:18:38 · 2917 阅读 · 0 评论 -
sched_setscheduler用法
设置调度策略 #include int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param); sched_setscheduler()函数将pid所指定进程的调度策略和调度参数分别设置为param指向的s转载 2013-06-25 16:56:08 · 3837 阅读 · 0 评论 -
Andriod编译内核模块*.ko
在单独编译Android的内核模块之前,必须要成功配置编译过整个Android系统(至少要编译成功boot.img),生成正确的out目录。1.编写Makefile。按照以下格式编写Makefile。 1 obj-m += aaa.o 2 #obj-m += abc.o 3 #abc-objs := aaa.o bbb.o ccc.o 4转载 2013-05-21 09:43:41 · 1085 阅读 · 0 评论 -
[Linux driver] Mutex, semaphore, spinlock的深度解析 [转]
Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。 Semaphore是一件可以容纳N人的房间,如果人不满就可以进去,如果人满了,就要等待有人出来。对于N=1的情况,称为binary semaphore。一般的用法是,用于限制对于某一资源的同时访问转载 2013-04-05 15:12:15 · 750 阅读 · 0 评论 -
Printk 是否会影响系统效率?
在CSDN上找到了一个帖子,贴出来,顺着他的思路往下走走;####################################################机子环境:虚拟机LINUX下,CPU赛扬R2.6GHZ,单核,虚拟机内存256MB。一个加密程序,最终版,加密或解密速度只能达到1MB/S,于是……K掉AES加密模块,速度飙到6.8MB/S,可谓神速,可是好像还不够,怀疑原创 2013-03-20 13:34:55 · 2707 阅读 · 0 评论 -
mdelay 与 msleep
最近在研究Android driver中的延迟函数:msleep,mdelay.虽然msleep和mdelay都有延迟的作用,但他们是有区别的.mdelay是忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的.是需要等待多少时间就会真正等待多少时间.而msleep是休眠函数,它不涉及忙等待.你如果是msleep(10),那实际上延迟的时间,大部分原创 2013-03-29 09:48:50 · 2750 阅读 · 0 评论 -
Android wake lock (转)
Hal层的代码在jni层中被使用,源码位于:frameworks/base/core/jni/android_os_Power.cpp,代码片段如下:static void acquireWakeLock(JNIEnv *env, jobject clazz, jint lock, jstring idObj){ if (idObj == NULL) { th转载 2013-01-07 21:15:05 · 1284 阅读 · 0 评论 -
关于函数wait_event_interruptible(wq, condition)
wait_event_interruptible(wq, condition),该函数修改task的状态为TASK_INTERRUPTIBLE,意味着该进程将不会继续运行直到被唤醒,然后被添加到等待队列wq中。在wait_event_interruptible()中首先判断condition是不是已经满足,如果条件满足则直接返回0,否则调用__wait_event_interruptibl转载 2013-08-17 09:45:45 · 2754 阅读 · 1 评论