自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android Shared libraries and Static libraries

With Android NDK, it is possible to produce shared libraries (also called dynamic libraries,like DLL on Windows) as well as static libraries: Shared libraries are a piece of executable loaded on dema...

2018-06-11 17:51:26 1127

转载 Oops Messages

Oops Messages  Oops 消息    Most bugs show themselves in NULL pointer dereferences or by the use of other incorrect pointer values. The usual outcome of such bugs is an oops message.

2017-08-29 10:47:03 412

原创 ubuntu 开关机记录

cd /vas/loglast -f wtmp.l

2017-02-07 12:51:49 13262

原创 input touch.deviceType 选择

String8 deviceTypeString;    if (getDevice()->getConfiguration().tryGetProperty(String8("touch.deviceType"),            deviceTypeString)) {        if (deviceTypeString == "touchScreen") {    

2017-02-06 16:23:30 1535

原创 audio hal HAL_MODULE_INFO_SYM define and load

audio_hw.cstatic struct hw_module_methods_t hal_module_methods = {    .open = adev_open,};struct audio_module HAL_MODULE_INFO_SYM = {    .common = {        .tag = HARDWARE_MODULE_TAG,

2017-01-12 16:08:27 774

转载 A Guide to Debugging Android Binaries

In this paper, I’ll describe how to start reverse code engineering in Android devices. In this tutorial, you’ll learn:Installation & configuration of Android Virtual Device.How to build your debug

2016-11-24 15:21:30 526

转载 Analyzing Linux kernel crash dumps with crash - The one tutorial that has it all

Finally, the big moment has come. Reading the information displayed by the crash utility, understanding what those curious lines mean and hacking your way through the problem to the other side.We

2016-11-24 10:56:35 773

转载 使用qemu和kgdb调试内核

1.配置内核        CONFIG_KGDB=y        CONFIG_DEBUG_INFO=y        CONFIG_DEBUG_BUGVERBOSE=y        CONFIG_FRAME_POINTER=y        CONFIG_KGDB_SERIAL_CONSOLE=y2.运行qemu (以versatilepb机器为例)qemu-s

2016-11-15 10:52:11 864

转载 使用gdbserver调试arm应用程序

1.下载gdbserver   gdbserver的源代码在gdb的源代码包中  ftp://sourceware.org/pub/gdb/releases/gdb-6.8.tar.bz22.准备toolchain  使用codesoucery的toolchain  http://www.codesourcery.com/sgpp/lite/arm/portal/p

2016-11-15 10:50:38 495

转载 pinctrl 文档

== Introduction ==Hardware modules that control pin multiplexing or configuration parameters such as pull-up/down, tri-state, drive-strength etc are designated as pin controllers. Each pin controlle

2016-10-10 10:49:04 621

转载 linux pinctrl 文档

== Introduction ==Hardware modules that control pin multiplexing or configuration parameters such as pull-up/down, tri-state, drive-strength etc are designated as pin controllers. Each pin controlle

2016-10-10 10:48:08 411

原创 高通wcd codec speaker 通路的测试命令

tinymix 'SLIM RX0 MUX' 'AIF_MIX1_PB'&&tinymix 'SLIM RX1 MUX' 'AIF_MIX1_PB'&&tinymix 'SLIM_0_RX Channels' 'Two'&&tinymix 'RX INT3_2 MUX' 'RX0'&&tinymix 'RX INT4_2 MUX' 'RX1'&&tinymix 'SLIMBUS

2016-09-28 13:04:22 1959

转载 Android binder

原文链接Android binder(S)A key part of Android is the Binder mechanism.A bit of history/backgroundThe Android binder mechanism was originally based on the OpenBinder project. As you can read

2016-09-21 13:10:20 376

转载 NULL指针、零指针、野指针

NULL指针、零指针、野指针1. 空指针、NULL指针、零指针1.1什么是空指针常量0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值)。至于系统选取哪种形式作为空

2016-05-06 16:16:05 331

原创 Oops-tracing

kernel/documentation/Oops-tracing.txt

2016-04-27 14:21:28 318

转载 gcc中函数或者变量的weak属性

gcc reference里提到:A function with this attribute has its name emitted as a weaksymbol instead of a global name. This is primarily for the namingof library routines that can be overridden by use

2015-08-14 16:03:09 1268

转载 什么是premultiplied alpha

是像素深度,像素深度是指存储每个像素所用的位数,它也是用来度量图像的分辨率。像素深度决定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。例如,一幅彩色图像的每个像素用R,G,B三个分量表示,若每个分量用8位,那么一个像素共用24位表示,就说像素的深度为24,每个像素可以是16 777 216(2的24次方)种颜色中的一种。在这个意义上,往往把像素深度说成是图像深度。表

2015-05-20 16:16:08 633

转载 关于openGL, openGL ES, openVG

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于生成二维、三维图像。这个接口由近三百五十个不同的函数调用组成,用来从简单的图元绘制复杂的三维景象。主要用于pc和工作站。OpenVG是针对诸如Flash和SVG的矢量图形算法库提供底层硬件加速界面的免授权费、跨平台应用程序接口API。也是由OpenGL的拥有者khronos

2015-03-30 16:52:25 1927

转载 Linux 下的段错误产生 的原因及调试方法

Linux 下的段错误产生 的原因及调试方法简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问 0 地址.一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由 gdtr 来保存的,他是一个 48 位的寄存器,其中的 32 位是保存由它 指向的 gdt 表,后13 位保存相应于 gdt 的

2014-12-08 15:17:23 439

转载 代码中特殊的注释技术——TODO、FIXME和XXX的用处

本文内容概要: 代码中特殊的注释技术——TODO、FIXME和XXX的用处。前言:今天在阅读Qt Creator的源代码时,发现一些注释中有FIXME英文单词,用英文词典居然查不到其意义!实际上,在阅读一些开源代码时,我们常会碰到诸如:TODO、FIXME和XXX的单词,它们是有其特殊含义的。、TODO: + 说明:如果代码中有该标识,说明在标识处有功能代码待编写,

2014-10-15 11:26:12 424

转载 MTK 平台LCD 驱动的整个过程的讲解

MTK_LCD_Driver代码的路是在/mediatek/source/kernel/driver/vedio/mtkfb.cmodule_init(mtkfb_init);模块初始化函数int__init mtkfb_init(void){int r = 0;MSG_FUNC_ENTER();/* Register

2014-09-17 11:28:18 801

转载 MT6573_android_LCD_backlight_Driver

一、 与 LCD 驱动相关的主要文件路径 \mediatek\platform\mt6573\uboot\mt6573_disp_drv.c \mediatek\platform\mt6573\uboot\mt6573_disp_drv_dpi.c \mediatek\platform\mt6573\uboot \mt6573_disp_drv_dbi.c \mediatek\platform\m

2014-09-10 15:28:15 942

转载 Linux加载DTS设备节点的过程(以高通8974平台为例)

DTS是Device Tree Source的缩写,用来描述设备的硬件细节。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,相当多数的代码只是在描述板级细节,而这些板级细节对于内核来讲,不过是垃圾,如板上的platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的pla

2014-08-25 11:15:24 703

转载 LCD驱动及Framebuffer相关

内容提要:1. android display相关的名词2. 调试LCD驱动需要注意的步骤3. 关于帧缓冲区及I/O内存------------------------------------------------------------------------------------------1.名词解释GPU:Graphic Processing Unit (图

2014-08-22 16:58:50 856

转载 Makefile 中:= ?= += =的区别

makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。Makefile基本教程,参考文档:http

2014-08-20 10:25:31 495

转载 Makefile详解(四)-使用条件判断及函数

使用条件判断使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式 可以是比较变量的值,或是比较变量和常量的值。 一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnu normal_libs = foo: $(objects) ifeq ($(CC),gcc)

2014-08-20 10:14:00 548

转载 Android.mk简介

Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译。因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的。因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义。一个Android.mk文件可以编译多个模块,每个模块属下列类型之一:1)APK程序一般的Android程

2014-08-19 16:54:54 360

转载 linux驱动的入口函数module_init的加载和释放

像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件:#include #include #include 其中,init.h 定义了驱动的初始化和退出相关的函数,kernel.h 定义了经常用到的函数原型及宏定义,module.h 定义了内核模块相关的函数、变量及宏。几乎每个linux驱动都有个m

2014-08-19 12:23:04 446

转载 快来DIY自己的固件吧——N系列固件DIY详细教程(7.27更新RK2918)

我们为什么要DIY固件?DIY固件的好处是什么?通过DIY固件,我们可以打造自己专属的安卓界面,可以使你的智能机安装更多的程序,支持更多的应用,充分发挥你手中机器的智能所在!还等什么,快随探花来玩转固件,享受DIY的乐趣吧!注:本文以RK28(N3 N5系列)为主进行讲解,RK2918系列(N10、N50等)大体相同,可参考!本篇需要用到的工具:1,DIY固

2014-08-14 14:19:16 5038 2

转载 Ubuntu下adb 显示insufficient permissions for device

一、工具介绍android-sdk-linux_x86/tools下有一堆工具,今天要用的是:Android Debug Bridge,在android开发过程中,这个工具是使用得最多的。(缩写adb,有点像gcc的gdb似的)  adb start-server – 实际上它会启动一个 adb fork-server server  adb kill-server – kill掉

2014-08-14 13:45:56 465

转载 Android display架构分析

高通7系列硬件架构分析如上图,高通7系列 Display的硬件部分主要由下面几个部分组成: A、MDP高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RGB,放大缩小、旋转等。MDP内部的MDP DMA负责数据从DDR到MDDI Host的传输(可以完成RGB之间的转换,如RGB565转成RGB666,这个转换工能载目前的code 中没有使用

2014-07-22 15:26:07 673

转载 Linux中数据类型

当Linux内核在体系结构差异较大的平台之间移植时,会产生与数据类型相关的问题。.在编译内核时使用 -Wall  -W strict-prototypes 选项, 可以避免很多错误的发生.内核使用的基本数据类型主要有:     int           标准C语言整数类型     u32         32位整数类型     pid_t       特定内核对象pi

2014-07-18 11:06:06 707

转载 C代码优化方案

C代码优化方案目录C代码优化方案__ 4 1、选择合适的算法和数据结构__ 4 2、使用尽量小的数据类型__ 5 3、减少运算的强度__ 5 (1)、查表(游戏程序员必修课)_ 5 (2)、求余运算__ 6 (3)、平方运算__ 6 (4)、用移位实现乘除法运算__ 6 (5)、避免不必要的整数除法__ 8 (6)、使用增量和减量操作符__ 8

2014-07-17 17:32:56 559

转载 关键字static的作用 (转)

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函

2014-07-08 11:58:26 283

空空如也

空空如也

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

TA关注的人

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