自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (3)
  • 收藏
  • 关注

转载 android hal层 c 堆栈打印方法

比如要追踪 hardware/qcom/audio/hal/audio_hw.c 中adev_set_mode() 函数的函数堆栈调用关系实际原理就是利用c++ callstack 库,重新编译成c库后使用即可. 1. 在hardware/qcom/audio/hal/ 下添加 callstack.cpp 和 callstack.h文件 callstack.cpp 内容:#incl

2017-09-26 15:54:46 2769

转载 android调用堆栈汇总

简介下面列出的打印函数调用堆栈的方法,只会输出CallStack的信息,并不会抛出异常,也不会导致程序崩溃。在很多情况下,我们无法通过gdb或DDD来单步调试应用,所以打印函数调用堆栈对于我们学习Android源码还是很有必要的(比如说:了解众多子类中,到底走的是哪个子类实例)。Java代码12

2017-09-26 15:42:03 2866

转载 Android_ADB_通过WIFI或USB方式完成调试

1. 用usb线将手机和PC连接起来2. 然后在手机端执行adb root然后使用adb shell登陆手机, 执行如下命令:setprop service.adb.tcp.port 5555stop adbd && start adbd &3. 然后在PC端执行adb tcpip 5555adb connect 192.168.*.* (手机

2017-07-24 15:25:06 1118

原创 vim 用法大全 -葵花宝典,含泪推荐,个人最常用的

用ctags -R命令做tag。临时用法可以vim打开代码,输入 “:set tags=/direct/tags,这样在代码中就可以用ctrl+]来查看原始函数定义了,ctrl+T返回。目录下vim每个代码文件时,都需要set tags=。。。,主要是在vim ~/.vimrc中加入 set tags=/direct/tags,一劳永逸.  多个tags,set tags+=/home/...

2017-06-29 15:15:09 739

原创 strtok 用法总结,可以快速提取带分割符号的字符串

#include  #include  int main(void) {    char input[22] = "abc,d,eee,fff,ggg,hhh";    char *p;    /* strtok places a NULL terminator    in front of the token, if found */    p = s

2017-06-29 11:50:17 2273

转载 windows+python+chrome遇见的问题

https://www.cnblogs.com/sean-sun/p/4335121.html1.'ChromeDriver executable needs to be in the path.报错处理,不在路经内win7系统,在python中调用ChromeDriver 一直报错“selenium.common.exceptions.WebDrive

2017-06-06 16:23:15 1231

原创 makefile常用函数学习(wildcard foreach filter word if ) PRODUCT_COPY_FILES

makefile 博大精深,看到下面一段代码,当时直接就蒙圈了.if 这个用法太怪异了,好不容易找到一个手册才理解是什么意思.整理了下相关makefile的用法,附上自己测试的例子.1.code###################################################### 1 test for PRDUCT_COPY_FILE# 2 test for ba

2017-05-27 15:49:44 2047 1

转载 Python 各种运行错误(如:SyntaxError :invalid syntax)

18个新手常见Python运行时错误想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”)该错误将发生在类似如

2017-04-26 11:37:23 256950 2

转载 关于Segmentation fault (core dumped)几个简单问题

有的程序可以通过编译,但在运行时会出现Segment fault(段错误)。这通常都是指针错误引起的。但这不像编译错误一样会提示到文件一行,而是没有任何信息。一种办法是用gdb的step, 一步一步寻找。但要step一个上万行的代码让人难以想象。 我们还有更好的办法,这就是core file。如果想让系统在信号中断造成的错误时产生core文件, 我们需要在shell中按如下设置:#

2017-03-24 16:22:43 1013

原创 应用程序调用excel 失败

Opening config 'D:\work-file\ l\batchcmd_xml\BatteryInfo.xls'ERROR: Exception occurred while parsing'D:\work-file\ l\batchcmd_xml\BatteryInfo.xls'      Details:       System.InvalidCastExcepti

2017-03-03 18:40:16 7795

转载 Android N Preview 行为变更

http://www.2cto.com/kf/201605/510744.html行为变更Android N 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些重要变更。如果您之前发布过 Android 应用,请注意您的应用可能受到这些平台变更的影响。性能提升为延长设备的电池

2016-10-21 15:28:54 755

原创 python合并同类型excel表格

python脚本如下,验证有效,#!/usr/bin/env python# -*- coding: UTF-8 -*-import os, csvclass CSVTopoIreator:    def __init__(self, filename):        self.infile = open(filename, 'rb')       

2016-09-23 01:01:50 2660

原创 如何遍历需要测试的按键

//1.初始化定义mkeyMap = new HashMap//2.填充键值 mKeyMap.put(KeyCode,id);//3.按键响应事件中 检查keycode检查成功后删除mKeyMap.remove(keyCode);可以通过检查mKeyMap.size()判断是否遍历所有按键//4.循环按键方法testactivity

2016-06-20 19:09:50 1178

原创 adb shell am start权限问题解决

Starting: Intent { cmp=com.zui.factorymode/.ManualTestActivity }java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.zui.factorymode/.ManualTestActivity } from

2016-04-06 21:03:58 10192

转载 workqueue 用法实例

struct my_work_stuct{ int test; struct work_stuct save;};struct my_work_stuct test_work; struct workqueue_struct *test_workqueue;void do_save(struct work_struct *p_work){ struct my_

2016-01-20 16:16:52 2732

原创 换行符在不同系统中切换时修改工具

主要是总结,git上传代码时会要求统一为unix方式,首先,三种系统换行符不一样,mac  \r  CRunix \n  lfwindosw  \r\n   crlfubuntu开发下主要是unix上传代码,因此要求都转化为unix格式 查询文件可以用file,但是我发现xml格式的好像不能查询出来,java,c都可以,没问题 dos2unix可以方便把文件

2015-12-29 16:48:45 1152

原创 usb adb 功能配置步骤

1.a80平台上adb使用的话需要注意 编译时配置/android4.4/device/softwinner/kylin-p2/kylin-p2.mkusbPRODUCT_PROPERTY_OVERRIDES += \ persist.sys.usb.config=mtp,adb \ ro.udisk.lable=kylin \ ro.adb.secure=0默认打开

2015-11-04 18:11:41 3308

转载 arm版本及其指令集

常常能看到ARM7,ARM9,ARM11,以及armv6k等不同的表达。且在GCC编译中,常常要用到 -march,-mcpu等。他们分别表达什么涵义呢?Sam自己也不很清楚,只是大概有个模糊的概念。今天就仔细研究一下。 ARM(Advanced RISCMachines)是微处理器行业的一家知名企业。设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。1985年,第一个ARM

2015-10-16 16:17:47 7105

转载 PCM与DSD究竟是什么??

PCM(Pulse-Code Modulation,脉冲编码调制)是现在最为常见的一种音频编码格式,什么wav,ape,flac,mp3等等几乎所有常见音频都是pcm编码格式其原理简单来说,我们先准备好一组规定电平值(对于电平这个概念,可以简单地等同理解为电压),比如-3,-2,-1,0,1,2,3等等,每个值给一个编号,就像ABCD这样,不过我们现在给这些电平值使用二进制的编号(就是00

2015-09-29 11:07:27 7270 1

转载 如何理解中断的上半部和下半部

http://www.cnblogs.com/wang_yb/archive/2013/04/23/3037268.html http://blog.csdn.net/codectq/article/details/7479143 linux概念 上半部是不能中断的下半部是可以中断的 对于适时要求高的,必须放在上半部  下半部的实现主要是通过软中断 ,tas

2015-05-26 13:03:20 12734

原创 selinux 下增加文件节点权限

ok

2015-03-30 17:45:09 3021

原创 打开固定文件的pr_debug

驱动中pr_debug定义在kernel/include/linux/printk.h /* If you are writing a driver, please usedev_dbg instead */#if defined(CONFIG_DYNAMIC_DEBUG)/* dynamic_pr_debug() uses pr_fmt()internally so we don

2014-09-30 16:59:54 6839

转载 undefined reference 的原因

最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func'     关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1.  链接时缺失了相关目标文件(.o)

2013-10-28 17:55:34 1112

原创 android自动调节背光

这项功能涉及两个模块,光传感器和背光,光传感器采集周围环境的光感强度,上报给系统,系统通过PowerManagerService.java中设置背光值 1.powermanagerService 中实现自动调节背光1.1 enableLightSensorLocked(Boolean enable){         if(enable){                 

2013-10-10 16:47:24 5366

原创 高通耳机检测分析

Bp部分主要是注册中断事件,检测到中断后上报key_code给ap,通过rpc机制传递给ap端。Ap部分驱动层注册rpc客户端,对事件进行处理,uevent上报相应的事件类型,应用层开机启动wiredaccessoryobserver服务,侦听到耳机事件后发送setdeviceconnectionstate到策略层,选择输出设备,驱动层根据设备切换到对应的音频通路,音频通路再通过acdb文件调

2013-06-28 16:49:27 3799 3

原创 android busybox 安装

#getprop|grep decodelinux命令无法在android中断中使用,搜索了下有个busybox tool可以解决这个问题。下载了个应用,安装多次发现手机上不能安装成功,搜索了网上命令行安装的方法,记录一下1.root  手机2.下载对应的busybox bianry,打开这个地址 http://www.busybox.net/downloads/binaries,

2013-05-14 14:24:26 1320 1

原创 input设备使用方法和input_event说明

1.定义的结构体继承input_devstruct bma150_data { struct i2c_client *bma150_client; struct bma150_platform_data *platform_data; int IRQ; atomic_t delay; unsigned char mode; struct input_dev *input; struc

2013-04-24 00:15:25 19296

翻译 高通audio软件模块功能框图

StageFright (SF)媒体框架   1,播放标准audio格式   2,SF媒体架构作为客户接口和Qualcomm OpenMAX接口进行通讯,对adsp支持的audio格式进行解码。   3,解码后的audio流传递给audio manager   4,位置: \frameworks\base\ media\libstagefrightAudio manag

2013-04-12 17:22:22 5684

原创 ubuntu12.04 笔记本键盘错乱

旧的hp笔记本一直闲置,安装了ubuntu,发现有个问题,键盘有点错乱。管道符号始终打不出来,@符号和“符号正好错位了。网上介绍这块的也没查到,应该是键盘类型不符合,但是也找不到合适的。系统设置——》》键盘布局——》》发现我的系统里只默认了英语(英国)点+,弹出  选择布局,中没有找到汉语,就找了个english(india, with rupeesign),添加 ok

2013-04-10 23:21:59 2284

转载 Real-Time Executive (REX)使用手册

Real-Time Executive (REX)使用手册  第一章   序言1.1      目的本文描述了基于ARM平台的Real-Time Executive(REX)操作系统特性及使用方法。REX是专为小型嵌入式系统设计的简单高效的抢占式多任务实时操作系统(RTOS)。该系统最初是为Intel80186处理器设计的,随后被移植到ARM处理器。本文提供了REX的指南,

2013-01-07 13:39:42 1354

转载 MSM平台上的AMSS

AMSS的source实际上是QC BREW(Binary Runtime Environment For Wireless)平台的的底层部分,去掉了为应用程序提供接口的AEE(application execution environment)部分,高通在Dual Proc芯片上的其他平台基本上都是采用的这样的架构。所以如果要了解这套source的话有必要对BREW作一个基本的了解,不需要了解它

2013-01-07 11:33:35 862

原创 android音量控制曲线和调用过程

Android音频曲线调用从ui界面往下设置,根据stream音频有不同的UI,分为7步,15步,对应到实际的100步。这个转换过程可以参考AudioPolicyManagerBase.cpp中的volIndexToAmpl函数。 4.1上调用流程与之前的有所不同,原理还是一样的。之前的版本我看是直线型的,新的是3段折线的。为什么是直线,人耳对声音大小的感知程度并不是线性的,而是呈对数关系

2012-12-31 14:20:24 5924

原创 解决网盘传递超过2g限制的工具quicksplit

切割成几个1g的文件就可以了恢复的时候双击批处理文件。好工具quicksplit,解决了我得燃眉之急啊

2012-10-23 17:35:38 1188

转载 Linux下解析配置文件

配置文件在Linux下使用得非常普遍。形如下面的这个文件就是一个典型的配置文件:# this is just an example# there can be comments before the first group[First Group]Name=Key File Exampletthis value showsnescaping# localized strings

2012-10-18 15:04:11 7186

原创 hcidump用法

hcidump  reads raw HCI data coming from and going to a Bluetooth device (which can be specified with the option -i, default is the first avail- able  one)  and  prints to screen commands, events a

2012-10-15 16:16:17 9413

转载 在 Linux 下用户空间与内核空间数据交换的方式

http://home.lupaworld.com/home-space-uid-35714-do-blog-id-116851.html 本系列文章包括两篇,它们文详细地介绍了 Linux 系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与 sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体

2012-10-09 11:21:37 2290

原创 linux内核模块编译

Linux开发模块,在本机上看调试信息的方法走通了。当前版本2.6.32-32-genericuname –r可以查询这里取module_param()作为例子。该宏被定义在include/linux/moduleparam.h文件中,具体定义如下:#define module_param(name, type, perm)                    modul

2012-09-21 16:57:45 2962

原创 高通蓝牙脚本

之前写测试程序使用脚本引发了兴趣,结合具体案例,检验学习成果。终于看懂了一个稍微复杂的shell脚本。里面还是有很多技巧性的东西存在。声明的变量名,BLUETOOTH_SLEEP_PATH没有用到BLUETOOTH_SLEEP_PATH=/proc/bluetooth/sleep/protoLOG_TAG="qcom-bluetooth"LOG_NAME="${0}:"声明

2012-09-14 10:30:01 5996

转载 android万能驱动制作方法

做android经常碰到某个手机找不到adb 驱动,或者为了适配装了N多驱动,其实有很简单的方法解决 以官方的google android 驱动作为蓝本,把自己的设备加进去就可以了 准备记事本 打开extra\usb_driver\android_winusb.inf 看到下面的信息,相信一般有程序员素质的都能找到规律修改 [Google.NTx86] ; HTC Drea

2012-08-27 18:53:38 3827

原创 蓝牙驱动层调用流程

通过上层应用或者adb tool调用bt_enable,可以打开蓝牙进行相关调试工作,这里就从bt_enable开始对相关蓝牙和服务的启动情况作个简单的说明。 1,Bluetooth.c文件中Bt_enable(){…//rfkill机制给蓝牙上电Set_bluetooth_power(1);//启动hciattach服务,串口服务Property_set(“ctl

2012-08-27 18:28:52 3528

strawberry-perl-5.22.3.1-64bit.msi 安装包,nxp saf4000环境工具

安装包,nxp saf4000环境工具,下载4小时,分享国内应该速度会快一些。 象征性2积分 国内有些同志太狠了,都50分资源 不符合开源精神

2022-12-02

android add 3rd jar

add 2 3rd example. it detail for add test and maxeol.lib.

2016-03-05

彩色五子棋游戏源代码

学习编写棋子类游戏示范程序,vc6.0环境编译成功,对于开发wince系统游戏可以直接移植进行作业

2010-08-10

串口接收GPS数据并提取有效PVT数据

使用API函数连接串口,读取$GPGGA格式的数据,(可根据需要更改为$GPRMC)

2009-08-03

空空如也

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

TA关注的人

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