- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 android N编译
android N 编译,可能会遇到问题,有三点相关,jdk配置不对、jack开启/运行失败、jack_vm_args。
2016-11-22 10:45:03
18301
3
原创 adb code
LINUX/android/system/core/adb/adb* usb* Android.mkadb 的root 权限是在system/core/adb/adb.c 中控制。主要根据ro.secure 以及 ro.debuggable 等system property 来控制。默认即档ro.secure 为0 时,即开启root 权限,为1时再根据ro.debuggable 等选项来
2015-09-07 18:12:07
637
原创 pointer location
PointerLocation这个多点触控测试程序,只包括下面的两个文件,LINUX/android\development\apps\Development\src\com\android\development\PointerLocation.javaLINUX/android\frameworks\base\core\java\com\android\internal\w
2015-09-07 11:40:12
1677
原创 初学Android JNI
frameworks/ hardware/packages/ kernel/是sensor串联起来的必要非充分条件。Java Native Interface (JNI)是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 JavaVM(虚拟机)内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和
2015-08-26 16:33:35
584
原创 hal的调试基础
现在的工作,需要经常去关注hal层,为了debug,先去了解一下aloge alogw alogi alogd alogv为了规范软件工程师在android代码编写过程中输出Log的行为,使得发布的产品中打印的Log是必须的,打印的Log的级别是能真实反映此Log对应的级别,标签、Log内容具有很好的可读性。android平台java、c++、c代码编写。
2015-07-30 18:00:27
2567
原创 input IDC
前言:之前在做Android 4.0以上系统时,为了测试方便,将input设备节点号固定,修改了某个内容,省去了一个查看确认的环节,以前工作确实是懒得很,也不会去主动学习,现在才有一份心思来揭开它的面纱。IDC,input device configuration。为输入设备配置文件,它包含设备具体的配置属性,这些属性影响输入设备的行为。对于touch screen设备,总是需
2015-05-07 21:31:20
711
转载 linux中 likely与unlikely
linux中 likely与unlikely ,见了不少次,但终究没体验过所谓的提高效率,所以,如果不是阅读他人的讲解,自己在码砖的时候就不能想到使用它,软实力的一个体现吧。分享自: http://blog.youkuaiyun.com/tommy_wxie/article/details/7384641看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,
2015-04-07 14:39:39
753
原创 "Parser.cpp:13:19: error: expat.h"的解决
在device/qcom/common/display/tools目录下 运行 perl parser.pl panel_xxx_xxx_xxx.xml panel时未能成功,发现未配置环境。sudo perl -e shell -MCPAN后,install XML::Parser 又出错:Parser.cpp:13:19: error: expat.h: 没有那个文件或目录搜索
2015-02-28 14:57:34
1962
原创 Linux时间子系统-8篇(阅读链接)
DroidPhone: http://blog.youkuaiyun.com/droidphone?viewmode=contents移动开发之Android(11)Linux内核架构(15)Linux设备驱动(20)Linux电源管理(3)Linux音频子系统(15)Linux中断子系统(5)Linux时间管理系统(8)Linux输入子系统(4)Linux时间子系统之一:clock so
2015-02-13 13:25:19
729
原创 ssh登录失败:Host key verification failed.
问题出现:服务器意外挂掉,重装之后,我本地远程发现错误:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2015-02-11 15:17:03
926
转载 Linux设备模型分析之bus
Linux设备模型分析之bus http://blog.youkuaiyun.com/liuhaoyutz/article/details/14002163一、bus定义Linux设备驱动模型中的bus,即可以是物理总线(如PCI、I2C总线)的抽象,也可以是出于设备驱动模型架构需要而定义的虚拟的“platform”总线。一个符合Linux设备驱动模型的device或device_driv
2015-01-22 17:46:34
685
原创 git log 参数大补
git log xxx -n --oneline --format="%H %ad"由此引出的git log 知识大补丸。内容来源于网络!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~git log 查看 提交历史在提交了若
2014-12-11 14:44:38
1788
原创 shell 大小写转换
学众家之长,取己之所好。字符串的大小写转换,学到了几种,并做了简单验证:tr tr A-Z a-z 大写转小写,反之转大写sedsed 'y|abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'好麻烦啊,还好有下一句简洁的表达sed 's/.*/\U&/' \U \L 分别表示转大写、小写
2014-12-05 10:57:36
9493
原创 va_start和va_end使用详解
本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void foo(
2014-11-20 18:07:50
866
转载 raw_spin_lock与spin_lock
l临界区:我们知道,临界区是指某个代码区间,在该区间中需要访问某些共享的数据对象,又或者是总线,硬件寄存器等,通常这段代码区间的范围要控制在尽可能小的范围内。临界区内需要对这些数据对象和硬件对象的访问进行保护,保证在退出临界区前不会被临界区外的代码对这些对象进行修改。
2014-11-12 11:04:26
976
原创 我遇到的“LC_ALL unset”解决方法
解决LC_ALL = (unset),问题perl: warning: Setting locale failed.perl: warning: Please check that your locale settings:LANGUAGE = (unset),LC_ALL = (unset),LC_PAPER = "zh_CN.UTF-8",LC_ADDRESS =
2014-11-05 17:48:46
11797
原创 ubuntu Terminal使用小习惯
http://hi.baidu.com/weforhappy/item/232e7b5c368f9c474eff209c
2014-10-30 11:03:21
636
原创 Ubuntu14.04 64位环境搭建之JDK
Ubuntu14.04 64位.在Android4.4.4 代码编译时,*** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com。 停止。才发现JDK不合适,借鉴前辈的处理经验,根据自己的解决之道,总结而出。环境搭建之JDK,在评论中看到安装方法,安装完毕后,进行编译,我这里又会发现一些错误,当解决了两个之后,我决定,“简而言之,全都操作一遍吧”
2014-10-28 15:00:44
891
转载 什么样的gpio才需要用can_sleep
由 gpio_set_value_cansleep(data->pdata->reset_gpio, 1); 引发了我对此函数的haoqi
2014-10-17 13:56:56
1433
原创 编译时出错发现可执行权限已被修改
回想一下可能的原因,最可能的是用了windows下的By Cp,用此工具进行了copy,(没这么做过)在windows下将目录文件转移,后copy回原路径,可执行权限已被修改。
2013-04-01 10:33:53
742
转载 串口通信的三种方式(查询、中断、DMA) 之dma
由于UART串行口的广泛应用,在传统的8位和16位的处理器以及32位处理器中,一般都带有UART串行口。传统的基于UART的数据通讯中,采用的方式一般有两种,查询式和中断式。查询方式下CPU的负担较重,浪费了处理器的能力,不能够很好的处理其他的事件;中断方式可以在接收到信息或需要发送数据时产生中断,在中断服务程序中完成数据的接收与发送。相对于查询方式,中断方式的CPU利用率要高。在CPU任务简单的
2013-03-25 17:30:01
8035
转载 c语言,内存释放。
malloc,realloc,calloc,strdup等等都是动态从堆里面分配的内存,他不会自动释放。在这里需要记录分配的地址,以便以后释放。如果不进行释放,会造成内存泄漏。但是还有一些隐性的更应该注意,比如fopen要和fclose匹配,另外,就是查看函数说明,看看返回的指针是否要free。malloc和new都是在堆上进行的动态内存操作。所以要自己用free或delete
2013-03-12 10:18:05
1687
转载 unsigned short,long
short 在一般计算机中占 2 个字节 也就是 16 位 1byte=8bit我们一般时候会这么用 short a;计算机默认为有符号 所以取值范围是 -2^8 ~~~ 2^8-1 ^是幂的意思所以也就是 -32768 ~~~ 32767但是我们上边定义为 unsigned 为无符号 所以取值范围是 0~~~2^16-1 也就是 0~~~~65535
2013-03-06 09:17:46
819
转载 c语言:位运算符
语言位运算符:与、或、异或、取反、左移和右移位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或
2013-03-02 00:38:14
363
转载 Linux设备驱动:I2C架构分析/i2c_add_driver
我的阅读习惯,转帖他人技术笔记。一:前言I2c是philips提出的外设总线.I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员 的布线.另外,I2C是一种多主机控制总线.它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以.而 I2C 是基于multi master机制.一同总线上可允许多个maste
2013-03-02 00:09:55
1418
转载 展讯8810的GPIO物理地址与虚拟地址的变换,小例÷
转帖:./mach-sc8810/board-sp8810/gpio_cfg.c gpio配置规划kernel/arch/arm/mach-sc8810/include/mach/regs_gpio.h:#define GPIO_BASE SPRD_GPIO_BASE#define GPIO_PG_BASE
2013-03-01 23:45:37
1078
转载 if (gpio_request(xx_irq, "yy_irq") < 0)、、__gpio_set_value与gpio_set_value
读来的解释:其原型为 int gpio_request(unsigned gpio, const char *label) 先说说其参数,gpio则为你要申请的哪一个管脚,label则是为其取一个名字。一般gpio_request封装了mem_request(),起保护作用,最后要调用mem_free之类的。主要是告诉内核这地址被占用了。当其它地方调用同一地址的gpio_r
2013-03-01 23:29:06
702
原创 Android驱动:earlysuspend睡眠
头文件:#include probe中//data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1;data->early_suspend.suspend = gxx_suspend;data->early_suspend.resume= gxx_ts_resume;register_early_s
2013-02-28 19:09:50
715
转载 c语言 :
如下列程序:struct mybitfields { unsigned short a : 4; unsigned short b : 5; unsigned short c : 7; }test;void main(void) { int i; test.a=2; test.b=3;test.c=0; i=*((short *)&test); printf("%
2013-02-21 20:18:57
410
原创 nit_module 'system/sps/xx/ko/a.ko' failed (Operation not permitted)
init_module 'system/sps/xx/ko/a.ko' failed (Operation not permitted)解决方法:驱动中加载时的条件不满足,需将哪些条件都给出。F:cxx para
2013-02-19 09:07:46
929
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人