10 天才2012

尚未进行身份认证

我要认证

天生我‘才’必有用

等级
TA的排名 3k+

记录下在csdn那些年里所使用的博客座右铭

2016,认认真真做事,脚踏实地生活。路漫漫,意不变,求静,求心,求进。

2017-01-04 21:58:25

linux驱动开发经验逐步积累2

注:笔记多少会有问题,多多包涵。只是作为一个记录而已1. cdev_add的核心思想cdev_add允许添加一个字符设备到内核,其核心是kobj_map,也可以添加一个字符设备集合,他可以包含count个连续的子设备号,此时dev_t dev为该字符设备集的base设备号,如cdev_add(cdev, 81, 256)。int cdev_add(struct cdev *p, dev_t dev

2016-08-31 21:42:17

android编译时如何决定一个APK等Module是否被自动编译到system.img中

android在全局执行make时,编译目标的一个入口files是依赖于modules_to_install的 818 .PHONY: files 819 files: prebuilt \ 820         $(modules_to_install) \ 821         $(INSTALLED_ANDROID_INFO_TXT_TARGET)而modules_to_instal

2016-06-28 19:47:00

绝命中的一助linux程序加载器ld-linux.so中的LD_PRELOAD预加载库

偶然错误的将linux系统中的libc.so.6链接删除,导致busybox所有cmd命令失效,报load library error.最终的解决方法是采用预加载库的方式来解决这个问题:LD_PRELOAD=/lib/libc-2.6.1.so ln -s /lib/libc-2.6.1.so libc.so.6根据shell/exec加载elf程序的原理,是先解析ELF,定位并加载ld-li

2016-06-01 14:42:52

Android Logcat输出为何能自动换行输出的原因以及多\n的作用

1. Android Logcat的是建立在Android的日志系统之上的,日志系统包括内核驱动模块Logger(drivers/staging/android)和liblog.so(源码位于/system/core/liblog下),liblog.so主要提供日志数据的写入与读取接口,向下负责操作底层log驱动,向上一是提供ALOG功能给Native C与java提供log写入,另一方面是提供给

2016-05-13 17:35:15

PRODUCT_COPY_FILES的深入理解,为何不能在Android.mk使用

PRODUCT_COPY_FILES本质是和定义产品的AndroidProducts.mk(get-all-product-makefiles来获取系统中所有AndroidProducts.mk 文件路径)联系在一起,这个文件内部会定义所属的产品的PRODUCT_MAKEFILES,该变量可定义多个xxx.mk产品相关定义文件,在编译初始化环境时会将其include进来。如同PRODUCT_NAM

2016-04-18 19:33:24

AS import工程出现Gradle sync failed: Gradle version 2.2 is required. Current version is 2.10

原因在于SDK的版本默认导入工程时使用的Gradle是2.10版本,位于:D:\android-studio\gradle而导入的工程由于版本比较低,使用到的gradle还是2.2的版本,故出现sync失败,采用的方式是修改当前打开工程后FIle->setting->Builde,Execution后修改当前的local gradle的Grable home.由于工程是使用到2.2的版本,其会自动

2016-03-30 17:13:21

Linux驱动开发盲点笔记1

1. vim中在找到搜索目标后,使用n与N进行定位查找2. vim中使用gg到最好第一行,使用xxxG到某一行,否则G直接到最后一行;3. ln -s 产生的链接文件最终指向的目标文件src 新产生的当前软链接文件dst。ln -s project(磁盘上实际存在的文件或者目录) a.lnkln -s src dst(新产生的文件dst,dst链接到src)symlink功能类似4 tar -cz

2016-02-05 18:32:07

写给我的2015—开启工作新旅程

前沿:    2015年的总结相比2014年来的晚了许多,原因一方面是今年呀的发现CSDN竟然没有了前两年写年终的活动,另一方面嘛还是自己太懒散了,一直恍恍惚惚的没有下手来总结。今天,在这小年夜里(ps:外面下完雪挺冷的),独自一个人坐在办公桌前,静下心,记录下消逝的2015,再不总结就是大年30啦。返回到2014年写下的些许愿望,有些逐渐的在实现了而有些依旧需要更努力。   过去的2015,一半

2016-02-01 23:53:54

论dts中的of_platform_populate如何选择性加载device node为platform device

1.  在比较新的linux内核中,设备树dts已经取代了传统的machine board device description,dts在内核中以各种device node的形式存在,而这些device node对于大部分的内核驱动模块platform_driver来说,最终需要有对应的platform device来与他匹配才可以完成一次device和driver的probe过程。所有有必要将d

2016-01-21 14:26:13

Android.mk中LOCAL_MODULE_CLASS对LOCAL_MODULE_PATH 的影响

LOCAL_MODULE_CLASS用于制定LOCAL_MODULE_PATH的路径所在。如果在Android.mk没有直接明确LOCAL_MODULE_PATH 的话,需要通过以下规则来自动生成base_rules.mk:154 LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH))155 ifeq ($(LOCAL_MODULE_PATH),)

2015-12-21 10:36:15

Android系统编译环境初始化时Product产品的import-nodes过程

从执行make -f config,mk文件开始,config,mk作为当前的makefile文件,将会被make解析,一般make解析Makefile文件流程首先是加载其中include的各种其他mk文件,同时在加载的过程中会初始化自定义的变量,类似于预编译,在完成各种初始化后,确定目标以及依赖关系,最终执行目标输出动作。在config.mk中存在多个需要include的mk文件,这里关注pro

2015-12-18 22:14:49

Android集成一个新产品时,lunch的product name和device name注意事项

Android系统lunch一个当前的Product大概流程包含以下几个部分:1. lunch确定TARGET_PRODUCT,一般位于vendor/device/build/target/product中的vendorsetup.sh脚本来定义分别有user/eng/userdebug。2. 开发check product的合理性。通过加载vendor/device/build/target/p

2015-12-17 16:56:22

linux V4L2驱动中新旧版本下video buffer alloc与mmap的处理区别

首先需要说明目前在比较新的内核中已经采用了vb2_queue与vb2_buffer来替代旧版本内核中经常使用到的videobuf_queue与videobuf_buffer。两者主要用于对用户层申请VIDIOC_REQBUF时的使用。从用户层Request的Memory的类型区分,典型的两种是:V4L2_MEMORY_USERPTR以及V4L2_MEMORY_MMAP,前者的内存主动权位于用户层,

2015-11-25 18:45:51

putty绕过ssh认证方式来保存密码

考虑到远程服务器ssh服务没有开启SSH互相认证的方式,故这里通过Putty自带的session功能来建立一个和远程的链接方式,此外为了不每次都输入密码,在window建立putty的快捷方式后,添加如下的命令。-load putty上建立并登录成功后saved了的session名字 -ssh -l 用户名 -pw 密码上述过程其他不需要“”即可不需要再输入密码完成登录。

2015-11-24 21:33:20

Android Camera API2中采用CameraMetadata用于从APP到HAL的参数交互

本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:gzzaigcn2009@163.comSoftware:系统源码Android5.1

2015-10-29 18:18:32

Android Camera API2.0下全新的Camera FW/HAL架构简述

本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:gzzaigcn2009@163.comSoftware:系统源码Android5.1前沿:        前面博文大多少总结的是Camera HAL1到HAL3的系统架构,但这些架构对于Camera APP开发来说依旧还是处于Camera API1.0的标准。而随着Camera3、HAL3

2015-10-28 16:21:05

Android API Level最新版本到6.0Platform Codenames, Versions, API Levels, and NDK Releases

http://source.android.com/source/build-numbers.html#platform-code-names-versions-api-levels-and-ndk-releasesCode nameVersionAPI levelMarshmallow6.0API level 23Lollipop5.1API level 22Lollipop5.0API lev

2015-10-23 09:39:56

Android Camera HAL3中拍照Capture模式下多模块间的交互与帧Result与帧数据回调

本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:gzzaigcn2009@163.comSoftware:系统源码Android5.1前沿:    之前的两篇博文算是比较详细的记录了整个Camera3 HAL3架构下完全不同于HAL1的preview预览处理过程,包括主要涉及到的控制流和视频流等。比较详细的阐述了Camera2Client

2015-10-21 18:17:03

记录几个C++多继承中,this指针与多虚表间编译与处理的疑问,看编译器的行为。

简单无理的的测试代码:#include #include using namespace std;class A{public: int x; int y;public: A(){ cout<<"构造函数A传入的this指针得值是:"<<std::hex<<std::showbase<<this<<endl;}

2015-10-19 14:58:31

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!