Focus on the Linux kernel

Experience sharing, benefit oneself and others.技术交流qq:2448383766

linux select与poll实现机制与实例分析

我们直到上层对文件操作结合select与poll可以实现阻塞操作,那么究竟是如何实现的呢? select接口:     int select(int nfds, fd_set *readset, fd_set *writeset,                fd_set *exceptset...

2015-01-20 18:09:13

阅读数:1767

评论数:0

linux内核3.4基于wakeup_source的autosleep机制分析

一:wakeup_source简介:     linux 3.4内核PM使用了wakeup_source来保持唤醒状态,也就是keep awake。之前android一直是基于Linux加入了wake_lock机制来阻止系统休眠,后来Linux 3.4内核加入了wakeup_source来管理,安...

2014-11-24 19:25:53

阅读数:4031

评论数:0

Linux音频ALSA机制学习笔记<二>

首先是dapm是什么?就是音频电源动态管理。相信电源管理大家都不会陌生。dapm设计的目的就是只有需要时才打开必要的部件 (widget),不需要时则关闭部件, 达到省电的目的。ALSA通过kcontrol来切换音频通道,当playback或者capture时会更新通道激活下 的widget po...

2014-11-04 21:28:15

阅读数:2172

评论数:0

Linux音频ALSA机制学习笔记<一>

首先宏观看内核暴露给上层的接口: root@android:/ # cat /dev/snd/ controlC0 pcmC0D10p pcmC0D13c pcmC0D15c pcmC0D2c pcmC0D3c pcmC0D5p pcmC0D8c pcmC0D0c pcmC0D11p pcmC0D...

2014-11-04 21:26:02

阅读数:5919

评论数:0

linux内核notifier机制 linux通知链

在linux内核系统中,各个模块、子系统之间是相互独立的。Linux内核可以通过通  知链机制来获取由其它模块或子系统产生的它感兴趣的某些事 件。 使用notifier由通知者可以传递给被通知者整形参数与指针,在linux中有许多地  方用到,比如reboot通知,cpu调频通知,电池低 电警报等...

2014-09-23 21:02:18

阅读数:1684

评论数:0

从linux usb bus节点来认识usb linux usb认识

首先从dmesg来认识usb: [   19.610046] msm_hsic_host msm_hsic_host: Qualcomm EHCI Host Controller using HSIC [   19.620391] msm_hsic_host msm_hsic_host: new ...

2014-09-22 21:34:35

阅读数:5476

评论数:0

安卓kernel自主唤醒系统方法—设置alarm

#include 1:定义alarm变量: struct alarm  xx_alarm; 2:alarm绑定: alarm 触发时callback: static void xx_callback(struct alarm *alarm) {      structchip *ch...

2014-09-17 22:45:18

阅读数:2958

评论数:2

linux kernel将buf保存到文件做法 很好的调试方法

linux kernel将关键信息保存到文件做法      很好的调试方法 下面有2个示例:     1:保存机器从开机到结束的VBATT;     2:保存uart接收到的数据到文件; 意义不多说了。 以下是代码: #include #include #include static ...

2014-09-05 21:46:00

阅读数:2032

评论数:0

linux网卡数据流 发送与接收

通常在驱动中看见的网卡代码很多,但是都离不开发送与接收,掌握好骨干也就好阅读网卡驱动了。 数据发送 : 发送函数:xxx_start_xmit() 上层封装好了sk_buff丢进kernel后,buf存储在skb->data中,通 过 xxx_start_xmit(),发送出去。 下面的...

2014-09-03 21:34:11

阅读数:2422

评论数:0

linux sdio card休眠处理 sdio card removed解决办法

最近调试几款sdio card suspend时都会出现sdio card removed,之后  要么死机要么模块不能正常工作,根本原因也就是休眠没有处理好。 昨天在博通网卡上终于找到了解决方法。          1:host端需要设置nonremovable,软件设置:mmc->cap...

2014-09-02 21:25:56

阅读数:3043

评论数:0

linux runtime pm机制的深入理解

一:runtime机制说明     何为runtime机制?也就是系统在非睡眠状态,设备在空闲时可以进入runtime suspend状态同时不依赖系统wake_lock机制,非空闲时执行runtime resume使得设备进入正常工作状态。     主要代码放在Runtime.c (drive...

2014-07-24 21:26:50

阅读数:6236

评论数:0

Android通过tcpdump抓包

1. 手机要有root权限 2. 下载tcpdump   http://www.strazzere.com/android/tcpdump 3. adb push c:\wherever_you_put\tcpdump /data/local/tcpdump 4. adb she...

2014-06-24 22:08:50

阅读数:991

评论数:0

高通平台串口调试 AP与模块串口通讯调试总结

1:检查AP端串口配置是否ok: a:高通平台查看DMA传输: echo 1 > /sys/kernel/debug/msm_serial_hsl/loopback.0 //打开回环开关 adb shell cat /dev/ttyHSL1 另起窗口 # adb shell # echo 1...

2014-04-22 22:05:29

阅读数:4538

评论数:0

android alarm底层理解

分享以前调试alarm关机闹钟时,写的关于alarm的总结;     alarm上层调用包括RTC唤醒和闹钟,前者使用的更频繁,接口一样;上层应用频繁调用rtc唤醒系统会增加功耗,所有有些厂家做了所谓的同步心跳技术来统一规划RTC唤醒系统;     alarm本质是底层起了timer,在系统未睡眠...

2014-03-28 21:53:46

阅读数:1822

评论数:0

linux 进程睡眠与wait_even t_interruptible()分析

驱动中最底层处理buffer通常会对该进程睡眠和唤醒操作,比如上层写入buffer时,内核buffer缓冲区是满的,那么写入进程需要阻塞住,直到内核buffer缓冲区可以容纳上层写入的buffer才唤醒该进程。 首先必须认清一个事实: 先将进程置为INTERRUPTIBLE,再调用schedul...

2014-03-19 22:38:24

阅读数:3284

评论数:0

针对高通BMS的研究 高通电量计

高通8064 8974 8926等pm芯片都集成了电量计,估计后续芯片都会一直存在,现在许多项目电池旁都有百分比显示,所以需要深入分析BMS有助于解决电量方面的BUG。 一: SOC(荷电状态)计算方法 名词: FCC  Full-charge capacity       UC     Rema...

2014-03-08 08:29:02

阅读数:5237

评论数:1

android restart reason机制

Reboot传递参数,使得开机进入参数固定的模式(通常有我们熟悉的bootloader和recovery等),本质是在kernel shutdown时会调用到restart, 将模式数值写到share memory中,那么在开机bootloader阶段,再去读取这块内存,boot进入指定的模式,...

2014-01-06 21:12:04

阅读数:3687

评论数:3

lcd刷新率计算方法

frame_rate通常低于50通常仔细会 看到闪烁,在55-60最合适,这时候屏最安静,通常pclk决定frame_rate,pclk要适中,pclk过高会导致平台功耗过高, 虽然肉眼看不见但确实是实实在在的。在mipi lcd中有参数frame_rate可以填入,发现填入 frame_rate...

2013-12-18 21:44:31

阅读数:2654

评论数:0

android关机闹钟设计思路

1: 首先需要硬件支持,支持alarm中断触发开机,目前高通平台几乎都支持; 2:关机前需要在rtc-xxx.c中做到enable_irq_wake,和不disable alarm功能(默认开机后alarm功能就会打开,通常关机时qct会关闭该功能避免alarm触发乱开机); 3: 在AlarmM...

2013-12-10 22:31:41

阅读数:2421

评论数:0

android adb网络调试 Android中使用WIFI来连接ADB 简单100%成功

android adb网络调试 Android中使用WIFI来连接ADB 简单100%成功

2013-11-25 20:22:57

阅读数:1839

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭