自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

子夜的专栏

我希望从毛毛虫蜕变为一只美丽的蝴蝶

  • 博客(70)
  • 资源 (4)
  • 收藏
  • 关注

原创 SSH 所引发的问题

最近遇到一个ssh工具运行一段时间就会停止工作的问题。stops working after running some time.原本觉得可能并不是一个很严重的问题,但是debug两天没有解决,故此记录作为经验总结,为以后遇到此类问题的朋友提供借鉴。2021-08-30:问题只在客户那里复现,本地没有复现环境。所以只能通过客户提供的信息进行分析总结:Issue Situation:SSH from PC side connect to Linux GVM,will stop work

2021-08-30 10:35:20 240

原创 曾国藩的正面和侧面

对于曾国藩,年少时,自己有些瞧不上;但年龄越大,经历越多,反而越敬佩他。也渐渐明白为什么那么多人视他为偶像。曾国藩的智商不过中等,资质一般,却以内圣外王为自己终生的理想目标,通过一生自律自省,成为晚清第一功臣,力挽狂澜于清朝大厦之将倾!是我们每个平凡普通人的楷模。湘乡流传着这样一个笑话,说是曾国藩在家读书,一篇短短的文章,朗诵了多少遍还背不下来。一小偷本想等他入睡之后偷窃。可是左等右等,就是不见他睡。小偷忍无可忍,跳出来大叫:“这种笨脑袋,读什么书?!”这个笑话并非空穴来风。曾氏一族

2021-08-30 09:58:18 367 1

原创 临窗小记

暮春之末,四月维夏。柳絮飘飞,残红花退。绿荫渐浓,草木葳蕤。适逢假日,夫君未归,差旅数日,忙于公事。独居寓所,临窗静坐;闲愁万种,无处凭说。一纸素笺,多情笔墨。浮生若梦,为欢几何?生于农家,长于田野。自幼恬淡,热爱自然。桑林麦垄,风摇碧浪。蝉吟雀噪,燕紫莺黄,柴院竹篱,红桃白李。日出而作,日落而息。代代相继,生生不息。年少无志,不谙世事。闲心物外,不涉浮名,效父继祖,田舍园亭。唯心所愿,得一良人,...

2017-12-04 15:18:12 564

转载 linux 动态库 显式调用 与 隐式调用

1、介绍动态库是程序设计常用的技术,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。在Windows和Linux操作系统中都有动态库的概念。Windows将其称为动态链接库(Dynamic Link Library,DLL),其文件扩展名为.dll,Linux称其为共享库技术(Shared Library),相应的共享库文件扩展名为.so。

2017-03-30 17:32:16 3191

转载 如何在安卓系统中侦测和调试内存泄露和越界

1.1 基本原理使用bionc的libc初始时,会检测属性"libc.debug.malloc",//android/bionic/libc/bionic/malloc_debug_common.c//static void malloc_init_impl(void) if (!debug_level && __system_property_get("libc.debug

2017-03-28 17:12:43 1878

转载 常用开源许可协议介绍

什么是许可协议?  什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。  不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问

2017-03-27 15:31:25 620

原创 ofono Architecture Introduction

Introducing Ofono• oFonoprovidesa full host protocol stack fortelephony applications.• LaunchedbyIntel & Nokia on May, 2009•   LicensedunderGPL v2      –Coreand plug-ins

2016-08-29 18:37:43 2501

转载 ubuntu下最全的软件安装、卸载、查看命令

说明:由于图形化界面方法(如Add/Remove… 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。一、Ubuntu中软件安装方法1、APT方式(1)普通安装:apt-get install softname1 softname2 …;(2)修复安装:apt-get -f install s

2016-07-28 10:49:54 3291

原创 阿尔法狗狗

今年的三月廿六日,老公从静安寺领养了一只中华田园犬,就是俗称的小笨狗;本想领养一只泰迪或者名贵点的狗狗,可能去晚了,大部分已被领养,不知是眼缘还是什么冲动,让老公带回了这只小笨狗,开始我是有些嫌弃的,这种狗狗家里普遍的很,可是老公说,看它挺好,给它取个名字吧,此时正值谷歌的 alpha Go 名噪一时,作为IT民工,也要给狗狗打上点职业烙印,索性取名叫:阿尔法。 以后叫阿尔法就是指这只田园狗狗了。

2016-07-14 11:31:11 1356 5

原创 怦然心动的魔法整理术

因为我不是一个对整理特别有研究的人,所以想借鉴一些专业人士对整理归纳的心得体验和成果,为己所用。于是看到了日本整理咨询师 近藤麻理惠小姐的这本书,收益匪浅。并忍不住亲自实践,对自己的家用了3天的时间彻底的清理归纳,焕然一新,有种由衷的喜悦和感动。       这本书浅显易懂,便于实践,特意将看书过程中看到的一些规则记录如下,希望对有些人有所帮助。       但是核心理念是,只留下

2016-06-23 12:49:38 1243

原创 短发

周末心血来潮,突然想改换一下发型,首先,每天面对镜子中同样的自己,有些厌倦了,给自己换个造型吧;其次,夏天到了,剪成短发会比较清爽些。想想自己十几年来一直长发飘飘的,突然想剪掉,实在有些于心不忍。可是现在不尝试,什么时候尝试呢,呵呵!有生之年,想尝试一切可能尝试的事情,何况剪个头发而已啊~不过细想,一个小的外在改变,是内在改变的驱动啊,探究内心,思绪的波澜一直未...

2016-05-09 14:15:14 579

原创 为了祭奠那永不瞑目的爱情

清明时节,都在祭奠已故的亡者,表达追思及哀悼;而此时,我想祭奠一下自己,祭奠那些已被忘却的永不瞑目的爱情。     时光荏苒,二十年也不过弹指一挥间。如梭的岁月不知道给我的人生留下几个二十年。    但回首往事,回想二十年前的年少岁月,倍感珍惜。    十二岁,含苞欲放的年纪,青涩而美好;有无所畏惧的勇敢,有随心所欲的欢笑,有初入人生的懵懂,也有初识愁滋味的烦恼;种种情感种种思绪,

2016-04-04 21:34:45 1189

原创 android 4.4 phone 主叫和被动呼叫的流程分析

Outgoing CALL sequenceIncoming Call Sequence:

2016-01-08 16:59:38 884

原创 modem digital audio interface summary

一、PCM(Pulse Code Modulation)1.介绍 PCM脉冲编码调制就是把一个时间连续,取值连续的模拟信号进行采样,再对采样值幅度进行量化、编码为数字信号的过程。其工作原理大致如下: “防失真滤波器”是一个低通滤波器,用来滤除声音频带以外的信号; “波形编码器”可暂时理解为“采样器”;“量化器”可理解为“量化阶大小(step-size)”生成器或

2015-12-25 19:54:21 1978

原创 四 数据连接过程解析

DataConnection的每一个对象标识一钟数据连接,下图为android设计的一个数据连接的状态机。在DataConnection对象里面数据连接的状态分为DcDefaultState?,默认状态。DcInactiveState?,非激活状态。DcActivatingState?,正在激活状态DcActiveState?,激活状态DcDisconnectingState?,正在断开状态DcD

2015-12-25 19:50:34 656

原创 三、RIL-JAVA的解析

(一)RIL-JAVA 发送命令的流程图RIL-Java在本质上就是一个RIL代理,起到一个转发的作用,是Android Java概念空间中的电话系统的起点。在RIL-D的分析中,我们知道RILD建立了一个侦听套接口,等待RIL-Java的连接。一旦连接成 功,RIL-JAVA就可发起一个请求,并等待应答,并将结构发送到目标处理对象。在RIL-Java中,这个请求称为RILRequest。

2015-12-25 19:48:48 1097

原创 (二) RIL 层分析

Rild(RIL Interface Layer Daemon)是Init进程启动的一个本地服务,这个本地服务采用了socket的通讯方式。Android 给出了一个RIL实现框架。由于Android开发者使用的Modem是不一样的,各种指令格式,初始化序列都可能不一样,GSM和CDMA就差别更大 了,所以为了消除这些差别,Android设计者将ril做了一个抽象,使用一个虚拟电话的概念。这个虚拟

2015-12-25 19:46:35 1023

原创 (一) Porting USB 3G MODEM to Android

由于prima2 本身不带有3G modem 模块,所以调试模块使用的是Huawei USB接口的无线上网卡,Huawei E1780,如其他型号Huawei E1750等都是兼容的。目前大多数3G无线上网卡内部含有windows驱动,第一次插入的时候,作为一个闪存,并提示你安装驱动,安装驱动之后,会自动切换到usb设备模式,存储设备消失,新的modem设备产生。这种特征被无线设备的制造商称其为“

2015-12-25 19:44:07 2058

原创 How to do ADC Calibration

ADC转换后的数据跟硬件提供的数据信息并不是完全对应的,它所得出的数据里面存在着offset error和gain error, 所以我们需要对它进行校准后再使用。针对数据可能存在的错误类型,校准分为偏移校准(offset calibration)和 增益校准(gain calibration)。其中offset calibration是为了消除ADC的offset error,gain ca

2015-12-25 19:40:11 4493

原创 block and nonblock

同步阻塞IO应用程序(application)为了执行这个read操作,会调用相应的一个system call,将系统控制权交给kernel,然后就进行等待(这其实就是被阻塞了)。kernel开始执行这个system call,执行完毕后会向应用程序返回响应,应用程序得到响应后,就不再阻塞,并进行后面的工作。例如,“在调用 read 系统调用时,应用程序会阻塞并对内核进

2015-12-25 19:37:05 734

原创 udev introduction

1.udev简介 udev 的u是指 user space,也就是用户空间设备管理。它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录下。使用udev后,在/dev目录下就只包含系统中真正存在 的设备。它只支持linux-2.6内核,严重依赖于sysfs文件系统提供的信息。它替代了原来的devfs,那为什么要替

2015-12-25 19:35:29 648

原创 kobject device model and sys file system introduction

一、Linux Device Model1.linux设备模型简介在内核2.5的开发周期中需要完成一个目标:为内核建立一个统一的设备模型,目的是为了对计算机上的所有设备进行统一地表示和操作,包括设备本身和设备之间的连接关系。这个模型是在分析了PCI和USB的总线驱动过程中得到的,这两个总线类型能代表当前系统中的大多数设备类型,它们都有完善的热插拔机制和电源管理的支持,也都有级连机制的支持,

2015-12-25 19:31:57 808

原创 tasklet && workqueue && kernel timer

一、kernel timer1、适用环境内核中许多部分的工作都高度依赖于时间信息。Linux内核利用硬件提供的不同的定时器以支持忙等待或睡眠等待等时间相关的服务。忙等待时,CPU会不断运转。但是睡眠等待时,进程将放弃CPU。因此,只有在后者不可行的情况下,才考虑使用前者。当然内核也提供了某些便利,如果我们需要在将来的某个时间点调度执行某个动作,同时在该时间点到达之前不会阻塞当前进程,则

2015-12-25 19:25:43 1514

原创 Battery workflow in Android 2.3

针对以上流程图做以下几点说明: 1.电池的充电状态、温度、电压以及各种状态信息是由!BatteryService来显示的,但真正的数据来源是由内核提供的,它运行在system_process进程当中。 2.!BatteryService通过JNI读取内核数据信息。它通过JNI注册的不仅有函数,而且也有变量,应该说他们是通用的,JNI的com_android_server_BatteryServi

2015-12-25 17:40:05 715

原创 Makefile Summary

一个工程在用make来执行时,需要一个命名为Makefile的特殊文件。这个文件告诉make需要作什么,该如何做。其主要用来进行工程编译和程序链接以至于最后的执行。目的是用来实现程序的自动化编译。所以说使用make工具来构建和管理一个属于自己的工程,是一项基本要求。一个简单的Makefile一般是由“规则”组成。规则描述在什么情况下、如何重建规则的目标文件。以下示例:TARGET... :

2015-12-25 17:33:11 465

原创 Git basic usage and work flow

git是个非常好用的版本工具,不但可以在linux下环境使用,还可以在windows下使用。它可以很方便的管理整个代码工程,节省很多代码维护的成本。 以下是学习过程中的一点记录,主要针对一些常用且实用的命令进行归纳总结。一。基本应用 1.安装 git的安装除了git core这个东西以外,我们还需要安装git gui和gitk,这些东西后面会方便我们的工作。 ubunt

2015-12-25 17:31:23 662

原创 A bash script for tool version test

由于blog中已有关于shell的一些描述,因此对命令不再赘述。以下是学习中练习过的一个简单脚本,主要是对系统中的工具版本以及编译环境等进行测试,目的是熟悉各种命令的具体运用。script name : wlsrun command :$  . wls (or source  wls)$ help     : print executable commands 

2015-12-25 17:29:43 442

原创 android volume level adjustment

2015-09-18 17:09:47 697

转载 图解Android - Zygote, System Server 启动分析

转载地址: http://www.cnblogs.com/samchen2009/p/3294713.htmlInit 是所有Linux程序的起点,而Zygote于Android,正如它的英文意思,是所有java程序的'孵化池'(玩过星际虫族的兄弟都晓得的)。用ps 输出可以看到>adb shell ps | grep -E 'init|926' root

2015-09-14 20:39:20 1087

转载 理解和使用alsa配置-默认静音,必须先用amixer解除主音量和pcm音量的静音

ALSA声卡驱动程序的配置对于声卡驱动程序,除了内核自带的驱动程序之外,您还可以使用Advanced Linux Sound Architecture(ALSA,http://www.alsa-project.org/)提供的驱动程序。它支持一系列主流声卡,同时它和内核 的声音结构互相兼容,在某种程度上,可以说是内核的声卡驱动模块的补充。ALSA的声卡驱动程序的一般命名规则是snd

2015-08-28 14:22:47 3175

转载 android Audio调试程序常用命令

相关网站:Alsa项目的官方网址:http://www.alsa-project.org/ Alsa LIB API Reference:http://www.alsa-project.org/alsa-doc/alsa-lib/ 配置文件的语法:http://www.alsa-project.org/alsa-doc/alsa-lib/conf.html Asoundrc的官

2015-08-28 14:18:52 6173

原创 kermit使用中遇到openssl的问题

在工作中,突然串口工具kermit不能使用了,打印如下信息. git@test-OptiPlex-9010:~$ sudo kermit [sudo] password for git: ?OpenSSL libraries do not match required version: . C-Kermit built with OpenSSL 1.0.0e 6 Sep 2011

2015-07-24 17:22:44 2306

转载 Android中Input型输入设备驱动原理分析

话说Android中Event输入设备驱动原理分析还不如说Linux输入子系统呢,反正这个是没变的,在android的底层开发中对于Linux的基本驱动程序设计还是没变的,当然Android底层机制也增加几个属于android自己的机制。典型的IPCAndroid中的input设备驱动主要包括:游戏杆(joystick)、鼠标(mouse)和事件设备(Event)。1、Input输入子

2015-06-19 13:47:14 976

原创 android 4.4 suspend process

2015-05-26 11:13:49 952

转载 Linux电源管理_wakelocks--(四)

1. 前言wakelocks是一个有故事的功能。wakelocks最初出现在Android为linux kernel打的一个补丁集上,该补丁集实现了一个名称为“wakelocks”的系统调用,该系统调用允许调用者阻止系统进入低功耗模式(如idle、suspend等)。同时,该补丁集更改了Linux kernel原生的电源管理执行过程(kernel/power/main.c中的state_s

2015-05-26 11:03:48 7951

转载 Linux电源管理_autosleep--(五)

1. 前言Autosleep也是从Android wakelocks补丁集中演化而来的(Linux电源管理(9)_wakelocks),用于取代Android wakelocks中的自动休眠功能。它基于wakeup source实现,从代码逻辑上讲,autosleep是一个简单的功能,但背后却埋藏着一个值得深思的话题:计算机的休眠(通常是STR、Standby、Hibernate等susp

2015-05-26 11:03:36 6186

转载 Linux电源管理_Wakeup count功能--(三)

1. 前言Wakeup count是Wakeup events framework的组成部分,用于解决“system suspend和system wakeup events之间的同步问题”。本文将结合“Linux电源管理(6)_Generic PM之Suspend功能”和“Linux电源管理(7)_Wakeup events framework”两篇文章,分析wakeup count的功

2015-05-26 11:00:51 4224

转载 Linux电源管理_Wakeup events framework--(二)

1.  前言 本文继续“Linux电源管理(6)_Generic PM之Suspend功能”中有关suspend同步以及PM wakeup的话题。这个话题,是近几年Linux kernel最具争议的话题之一,在国外Linux开发论坛,经常可以看到围绕该话题的辩论。辩论的时间跨度和空间跨度可以持续很长,且无法达成一致。wakeup events framework是这个话题的一个临时性的

2015-05-26 10:49:41 3391 1

转载 Linux电源管理_Generic PowerManager 之Suspend功能--(一)

1. 前言 Linux内核提供了三种Suspend: Freeze、Standby和STR(Suspend to RAM),在用户空间向”/sys/power/state”文件分别写入”freeze”、”standby”和”mem”,即可触发它们。内核中,Suspend及Resume过程涉及到PM Core、Device PM、各个设备的驱动、Platform dependent PM

2015-05-26 10:43:11 11550

转载 android adb 命令发送 keyevent

reference to website:http://www.cnblogs.com/androidwsjisji/archive/2012/05/11/2496753.html使用Adb shell command直接送key event給Androidadb shell input keyevent 7 # for key '0'adb shell input key

2015-05-12 17:16:37 3338

Ubuntu 常用命令大全

ubuntu 8.10 linux 基本命令大全

2009-08-19

freemarker教程下载

jsp表现层所使用的工具 freemarker的功能强大,利于开发

2008-11-24

lucene教程 lucene包

lucene教程包括开发搜索引擎需要的lucene包,》》》》》》

2008-11-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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