撒哈拉的绿洲

菜鸟的成长路...
私信 关注
布列瑟农的秋天
码龄11年

旅行、音乐、看书

  • 712,305
    被访问量
  • 108
    原创文章
  • 7,492
    作者排名
  • 395
    粉丝数量
  • 于 2010-05-24 加入CSDN
获得成就
  • 获得555次点赞
  • 内容获得281次评论
  • 获得575次收藏
荣誉勋章
TA的专栏
  • VxWorks
    5篇
  • FPGA
    1篇
  • docker
    1篇
  • Debug and Tool
    15篇
  • 调试demo
    8篇
  • Android系统框架/运行机制
    3篇
  • Linux内核探讨
    2篇
  • 系统启动
    2篇
  • 电源管理
    9篇
  • Android输入子系统
    12篇
  • USB/存储
    4篇
  • AndroidUI界面
    9篇
  • 网络/连接
    6篇
  • Android系统安全
    4篇
  • Android性能优化
    2篇
  • 搭建环境/系统移植
    4篇
  • 协议/规范/标准
    6篇
  • Android多媒体
    14篇
  • GMS/CTS
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

VxWorks错误码查找表

458753 0x70001 S_dsmLib_UNKNOWN_INSTRUCTION  786433 0xc0001 S_ioLib_NO_DRIVER  786434 0xc0002 S_ioLib_UNKNOWN_REQUEST  786435 0xc0003 S_ioLib_DEVICE_ERROR  786436 0xc0004 S_ioLib_DEVICE_TIMEOUT  786437 0xc0005 S_ioLib_WRITE_PROTECTED  786438 0x
原创
772阅读
6评论
1点赞
发布博客于 4 月前

ep4ce10引脚.xls

Altera Cyclone IV的FPGA引脚手册,里面详细描述了FPGA的各个引脚的默认功能。大家在调试的时候,可以对照标准的引脚定义和自己的引脚定义。可以方便软件模块定位问题。
xls
发布资源于 7 月前

Cyclone IV 器件手册(中文-共二卷-带目录).pdf

Cyclone IV器件手册,里面详细描述了FPGA的内部逻辑结构和电气特性。对FPGA内部的组成部件和工作原理有详细的介绍,包括FPGA的配置方式等等。
pdf
发布资源于 7 月前

FPGA引脚简介

一、 FPGA的硬件结构这里说的硬件结构主要从FPGA的引脚功能方面描述,FPGA内部的电路逻辑暂不讨论。FPGA的引脚大致可以分为三类:功能引脚、IO引脚、电源和接地引脚。1. 功能引脚FPGA的功能引脚包含了FPGA配置程序加载、FPGA配置模式选择、状态及错误提示、JTAG调试等等。DCLK、DATA0、NCONFIG、CONF_DONE这几个引脚是配置FPGA所必须的,DATA1~DATA7可以用作其他功能,INIT_DONE可以不使用。TDI、TDO、TMS、TCK四个脚是
原创
1069阅读
0评论
3点赞
发布博客于 7 月前

VxWorks调试备忘录

1. 系统出错打印出堆栈时,不一定是打印堆栈附近的代码报错了,有可能是前面代码报错了,然后随机延时了一段时间才把堆栈信 息打印出来了,需要加在前面代码中不断缩小范围排查;1. 中断处理例程里面不要使用memset去初始化数据结构,否则会导致系统卡死;2. 中断处理例程里面不要使用for循环去初始化数据结构,否则会导致系统卡死;...
原创
136阅读
0评论
1点赞
发布博客于 9 月前

PowerPC基础知识

1. PowerPC级别PowerPC 体系结构分为三个级别(或者说是“book”)。通过对体系结构以这种方式进行划分,为实现可以选择价格/性能比平衡的复杂性级别留出了空间,同时还保持了实现间的代码兼容性。Book I. 用户指令集体系结构定义了通用于所有 PowerPC 实现的用户指令和寄存器的基本集合。这些是非特权指令,为大多数程序所用。Book II. 虚拟环境体系结构定...
原创
1929阅读
0评论
7点赞
发布博客于 2 年前

Freescale_P2020_ReferenceManual.pdf

这个是飞思卡尔P2020的参考手册,里面描述了内存映射、硬件控制器、寄存器map等硬件相关信息,可供在P2020平台上开发的小伙伴们查阅技术细节。
pdf
发布资源于 2 年前

VxWorks基础知识.rar

这里面介绍了Vxworks的操作系统框架和数据结构,以及系统运行机制。可以帮助大家熟悉VxWorks系统。
rar
发布资源于 2 年前

VxWorks常用命令(备忘)

i 显示任务基本信息,参数为0时显示全部任务。ti 显示任务的TCB信息。d 显示目标地址内存内容。devs 列出目标机系统上的全部设备。version ...
原创
3828阅读
0评论
4点赞
发布博客于 2 年前

docker常用命令

安装dockerWget -qO- https://get.docker.com/ | sh添加非root用户到本地Docker Unix组当中Sudo usermod -aG docker andee查看docker版本Docker version 或者 docker --version查看docker系统信息Docker system info卸载当前doc...
原创
89阅读
0评论
1点赞
发布博客于 2 年前

VxWorks6.9初始化流程介绍

一、系统框架在讲初始化流程之前,我们先了解下VxWorks的三种映像类型。要搞清楚映像结构,需要先了解下VxWorks的内存空间分配。所以我们先从框架入手。1. 框架图2. 内存空间分配二、内核映像根据应用场合不同,vxworks映像可以分成三类:可加载的映像、基于ROM的映像和驻留ROM映像。1. 可加载的映像在RAM中运行,不包含搬移程序,需要借助一些...
原创
1204阅读
1评论
2点赞
发布博客于 2 年前

千兆以太网卡吞吐量和丢包率优化总结

现在有很多硬件平台理论上支持千兆以太网接口,但实际传输速率远远低于千兆,并且丢包率很高。最近我做了一些以太网吞吐量和丢包率方面的优化工作,有一些心得和大家分享一下。一、测试模型二、影响吞吐量和丢包率的因素1. 网卡DMA缓冲区大小 这个缓冲区决定tx ring buffer和rx ring buffer的大小,如果ring buffer太小,那么网卡缓存数据包的能力...
原创
2772阅读
0评论
1点赞
发布博客于 2 年前

Android8.1修改默认音量大小的方法

目前网上有一些关于修改系统默认音量大小的方法,比如修改AudioSystem.java的DEFAULT_STREAM_VOLUME:public static int[] DEFAULT_STREAM_VOLUME = new int[] {        4,  // STREAM_VOICE_CALL        7,  // STREAM_SYSTEM        5,  //...
原创
9628阅读
0评论
8点赞
发布博客于 3 年前

iwlwifi(AC9260)移植总结

因为项目需求,要将产品的wifi型号由AC8265升级为AC9260。我们当前项目平台的内核版本为3.9.109,而AC9260要求的最低内核版本为3.14.04。于是我下载了一个3.14的长期支持版本--3.14.79,准备基于这个版本把iwlwifi模块移植到3.9内核上。下面是移植过程中记录的一些细节:1. 相关文件:(1)9260的固件        iwlwifi-926...
原创
1865阅读
0评论
1点赞
发布博客于 3 年前

Android6.0设置开机启动默认横屏并兼顾自动旋转功能

       关于Android6.0开机默认横屏显示,网上有一些文章提到过,但是我仔细研究了下,要么不全,要么修改方式会引入新的问题。为了让开机强制横屏显示,并且又不影响sensor的屏幕自动旋转功能,我对旋转的修改方式做了很多尝试,最后终于找到了一种可行的方式。既保证开机启动的时候按照指定的方向显示logo和开机动画,又可以在打开自动旋转开关后,通过转动设备来自动旋转屏幕。具体做法如下:开...
原创
3826阅读
1评论
2点赞
发布博客于 3 年前

如何将GMS功能移植到Android系统中

1. 下载google全家桶www.opengapps.org    www.apkmirror.com选择适合你的平台架构下载2. 安装全家桶将全家桶解压,将Core目录下的apk预置到/system/priv-app目录中;修改device.mk,将配置文件,各种xml和jar拷贝到/system/etc或者/system/framework目录中;3. 注册google账号设置vpn网络,连...
原创
1638阅读
23评论
2点赞
发布博客于 3 年前

在Ubuntu16.04上搭建Android8.0编译环境

1. 安装AOSP编译工具sudo apt install git-core sudo apt install gnupg sudo apt install flexsudo apt install bisonsudo apt install gperfsudo apt install build-essentialsudo apt install curlsudo apt install lib...
原创
4292阅读
0评论
1点赞
发布博客于 3 年前

Android6.0如何将Super SU的root权限管理功能集成到系统源码里面

最近在研究如何将Super SU集成到系统源码中,使系统自带root权限管理功能。在此总结一下集成Super SU到Android源码中需要注意的几个要点:1. 设置selinux为disable或者permissive模式;2. 设置ro.secure = 0;3. 将superuser.apk预置到system/app目录下;4. 屏蔽掉安卓源码自带的google su的编
原创
5051阅读
0评论
2点赞
发布博客于 4 年前

Android Multimedia框架总结(八)Stagefright框架之AwesomePlayer及数据解析器

前言:前面一篇分析了mediaplayerservice及MediaPlayer中的CS模型,但是对于如何能把数据解析出来,渲染到最终的SurfaceView上显示,并且播放起来,我们依然还不得而知,从今天开始,就开始介绍多媒体框
转载
546阅读
0评论
1点赞
发布博客于 4 年前

Android Multimedia框架总结(七)C++中MediaPlayer的C/S架构补充及MediaService介绍

• C/S模型中的三角关系流程图• MediaPlayerService相关联的类图• MediaPlayerService的产生过程• MediaPlayerService添加服务过程• MediaPlayerService通过BinderDriver和MediaPlayer通信过程
转载
635阅读
0评论
1点赞
发布博客于 4 年前

Android显示模块如何使用软件渲染(非硬件加速)

自从Android系统引入了黄油计划以后,Android显示模块默认使用的是硬件加速渲染。硬件加速渲染的好处是图像刷新速度快,UI界面切换比较流畅。但是这种方式需要GPU的支持,因此需要硬件IC和内核显示子系统同时配合。       假如某款产品,不需要大屏、大分辨率显示,只需要Android系统的环境,那么这个时候完全没有必要使用GPU。既可以节省硬件成本,也可以减小产品开发难度,可以更灵活
原创
2066阅读
0评论
1点赞
发布博客于 4 年前

Android系统如何移植wpa_supplicant及wifi驱动

1.  将厂商提供的HAL代码复制到hardware目录下,并修改Makefile      例如:realteck、broadcom、ti、qcomm等。 2.  修改ANDROID_SDK /device///目录下的BoardConfig.mk,加入配置信息例如:BOARD_WIFI_VENDOR := realtekifeq ($(BOARD_WIFI_VENDOR
原创
8719阅读
3评论
2点赞
发布博客于 4 年前

Windows驱动 HCK测试方法及数字签名使用方法介绍

一、  HCK安装及使用方法介绍1.   安装环境要求      操作系统: Windows Server2008 R2英文版                     需要两台电脑,一台做测试服务器,另一台做测试机      网络要求:两台电脑必须都能连接internet,并同属一个局域网      地区语言:最好选择默认值,选择China会安装不上,默认值为US
原创
4446阅读
5评论
1点赞
发布博客于 5 年前

Ubuntu小知识(持续更新)

一、环境变量1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。 3、~/.bash_profile:在登录时用到的第三个文件是.bash_pr
原创
4435阅读
2评论
2点赞
发布博客于 5 年前

GPIO模拟I2C demo

#define SCK_TIME                  2#define ACK_TIME                  3#define START_TIME              5 static void i2c_start(void)  {      gpio_direction_output(SDA, 1);     gpio_dire
原创
1702阅读
0评论
1点赞
发布博客于 5 年前

Android4.4 以太网和DHCP启动过程介绍

Android4.4已经加入了以太网的支持。现在对以太网的初始化流程、网络策略配置、dhcp交互过程等做一些简单的介绍。一、以太网启动流程1. 创建ConnectivityService    SystemServer.java    // networkmanagement、networkStats、networkPolicy已经提前创建好,并作为参数传入    connec
原创
11749阅读
1评论
3点赞
发布博客于 5 年前

Android4.4 增加屏幕旋转功能

由于Android4.4系统上去掉了ro.sf.hwrotation属性的支持,因为不能使用之前的方法进行屏幕旋转了。暂时没有找到相应的属性和后门,于是自己写了一个屏幕旋转的临时代码,后面找到更好的方法后再替换。具体代码如下: ~/framework/native/services/surfaceflinger/DisplayDevice.cppuint32_t DisplayDevi
原创
4661阅读
27评论
2点赞
发布博客于 5 年前

Android4.4 系统移植问题备忘

最近在基于Linux kernel 3.14的版本移植Android4.4系统,移植过程中遇到了很多问题,现在记录一下做个备忘:1. init.rc无法解析    由于Android4.4系统加强了文件安全的管理,对于启动配置文件增加写保护机制,将所有的rc文件和prop文件的权限设为644就没这个问题了。 2. 控制台无法获取root权限    由于系统启动时,conso
原创
1952阅读
0评论
1点赞
发布博客于 5 年前

usb总线系统介绍

一、特性和运作模式1. USB标准的四个版本:(1)USB1.0版本:          USB总线协议的第一个版本。(2)USB1.1版本:          此版本普及了USB总线协议,大多数硬件都采用了该版本的标准。(3)USB2.0版本:          此版本提升了USB总线的最大传输数率,由USB1.1的12Mb/s提高到了480Mb/s。(4)USB
原创
2892阅读
0评论
1点赞
发布博客于 5 年前

Android系统性能优化备忘

1. 采用JNI调用时,将耗时间的处理放到c/c++层来处理。 2. 有些能用文件操作的,尽量采用文件操作,文件操作的速度比数据库的操作要快10倍左右。 3. 访问网络的耗时操作启动一个新线程来做,而不要再UI线程来做。 4. 如果方法用不到成员变量,可以把方法申明为static,性能会提高到15%到20%。 5. 慎用异常,异常对性能不利。只要有异常被抛出,VM就
原创
1338阅读
0评论
0点赞
发布博客于 5 年前

Android Service Manager分析

Service Manager是android系统服务的管理者。系统中运行的服务程序首先应向Service Manager注册。当一个进程需要使用某个service,该进程需要首先通过Service Manager获取所需service的信息。用户、service manager与service的关系如下图所示:  一、 ServiceManager主要功能的实现
原创
2677阅读
0评论
1点赞
发布博客于 5 年前

Android显示系统框架原理介绍

1. android显示系统整体框架      最上面一层为应用程序,根据数据类型以及应用的不同可以分为几种。       第一种是最普通的应用,如 UI 界面的显示,这部分通常数据类型为 RGB 格式,数据无须再经过特殊的处理。该应用可以说遍布各个应用程序,几乎是实时存在的。一般是通过Open GL渲染到framebuffer然后通过lcd显示输出。   
原创
8624阅读
3评论
9点赞
发布博客于 5 年前

ANDROID系统启动流程分析

一、启动流程介绍 1. 硬件启动流程        由图可知,系统开机时按照确定的复位时序启动,然后执行bootloader,进入内核初始化操作,当内核初始化完毕后,便运行linux的第一个应用程序,即android系统的init。 2. android init 流程分析          Init流程的关键点在于分析*.rc文件,
原创
1618阅读
1评论
1点赞
发布博客于 5 年前

SurfaceFlinger简介

1. SurfaceFlinger背景知识        SurfaceFlinger 是一个独立的Service, 它接收所有Window的Surface作为输入,根据ZOrder, 透明度,大小,位置等参数,计算出每个Surface在最终合成图像中的位置,然后交由HWComposer或OpenGL生成最终的显示Buffer, 然后显示到特定的显示设备上。下面首先介绍下相关概念:
原创
8618阅读
0评论
4点赞
发布博客于 5 年前

如何通过网络连接进行ADB调试

大家在使用adb调试android系统时可能会遇到麻烦,比如usb端口只有一个,如果用作adb调试,就不能通过usb连接其它器件,或者usb端口不能使用时也没法进行adb调试。Android较新的版本(4.0及以后)已经支持网络连接adb了,只需按照如下步骤进行设置就可以进行网络adb调试。 1. 确保目标板和主机连接在同一局域网里面2. 使用netcfg查看网络状态,如果
原创
14900阅读
0评论
1点赞
发布博客于 5 年前

ADB运行框架原理解析

最近在3.14的内核上移植ADB驱动,顺便分析了下adb的运行机制和框架结构。下面以一张图来进行分析:完整的数据处理流程:1:PC端adb server发送cmd到小机端2:adbd(adb daemon)的output thread从/dev/android_usb读取到cmd并解析   (adbd和内核usb driver通过/dev/android_u
原创
7708阅读
2评论
4点赞
发布博客于 5 年前

如何在安卓系统上使用arm-linux-gdb调试内核

现在很多安卓平台都没有把gdb调试工具编译进去,因此需要我们自己安装交叉编译环境下的gdb工具。具体实现只需几步即可:1. 下载最新的arm-linux-gdb源码包    下载地址:http://download.csdn.net/detail/wlwl0071986/9462063     此版本的arm-linux-gdb为7.11版本,目前为最新版本 2. 解压、编
原创
2265阅读
0评论
1点赞
发布博客于 5 年前

arm-linux-gdb(v7.11)

本版本工具为最新的arm-linux-gdb调试工具,版本号为7.11。解压后安装即可使用,非常方便。
gz
发布资源于 5 年前

基于Linux kernel 3.14版本移植安卓系统后触摸屏无法使用的问题

最近在自家的SOC上移植安卓系统,kernel版本使用3.14,android版本使用4.0.3。移植后发现触摸屏无法使用,而安卓输入子系统的源码是没有改过的。通过跟踪触摸屏上报事件的整个流程和机制发现,是因为触摸时间的时间格式和安卓系统使用的时间格式不兼容导致,由于上报的触摸事件时间戳太滞后,导致输入子系统没有及时收到应用程序的应答,导致系统产生了ANR。究其根本原因,发现是3.14
原创
1828阅读
0评论
1点赞
发布博客于 5 年前

Android本地层基础结构

1.本地层基础部分结构    Android软件系统中作为本地基础部分使用的,主要具有以下部分:    (1)C语言基础库:提供标准C库功能    (2)C语言工具库:Android特定的C语言工具    (3)init可执行程序:作为用户空间的第一个进程    (4)shell工具:提供用户调试功能    其中后三者均在Android源代码的system/core目录中,
原创
1433阅读
0评论
1点赞
发布博客于 5 年前

Android编译命令使用技巧

1. showcommands是一个有用的辅助目标,可以列出编译时详细执行的各个命令。    showcommands和编译目标结合使用,获得具体一个编译过程中执行的命令,然后可以在命令行单独运行这些命令。    例如,执行make installclean showcommands,会打印得到执行make installclean时需要执行的各个命令。2. 执行. build
原创
995阅读
0评论
1点赞
发布博客于 5 年前

安卓系统如何开启和关闭插入耳机时弹出的保护听力对话框

Android系统在4.2及以后的版本里面增加了耳机音量保护功能,当插入耳机且音量增大到一定级别时,会弹出“音量过大会伤害听力”的对话框,如果不想在增加音量时弹出此对话框,可以在代码里面做如下修改:1. 调用AudioService.disableSafeMediaVolume()关闭对话框,调用setSafeMediaVolumeEnabled()打开对话框;2. 直接在Audi
原创
7350阅读
0评论
1点赞
发布博客于 6 年前

全志A20平台实现VGA和HDMI双屏同显

1)sys_config.fex中配置如下:配置VGA 1024x768输出disp_init_enable = 1disp_mode = 0screen0_output_type = 4screen0_output_mode = 4screen1_output_type = 1screen1_output_mode = 42)请把s
原创
7148阅读
0评论
1点赞
发布博客于 6 年前

Android移植Launcher

Launcher1.Launcher概述Android系统启动后,加载的第一个程序就是Launcher应用。 Launcher的构成:HomeScreen(workspace(AppWidget、WallPaper、LiveFolder、ShortCut))、HotSeats、AllApps/AllApplist:GridView这是launcher的主界面,里面有一些应用
原创
2301阅读
0评论
1点赞
发布博客于 6 年前

安卓开机界面修改

1. android开机动画显示原理开机时,系统自动检测在/system/media/目录或/data/local/目录有没有bootanimation.zip文件。如果有,这按照bootanimation.zip里面的png排列顺序依次显示开机图片,开起来就是动画效果;否则按照android默认的方式显示开机动画。android开机动画叫源码位于frameworks/base/cmd
原创
1453阅读
0评论
1点赞
发布博客于 6 年前

Android systemUI移植

SystemUI在Android4.3或以前版本,SystemUI是分为Tablet和Phone两种不同代码文件的,在Android4.4已经整合了phone和tablet,统一为phone,只区分phone和tv。对于Phone来说SystemUI指的是:StatusBar(状态栏)、NavigationBar(导航栏)。启动后Phone界面上的信号,蓝牙标志,Wifi标志等等这些状态显
原创
3728阅读
0评论
2点赞
发布博客于 6 年前

安卓系统无法自动对时的问题

大家在使用Android系统的时候,可能会发现,在不插sim卡仅连wifi的情况下使用自动对时,可能很久都无法对时成功。现在给大家讲解下Android系统的自动对时功能。在分析引发此问题的原因之前,先来了解下网络对时的两个基本概念:(1)NITZ:NITZ(Network Identity and Time Zone)或网络标识和时区,是一种用于自动配置本地的时间和日期的机制,
原创
6203阅读
0评论
2点赞
发布博客于 6 年前

Android系统USB触摸屏配置方法

一、确认触摸屏是否能够正常工作一般的USB 接口免驱触摸屏均能免驱支持windows XP, windows 7, windows 8 等windows 家族的操作系统,所以在使用触摸屏搭建最终使用环境乊前可以使用windows家族系统测试触摸屏,确保触摸屏能够正常的工作(相当于来料检测)。接下来测试触摸屏能否支持当前的android 操作系统,假设当前的操作系统是原生的Android 操
原创
12064阅读
6评论
1点赞
发布博客于 6 年前

SELinex权限问题调试

SELinex调试 当SELinux处于enforcing模式下时某些程序的执行会失败,在这里总结此类问题的总体分析方法。1、首先排除DAC权限的问题,使用“ls –l”检查相关文件的属主和权限。如果DAC的权限许可,则就是SELinux的策略显式地拒绝了当前操作的执行。2、通过“setenforce 0”命令进入permissive模式(getenforce命令查看模式)
原创
1368阅读
0评论
1点赞
发布博客于 6 年前

内存泄露问题分析方法

本文介绍了内存泄露的定位方法,可以帮助Android系统的开发者定位一些常见的内存泄露问题。本文暂时只从工具的角度讲解了如何定位,后面会补充如何从代码的角度去分析和定位,并且加入内存管理的优化方法。
原创
8790阅读
0评论
3点赞
发布博客于 6 年前

Android双屏异显的工程代码

本工程代码描述了如何使用Android自带的API实现双屏异显的内容。
rar
发布资源于 6 年前

RC522数据手册中文版

本手册为RFID RC522数据手册的中文版,讲解很详细,希望对大家有用!
pdf
发布资源于 6 年前

Android实现双屏异显

主要类:Presentation、DisplayManager、Display1.如何获取设备上的屏幕?    DisplayManager  mDisplayManager;//屏幕管理类    Display[]  displays;//屏幕数组    mDisplayManager = (DisplayManager)context.getSystemServic
原创
21926阅读
62评论
11点赞
发布博客于 6 年前

RFID协议--ISO14443(中文版)

ISO/IEC14443识别卡无触点集成电路卡——邻近卡第一部分:物理特性1.范围      ISO/IEC14443的这一部分规定了邻近卡(PICC)的物理特性。它应用于在耦合设备附近操作的ID-1型识别卡。      ISO/IEC14443的这一部分应与正在制定的ISO/IEC14443后续部分关联使用。2.标准引用      下列标准中所包含的条文,通过在本标准
原创
25416阅读
4评论
14点赞
发布博客于 6 年前

RC522 NFC IC卡简介

一、主要指标l  容量为8K位EEPROMl  分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位l  每个扇区有独立的一组密码及访问控制l  每张卡有唯一序列号,为32位l  具有防冲突机制,支持多卡操作l  无电源,自带天线,内含加密控制逻辑和通讯逻辑电路l  数据保存期为10年,可改写10万次,读无限次l  工作温度:-20℃~50℃(湿度为90%
原创
6844阅读
1评论
2点赞
发布博客于 6 年前

Android插入物理键盘的同时显示软键盘

以下方法可以在插入物理键盘的同事,在显示屏上显示软键盘:修改base/services/input/EventHub.cpp文件中的函数:openDeviceLocked(......)在     // If the device isn'trecognized as something we handle, don't monitor it.
原创
2591阅读
0评论
1点赞
发布博客于 6 年前

Android wifi调试技巧

手动打开wifi,有时小机屏幕没有,或者不方便使用的情况下,要知道wifi是否ok,可以通过手工命令的方式来判断wifi是否功能正常有时不能确定wifi出异常(如打不开)时,是底层问题还是上层问题,可以用手工命令来打开判断如果能手动打开,那说明问题就出在上层,手动都打不开,那就要查驱动是否正常了1: iw工具的使用先需要push到小机中,修改权限后就可以直接命令调用
原创
3806阅读
0评论
1点赞
发布博客于 6 年前

串口编程--java层开发demo

package com.android.serialchat;import android.app.Activity;import android.content.Context;import android.hardware.SerialManager;import android.hardware.SerialPort;import android.os.Bundl
原创
2036阅读
2评论
1点赞
发布博客于 6 年前

串口编程--本地层开发demo

int serial_open(int port, int baud){int fd = -1;  int res = 0;   fd = open(uart[port], O_RDWR  | O_NOCTTY | O_NDELAY);  if (fd > 0)       {    fcntl(fd, F_SETFL, 0);   if (set_seri
原创
648阅读
0评论
1点赞
发布博客于 6 年前

Android java代码中如何执行shell命令

public void execCommand(String command) throws IOException {        Runtime runtime = Runtime.getRuntime();        Process proc = runtime.exec(command);        try {            if (proc.waitFo
原创
4228阅读
2评论
1点赞
发布博客于 6 年前

Android在设置里面添加新功能的方法

1./usr/smdt/self6000/android/packages/apps/Settings/res/xml/device_info_settings.xml中增加节点:        Preferenceandroid:key="build_number"               style="?android:preferenceInformationSt
原创
3338阅读
0评论
1点赞
发布博客于 6 年前

Android设置系统开机自动永不休眠

android4.2系统增永不休眠同时隐藏休眠选项1. android\frameworks\base\packages\SettingsProvider\res\values\defaults.xml中设置def_screen_off_timeout为-1,        -1 2. android\packages\apps\Settings\res\values\arrays
原创
14239阅读
10评论
4点赞
发布博客于 6 年前

Android系统修改时间格式为24小时制

1. frameworks/base/packages/SettingsProvider/res/values/defaults.xml        增加12   //24小时制的话改为24即可 2. frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.
原创
5286阅读
0评论
2点赞
发布博客于 6 年前

Android系统默认输入法的修改

1.  frameworks\base\packages\SettingsProvider\res\values\defaults.xml 文件中修改默认输入法为搜狗输入法com.sohu.inputmethod.sogou/.SogouIMEcom.sohu.inputmethod.sogou/.SogouIME 2.  frameworks\base\packages\
原创
9146阅读
12评论
1点赞
发布博客于 6 年前

Linux查找指定目录最新修改文件的命令

1. 查找30分钟内最新修改过的文件find ./ -mmin -30 -type f | head -12. 查找30分钟内最早修改过的文件find ./ -mmin -30 -type f |tail -13. 查找24小时内最新修改过的文件find ./ -mtime 0 -type f | head -14. 查找48小时~24小
原创
8397阅读
0评论
1点赞
发布博客于 6 年前

Android安全机制介绍

Android的安全机制包括以下几个方面:    •进程沙箱隔离机制。    •应用程序签名机制。    •权限声明机制。    •访问控制机制。    •进程通信机制。    •内存管理机制。    •SELinux一、进程沙箱隔离机制        Android应用程序在安装时被赋予独特的用户标识(UID
原创
4765阅读
0评论
3点赞
发布博客于 6 年前

全志平台linux启动流程分析

一、BROM阶段       机器上电之后会执行固化在BROM里面的一段引导程序,这个程序会依次遍历所有支持的启动介质,直到找到第一个支持的。目前支持的启动介质是sd/mmc卡、nand和spinor。当程序初始化启动介质成功后,就从固定位置读入Bootloader的Boot0到SRAM,然后跳到SRAM执行。       下面展示了BROM的执行流程二、Boo
原创
12019阅读
0评论
10点赞
发布博客于 6 年前

ubuntu安装备忘录

一、升级和回退内核1. 安装ubuntu     android开发环境建议使用稳定的内核版本,建议安装ubuntu12.042. 升级内核版本     由于ubuntu12.04很容易出现卡死现象,建议升级内核到kernel 3.5     使用如下命令升级即可:     apt-get install linux-generic-lts-quantal xserver-
原创
2524阅读
0评论
1点赞
发布博客于 6 年前

rtl8188eu无线网卡驱动(linux-kernel3.2)

适用操作系统:linux kernel 3.2,rtl8188eu的无线网卡驱动
zip
发布资源于 6 年前

rtl8188eu无线网卡驱动

Linux下的rtl8188eu无线网卡驱动,支持linux kernel3.5
gz
发布资源于 6 年前

Android应用程序无法读写USB设备的解决方法

如果android系统中的API或者apk无法读写usb设备,可能是没有添加读写usb的权限,需要按照如下方法进行设置:1. 在android.hardware.usb.host.xml文件中添加如下内容            name="android.hardware.usb.host"/>    2. 在tablet_core_hardware.xml文
原创
3777阅读
0评论
1点赞
发布博客于 6 年前

智能电源管理技术--原理简介

一、专业术语         1. LDO(Low Dropout Regulator)             低压差线性稳压器             优点:稳定性好,负载响应快,输出纹波小              缺点:效率低,输入输出的电压差不能太大         2. DC-DC(Direct Current to Direct Current)
原创
4266阅读
0评论
0点赞
发布博客于 6 年前

无线充电技术介绍

一、概述1. 什么是无线充电            无线充电技术,源于无线电力输送技术。无线充电,又称作感应充电、非接触式感应充电,是利用近场感     应,也就是电感耦合,由供电设备(充电器)将能量传送至用电的装置,该装置使用接收到的能量对电池充电,     并同时供其本身运作之用。由于充电器与用电装置之间以电感耦合传送能量,两者之间不用电线连接,因此充电     器及用电的
原创
6487阅读
0评论
6点赞
发布博客于 6 年前

Battery Charging Specification 1.2 中文详解

1. Introduction     1.1 Scope                        规范定义了设备通过USB端口充电的检测、控制和报告机制,这些机制是USB2.0规范的扩展,用于专用            充电器(DCP)、主机(SDP)、hub(SDP)和CDP(大电流充电端口)对设备的充电和power up。这些机制适用            于兼容U
转载
31417阅读
4评论
9点赞
发布博客于 6 年前

Linux Runtime PM介绍

一、Runtime PM引言1. 背景(1)display的需求(2)系统整机动态功耗优化的需求(3)upstream2. 解决方案(1)引入debounce(2)使用统一的workqueue来管理任务(3)实时地关闭不需要工作的device(4)当device作为parent时,所有的child不工作时,关闭该device(5)引入pm_rutim
原创
13697阅读
3评论
5点赞
发布博客于 6 年前

安全系统简介

一、概述1. 目的(1)所有权只能运行OEM或其授权的固件(2)完整性静态完整性:完整性检测动态完整性:封闭的软硬件环境(3)保密性非授权内容不可窥视(4)可靠性数据来源可验证数据来源可以追溯(5)不可回退性单向版本升级2. 基础部件(1)Hash算法计算信息的特征值,具有不可逆和表征性(2)加密算法对称加密:加解密同
原创
1308阅读
0评论
2点赞
发布博客于 6 年前

earlysuspend、autosleep以及wakeup_count三种休眠机制的分析和比较

本文概要的介绍了earlysuspend、autosleep和wakeup_count三种机制的原理以及优缺点,对这三种机制做了详细的比较,并分析了引入wakeup_count机制的原因。
原创
8437阅读
3评论
7点赞
发布博客于 6 年前

LCD主流显示接口介绍

一、RGB接口(1)接口定义RGB颜色是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。(2)接口类型a. Parallel RGBb. Serial RGB(3)接口特点a. 接口
原创
12094阅读
2评论
11点赞
发布博客于 6 年前

repo和git使用技巧

本文介绍了repo和git的常用命令,文中的一些命令非常实用,在工作中会经常用到。暂时只收录了一部分,以后会不断完善,把使用频率较高的命令汇总到一起。希望能对读者有所帮助,也希望读者也能提出一些建议。
原创
8057阅读
0评论
1点赞
发布博客于 7 年前

android设置鼠标速度

方法一:    在android/jni/com_android_server_input_InputManagerService.cpp的276行,初始化InputManager对象的时候可以设置鼠标的速度,mLocked.pointerSpeed = 0;//范围是-7到7,默认是0,-7最慢,7最快。方法二:    在apk里面设置鼠标速度,调用InputManage
原创
5826阅读
5评论
4点赞
发布博客于 7 年前

NAND FLash基础概念介绍

本文详细介绍了NAND的基础概念,从NAND的硬件接口、存储结构以及原理方面,对NAND进行了深入的阐述。希望读者看完后,对NAND的存储结构和原理有了更深刻的认识。欢迎大家一起来交流,谢谢!
原创
26978阅读
4评论
9点赞
发布博客于 7 年前

GNU GPL介绍

本文介绍了GNU许可证、GPL的历史、版本以及详细条件,相信读者看了本文后对GNU GPL会有更深的认识。
原创
6128阅读
0评论
4点赞
发布博客于 7 年前

Apache介绍

本文介绍了Apache的协议、发展历史以及包含的项目。
原创
1778阅读
0评论
1点赞
发布博客于 7 年前

BSD介绍

本文介绍了BSD的模板、特点以及发展历史,希望读者对BSD的发展有个初步的认识。
原创
2316阅读
0评论
1点赞
发布博客于 7 年前

快速充电技术介绍

本文介绍了锂电池的发展历史、充电原理和市场上主流的快速充电技术。通过剖析充电的技术原理来分析提高充电效率的方法,再列举了两个不同原理的快速充电的方法。
原创
11808阅读
0评论
9点赞
发布博客于 7 年前

Android4.4电池管理

一、概述       Android4.4的电池管理功能用于管理电池的充、放电功能。整个电池管理的部分包括Linux电池驱动、Android电池服务、电池属性和参数、电池曲线优化四个部分。       Linux电池驱动用于和PMIC交互、负责监听电池产生的相关事件,例如低电报警、电量发生变化、高温报警、USB插拔等等。       Android电池服务,用来监听内核上报的电池事件,
原创
11530阅读
0评论
16点赞
发布博客于 7 年前

锂电池的六个主要参数

1、电池容量  电池的容量由电池内活性物质的数量决定,通常用毫安时mAh或者 Ah表示。例如1000 mAh就是能以1 A的电流放电1 h换算为所含电荷量大约为3600 C。   2、标称电压  电池正负极之间的电势差称为电池的标称电压。标称电压由极板材料的电极电位和内部电解液的浓度决定。锂电放电图,是呈抛物线的,4.3V降到3.7V和3.7V降到3.0V,都是变化很快的。惟有
原创
21107阅读
0评论
13点赞
发布博客于 7 年前

Android怎样在Framework层使用解锁代码

import android.app.KeyguardManager;import android.app.KeyguardManager.KeyguardLock;import com.android.server.wm.WindowManagerService;   KeyguardManager keyguardManager = (KeyguardManager)mCont
原创
1795阅读
0评论
3点赞
发布博客于 7 年前

高通平台debug工具介绍

高通平台常用debug工具介绍,里面有详细的操作步骤
docx
发布资源于 7 年前

Android NFC介绍

本文对NFC的一些基本概率作了详细的描述,并介绍了NFC的初始化和启动流程
原创
2073阅读
1评论
4点赞
发布博客于 7 年前

Android触摸屏失效后的操作方法

大家在开发Android项目时,可能会遇到触摸屏失效的情况。通常情况下,触摸屏失效可能是软件问题,也可能是硬件问题。如果你想急着验证某个问题,但又不想去重新下载新版本软件,或者不想去换个TP模组,那么以下一些使用技巧会对你有帮助
原创
9799阅读
7评论
5点赞
发布博客于 8 年前

Android怎样绕开Camera打开手电筒的LED

Android原生系统没有提供手电筒的API,很多手电筒的apk都是通过打开camera然后调用Flash来打开LED。 这种传统的做法有很多弊端,首先通过camera打开手电筒,会增加因为camera出粗而导致手电筒异常的风险;其次,因为要先打开camera,然后打开Flash,因此会额外增加很多功耗。因此理想的解决方法是,在HAL层和JNI层封装出手电筒的接口,上层应用直接调用手电筒的API打开LED。
原创
8389阅读
19评论
9点赞
发布博客于 8 年前

Android Input设备debug技巧

一、驱动层        检查是否有点上报        adb shell getevent -l /dev/input/eventX        检查input设备支持的属性值        adb shell getevent -i /dev/input/eventX二、Native层        检查驱动上报的点是否被InputReade
原创
4568阅读
5评论
9点赞
发布博客于 8 年前

Android kernel Crash后,定位出错点的方法

1. 将/prebuild/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gdb 拷贝到/usr/local/bin下2. 进入out/target/product/工程名xxx/obj/KERNEL_OBJ 目录,找到文件vmlinux3. 执行arm-linux-android
原创
4153阅读
0评论
6点赞
发布博客于 8 年前

Android各代码层获取系统时间的方法

1. 在java层,long now = SystemClock.uptimeMillis();2. 在native层,nsecs_t now = systemTime(SYSTEM_TIME_MONOTONIC);3. 在驱动层,s64 time = ktime_to_us(ktime_get());
原创
7103阅读
0评论
7点赞
发布博客于 8 年前

Linux测量kernel子模块加载时间的方法

1. 在文件kernel/init/main.c里面,在接口do_one_initcall( )中,将initcall_debug设置为true,然后编译boot.img2. 使用adb shell cat /proc/kmsg | grep initcall 来查看模块加载时间
原创
1970阅读
0评论
8点赞
发布博客于 8 年前

Android怎样使用系统属性

1. 在system.prop里面添加需要使用的系统属性,添加完后需要编译生成system.img2. 在native层,使用property_set(...)和property_get(...)来存取系统属性3. 在java层, 使用SystemProperties.set(...)和SystemProperties.get(...)来存取系统属性4. 在ad
原创
1715阅读
0评论
6点赞
发布博客于 8 年前

Android AutoSleep休眠机制

原创
9549阅读
1评论
6点赞
发布博客于 8 年前

指纹识别在智能手机上的应用前景分析

原创
2288阅读
0评论
9点赞
发布博客于 8 年前

HALL开关介绍

一、HALL开关原理及手机应用                手机中用来控制线路通断的器件主要有三种类型:开关、干簧管和霍尔元件。不同的是开关一般是由人工         手动控制,而干簧管和霍尔元件则通过磁信号来控制线路的通与断。霍尔(HALL)传感器是一种电子元件,其         外型封装和三极管非常相象。它是由HALL元件,放大器、施密特电路以及集电极开路输出三极管组成,
原创
9674阅读
6评论
9点赞
发布博客于 8 年前