自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 android memory tips

There's SparseArray but there are also classes for each of the individual primitive types. There's a SparseBooleanArray, a SparseIntArray and so on. Deciding whether to use these Android spe

2016-06-08 13:40:29 646

转载 How Hash Algorithms Work

original source: http://m.metamorphosite.com/one-way-hash-encryption-sha1-data-softwareMain Menu Thoroughly explained How Hash Algorithms WorkThis page was written for people who really want to know

2015-08-28 14:15:48 789

原创 thread, looper, handler vs ScheduledExecutorService

1) what is looper,  A Class used to run a message loop on a messageQueue for a thread, BUT , it is essentially itsself a thread,  think otherwise how it is able to do the loop work. Check the sour

2015-06-02 12:59:49 991

原创 sync logic

Push data flow:Stepclient Appserver1New Data can be captured in the following flows:new Scan ticketAnswer QuestionsSubmit Additional NotesEach flow

2015-02-26 07:54:32 624

转载 GPS vs. aGPS: A Quick Tutorial

GPS vs. aGPS: A Quick TutorialHOW TO By Daniel Rubino, Saturday, Jan 3, 2009 at 3:24 am ESTWith discussions and speculation about what features the new Treo 800

2014-06-10 10:26:17 1294

转载 Linux内核:spinlock和睡眠

Linux内核:spinlock和睡眠 (2012-05-04 21:48:30)转载▼标签: linux    spinlock是linux内核锁机制的一种,而linux内核锁机制是linux内核同步机制的一部分。   linux内核同步机制的使用原因是为了避免共享数据之间的竞争出现,它包括per c

2014-02-19 09:31:32 1160

转载 C语言中的可变参数函数 三个点“…

C语言中的可变参数函数 三个点“…” 分类: C/C++第一篇 C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可以

2014-02-18 09:12:01 903

转载 pv原语

PV原语操作详解     PV原语通过操作信号量来处理进程间的同步与互斥的问题。其核心就是一段不可分割不可中断的程序。 信号量的概念1965年由著名的荷兰计算机科学家Dijkstra提出,其基本思路是用一种新的变量类型(semaphore)来记录当前可用资源的数量。     semaphore有两种实现方式:     1) semapho

2014-02-14 07:06:38 1310

原创 sticky 集合

patch:git apply ***.patchd/clock最原始的节点目录在哪里debugfstxt动节点在R99和R4中称为移动站(MS),R5中称为用户设备(UE)。MS由终端设备(TE)和移动终端(MT)组成1:说明你对android build系统不熟悉,说:source build/envsetup.sh 

2013-08-29 16:06:53 2902

原创 clock

adb shell cat /d/clock/clock_tree

2013-07-17 17:32:35 827

原创 gpio Sysfs Interface for Userspace

from gpio.txtSysfs Interface for Userspace (OPTIONAL) ======================================== Platforms which use the "gpiolib" implementors framework may choose to configure a sysfs user i

2013-06-14 17:33:38 1392

原创 i2c, i2c-gpio

1:gpio可以配成多个function ,本质上是因为这些function在soc里面已经存在,但是为了不让soc有太多的pin脚,所以只用一个pin脚来复用。选function的过程,其实就是有个开关,选哪个function,就把开关打到哪个function上。2:i2c controller 在soc内部就相当于一个function。 如果这个function 和 gpio 复用在一个p

2013-06-13 19:21:33 2445

原创 gang programming

golden sample 是标准样品approve sample 是批准通过的样品 比如,客户给你一个样品,让按样品生产,那他发来的就是golden sample 你们按样品生产出来的发给客户,客户如果通过就是approve sample产线批量烧录设备的时候,会用到工具,可以批量烧录。其实就是clone,速度快,就像以前用光盘安装操作系统,需要2个小时,但是clone10分钟就够了

2013-06-10 11:24:48 952

转载 ramdisk 是什么? amdisk.img system.img userdata.img 分析

转载自: http://blog.csdn.net/wuye110/article/details/8463820     Android 源码编译后,在out/target/product/generic下生成的三个镜像文 件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data。 ramdisk.img是根文件系统,

2013-06-08 22:57:24 1504

原创 android boot

1:  soc  的 usb 功能应该在 给cpu 上电之后就应该work, 但是在与pc通讯过程中(以下所有的pc与device的通讯都可以看成是 一个client 一个 server)的协议都 cpu厂商自己定义的, 而不是通用的android 的adb协议或fastboot协议,所以在我所经历的不同的cpu vendor中,在最开始download code 时候(在没有 fastboot的

2013-06-08 19:09:41 2506

原创 emmc 是什么

http://baike.baidu.com/view/3509283.htmeMMC (Embedded MultiMediaCard) 为MMC协会所订立的内嵌式存储器标准规格,主要是针对手机产品为主。eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。这些特点对于希望通过缩小光刻

2013-06-08 17:11:17 10747

原创 subChip_GPIO如何访问

例如 pmu(TPS65913 )上的gpio如何访问,可到官网上查看他的spec会专门有个TPS65913的gpio driver, 将他也定义为一个gpio,这是他的platform_driver。在platform_device的定义的地方(可能在board_power文件中)其中platform data里面会有个参数叫做,gpio_base,表示这个subchip gpi

2013-06-01 10:50:14 1063

转载 Android-JNI

JNI 之二 :java & c/c++ 相互通信及调用          JNI是Java Native Interface的缩写,JNI是一种机制,有了它就可以在java程序中调用其他native代码,或者使native代码调用java层的代码。也就是说,有了JNI我们可以使Android项目中,java层与native层各自发挥所长并相互配合。

2013-04-26 14:38:26 767

转载 LINUX下如何查看一个文件夹/磁盘空间

比如查看home目录的大小:du -s /home也可以:du -sh /homeLinux下查看文件和文件夹大小当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。    du可以查看文件及文件夹的大小。    两者

2013-04-06 16:29:55 2608

原创 git log

git log -p -- file可以秀出某个文件的,所有log,并且每个commit的改动部分

2013-03-29 11:18:51 690

原创 switch is closed / open 表示

switch is closed 表示闭合,也就是连通switch is open  表示断开,

2013-03-07 12:26:48 2506

原创 只想 down下 manifest 中的某个 git仓库

打开manifest.xml;  vi .repo/manifest.xml找到你要download的 git ,比如 mhl, 用他的path 参数:hardware/sii/mhl,作为 下面命令的参数,即可repo sync hardware/sii/mhl

2013-03-06 17:41:53 907

原创 input gpio: 初始值的pull up, pull down, no pull

每个gpio 内部都有3种状态, 上拉,下拉,不拉。hw,外部的 原理图设计 会根据这个,来对这个 input gpio进行状态变换,比如:hpd 中断pin,没有中断的时候,值是0,那么他的初始设置应该是下拉的。 这时候 当有hdmi cable插入的时候,硬件上设计,让他内部变成 上拉, 这时候读到的值就是1如果hpd的初始状态设置为上拉,那么默认值是1. 这时候 插入hdmi

2013-03-06 17:20:43 18564

原创 i2c controller on intel platform

1:    a) sys/bus/pci/drivers/i2c-designware-pci   ----controller driver   b) sys/bus/platform/drivers/i2c-gpio  --- controller driver   ! note: sys/bus/i2c/drivers/* -- these are i2c slave devic

2013-02-27 16:58:54 3754

原创 gpio_get_value的定义

gpio_get_value等一系列函数,并非linux标准函数,而是跟硬件相关的。 通常我们说的driver都是跟外围设备相关的,所以需要我们自己开发,但是这次我们说到的gpio是跟soc相关的,其实也是需要自己定义的,只不过这个自己变成了soc的provider,比如高通,intel等等a)接口定义在.h文件有每个cpu平台都有自己定义的gpio_get_value,要继续查看到底是哪

2013-02-27 15:02:21 23562

原创 shell@android: 怎么切到root

有时候, adb shell之后,发现进入的不是root@android , 而是shell@android在这个用户下,有些权限限制运行:su 回车就进入了root用户模式,但是cmd窗口并没有发生什么变化,显示的仍然是shell,但其实已经切到root了

2013-02-21 11:18:24 6583

原创 把android 系统设为可写

如果在开发过程中,你想替换 android 中的某些 。so ,ko文件1mount -o remount,rw /dev/block/mtdblock3 /system 或者 adb remount 2然后就可以adb push 了注意:linux 目录斜杠 是/ 而不是 \

2013-02-21 10:33:54 980

原创 android 单独build 模块

source build/envsetup.sh lunch beech-eng (会解析 出分别 beech  ,  eng)cd directorymm

2013-02-21 10:12:48 431

原创 local->gerrit->git->local 本地有个git一样的commit,这时怎么让local跟本地同步

1:本地做了3个commit,2: push 到gerrit上3: 被review通过,提交到了git上4:这时候,local的commit  和 git上的内容是一样的, 但是并没有真正同步5: git rebase -i hpq/jb4.2_clvp_snapshot           那么会提示 none,选择退出,就跟git同步了

2013-02-20 17:54:09 848

原创 git : local -> gerrit;如果避免不断产生新的patch

如果,你已经提交了一次gerrit,共4个commit(1,2,3,4(top)),都被review过了, 但是其中有一个(例如第二个commit: 2)是不合格的提交,要求重新修改。如果你在本地,git rebase -i HEAD~3, 然后重新git push gerrit HEAD:refs/for/, 那么,除了commit2之外, commit3 ,commit4,在gerrit上

2013-02-19 10:13:04 3618

原创 git cherry-pick + commit id 单独merge 任意一个branch的任意一个commit到本branch上

比如你有些 debug msg, 不能push 到gerrit上去,你可以单独备份一个branch,专门放这些 debug msg,有一个对应的commit id当你在别的branch上想使用的时候,只需要 git cherry-pick + commid id, 就能把这些debug msg merge 到本branch上了

2013-02-06 14:07:13 6280

转载 内核日志及printk结构浅析

一、printk概述    对于做Linux内核开发的人来说,printk实在是再熟悉不过了。内核启动时显示的各种信息大部分都是通过她来实现的,在做内核驱动调试的时候大部分时候使用她就足矣。她之所以用得如此广泛,一个是由于她使用方便,还有一个重要的原因是她的健壮性。它使用范围很广,几乎是内核的任何地方都能调用它。你既可以在中断上下文、进程上下中调用她,也可以在任何持有锁时调用她,更可以

2013-02-05 17:12:19 9570

转载 如何枚举产生i2c_client ,何时使用i2c_new_device

根据自己的理解翻译了http://lxr.linux.no/linux+v2.6.34/Documentation/i2c/instantiating-devices 中关于枚举建立i2c_client的文档。有异议或疑问请参照原文,毕竟内核的文档才是真正的精华。方法1:使用总线号声明设备。在内核的初始化中定义设备的信息。前提是内核编译的时候已经确定有哪些i2c设备和它们的地址,还

2013-02-01 15:46:39 9293

原创 什么样的gpio才需要用can_sleep

对于有些挂载在I2C,SPI总线上的扩展GPIO,读写操作可能会导致睡眠,因此不能在中断函数中  使用。使用下面的函数以区别于正常的GPIO  int gpio_get_value_cansleep(unsigned gpio);//读GPIO  void gpio_set_value_cansleep(unsigned gpio, int value);//写GPIO----

2013-01-28 14:29:51 6380

转载 grep 常用用法

一般用 grep -rn 'SUPPORT_MIPI_H8C7_DISPLAY'  .  'SUPPORT_MIPI_H8C7_DISPLAY',用双引号也行,单引号也行,不用引号也行。忽略大小写一般用 grep -rn -i  'SUPPORT_MIPI_H8C7_DISPLAY'  .  通配符:一般用 grep -rn -i

2013-01-25 17:57:50 11006

转载 修改git commit 除了 git commit --amend 还有 git commmit rebase, reset,

git 修改commit分类: git2012-04-07 10:43 1369人阅读 评论(0) 收藏 举报当你不小心,写错了提交的注视/信息,该如何处理呢。理论上,SCM是不应该修改历史的信息的,提交的注释也是。   不过在git中,其commit提供了一个--amend参数,可以修改最后一次提交的信息.但是如果你已经push过了,那么其历史最后一次

2013-01-25 17:15:04 138989 7

转载 git reset

git reset简介分类: 版本控制2012-06-14 20:58 2227人阅读 评论(0) 收藏 举报目录(?)[+]本文编辑整理自:http://guibin.iteye.com/blog/1014369http://hi.baidu.com/tiger_tnt/blog/item/a0464ffa6a8115d9b58f314d.

2013-01-25 15:50:30 1888

转载 git-am合并git format-patch

使用git-am合并git format-patch生成的一系列的patch 2011-11-18 09:32:58分类: LINUX这篇文章主要介绍一下git-am 和 format-patch 的使用。 因为在git使用当中,会有很多时候别人(供应商或者其他的开发人员)发过来一系列的patch,这些patch通常的是类似这样的名字:0001-

2013-01-24 13:21:24 770

转载 git rebase

原文:http://gitbook.liuhui998.com/4_2.html一、基本git rebase用于把一个分支的修改合并到当前分支。假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin假设远程分支"origin"已经有了2个提交,如图 现在我们在这个分支做

2013-01-24 13:15:18 491

转载 git patch

Git的Patch功能UNIX世界的软件开发大多都是协作式的,因此,Patch(补丁)是一个相当重要的东西,因为几乎所有的大型UNIX项目的普通贡献者,都是通过 Patch来提交代码的。作为最重要的开源项目之一,Linux,也是这样的。普通开发者从软件仓库clone下代码,然后写入代码,做一个Patch, 最后用E-mail发给Linux Kernel的维护者就好了。Git最初

2013-01-23 14:00:23 436

空空如也

空空如也

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

TA关注的人

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