自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天才之嵌入式

2018,希望有个家

  • 博客(207)
  • 资源 (40)
  • 收藏
  • 关注

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

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

2016-02-01 23:53:54 4041 8

原创 写给我的2014——也写给我即将逝去的研究生生涯

写给我的2014——也写给我即将逝去的研究生生涯

2015-01-16 11:00:44 4821 13

原创 我的一路走来@电子信息工程和嵌入式该怎么入门

嵌入式该怎么学,嵌入式从何学起,嵌入式入门需不需要报培训机构,哪个培训机构好点?.还有一些是咨询电子信息工程专业的情况等等?这些问题几乎每天都在我的”嵌入式的世界“百度知道团队会遇到和看到的一些问题,归根结底是咨询嵌入式该如何入门,电子信息工程专业如何等?

2014-04-11 22:29:32 7651 5

原创 写给我的2013

前沿:代码看的累了,在新的一年终于可以找点时间来回忆我的2013。想着要写点什么,可是又没有什么可以写。因为回忆无非就是夹杂着些许痛苦与欢乐。

2014-01-03 23:18:47 8266 21

原创 Android5.0+ Camera专栏终结

谨以此文于2021/5/24日结束整个Android Camera专栏,术业有专攻,谢谢大家。

2021-05-24 16:43:10 589 2

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

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

2017-01-04 21:58:25 2481 3

原创 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 3064

原创 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 8379

原创 绝命中的一助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 5589

原创 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 10674

原创 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 21842

原创 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 6650

原创 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 4015

原创 论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 9825

原创 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 28464

原创 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 4122

原创 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 6407 2

原创 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 5427

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

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

2015-11-24 21:33:20 3640

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

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

2015-10-29 18:18:32 18864 15

原创 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 11477 5

原创 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 3963

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

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

2015-10-21 18:17:03 12152

原创 记录几个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 4293

原创 Android Camera HAL3中预览preview模式下的数据流

本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:gzzaigcn2009@163.comSoftware:系统源码Android5.1前沿:    为了更好的梳理preview下buffer数据流的操作过程,前一文中对surface下的buffer相关的操作架构进行了描述。本文主要以此为基础,重点分析再Camera2Client和Came

2015-10-12 18:12:33 17913 1

原创 Android5.1中surface和CpuConsumer下生产者和消费者间的处理框架简述

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

2015-10-12 10:44:59 11235

原创 Android Camera HAL3中预览preview模式下的控制流

Android Camera HAL3中预览preview模式下的控制流

2015-10-10 16:07:39 16127 4

原创 Android Camera从Camera HAL1到Camera HAL3的过渡(已更新到Android6.0 HAL3.3)

本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:gzzaigcn2009@163.comSoftware:Android5.11. Android系统中Camera模块的历史演变进度/**

2015-10-09 11:05:33 21641 6

原创 我心依旧之Android Camera模块FW/HAL3探学序

前沿:    目前对于Android Camera软硬件技术发展的主流方向是高像素、高帧率、多摄像头、超强的ISP以及各种视频图形处理算法等等。当前主流的Android系统中较为常见的Camera模块还均是采用HAL1.0的架构,但随着主处理器CPU/GPU/DDR/ISP/Sensor等硬件自身性能的不断提高,在复杂化软件架构的同时,可以为一些Camera应用增加新的用户功能且不会丢失原先的性能

2015-10-08 16:39:42 8637 1

原创 android HAL接口的编码小结

定义一个modulestruct xxx_module_t  {     hw_module_t common;     xxx,这里的主要是一些在未open时就可以操作该模块的ops接口,有时候可以不填充}struct xxx_mdoule HAL_MODULE_INFO_SYM ={     填充该结构体,以填充hw_module_t为主}//所有的hal模块的名字都一样,该结构在编译时会转为

2015-09-25 20:06:14 2863 5

原创 基于linux自动创建设备节点而引入的疑问

1. 自动创建设备节点时mknod做了哪些事情?mknod会在内部自动创建一个inode,代表设备文件节点的物理磁盘属性,该inode存在于devtmpfs或者tmpfs等ramfs文件系统中,inode会记录下建立时传入的设备文件节点char/block等类型以及相应的设备号等信息,通过父目录的ramfs_dir_inode_operations来决定,调用ramfs_mknod生成当前设备节点

2015-08-18 17:47:13 2108

原创 linux中断子系统:中断号的映射与维护初始化mmap过程

写在前沿:好久好久没有静下心来整理一些东西了,开始工作已有一个月,脑子里想整理的东西特别多。记录是一种很好的自我学习方式,静下来多思考多总结,三年的工作目标不能发生变化,作为职场菜鸟即将进入全世界半导体第一的Intel working,是机遇更是一种挑战,困难也是可想而知。脚踏实地、仰望星空,以结果为导向,以目标为准则,争取每天进步一点点。Linux内核版本:3.4.39一. linux中断子系统

2015-08-11 21:38:02 5983

原创 sysfs与ramfs、tmpfs、devtmpfs的一点区别

ramfs在挂载以后,其内部以dentry和inode为核心层次维护。sysfs在挂载后,一般只会把挂载点的dentry和inode进行创建,并初始化该sys目录的inode->i_op为sysfs_dir_inode_operations.这之后所有的sys下文件的读写访问操作,都需要经过look_up先找到文件路径,并逐一给每个目录建立inode与dentry,是个动态的过程,只有这个时候才会

2015-08-06 20:33:54 13440

原创 Android编译时TARGET_OUT_ROOT/TARGET_OUT变量的由来

TARGET_ROOT_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ROOT)TARGET_COPY_OUT_ROOT := root则首先确定PROUDCT_OUT = $(TARGET_PRODUCT_OUT_ROOT)/$(TARGET_DEVICE);TARGET_DEVIC是我们check出来的目标设备full_xxxTARGET_PRODUCT_OU

2015-08-05 20:07:19 8436 2

原创 Android repo sync能否指定目录,貌似没找到解决方案?

这个问题比较疑惑尝试考虑在一个新建目录project下repo init后,貌似就不能repo sync同步到其他的目录中去。而且有一个规律是project多个下级目录下执行repo sync最终还是能够在project目录下同步到代码,这说明repo sync在执行时,会去逐一的返回上一目录,看是否有.repo目录相关的内容,查询如果最近一级目录下存在一个.repo则执行同步该repo sync

2015-08-04 21:00:13 8654 1

原创 sourceinsight 添加quicker.em生效

起初以为只需要将quicker.em放到base工程下面即可,但Macro等宏始终不出来,原来是需要在base工程下add这个em才可以。这里记录下。

2015-07-15 14:40:30 8244

原创 OV Camera AE相关的寄存器学习配置记录

自动AEC相关的寄存器配置的原理如上图。主要设置如下:    {0x3a0f, 0x40},    {0x3a10, 0x38},    {0x3a1b, 0x48},    {0x3a1e, 0x30},    {0x3a11, 0x90},    {0x3a1f, 0x10},     band_step60 = preview_sysclk * 100/preview_HTS * 100/1

2015-03-30 20:58:49 6848 1

原创 volatile能解决cache的数据一致性吗?答案是不能

以前对volatile的了解,都是可以防止被编译器优化,从而从内存中都读写数据。但当ddr中的数据被cache了以后,然后又是被命中了,那么下次你去读写数据时,CPU还是中cache中去操作的。这就引来了和硬件的不一致性,但简单的volatile也不能解决cache的一致性。因为CPU会认为当前的数据就是从内存中去读写的(cache也属于内存级别)。所以只能通过专门的cache一致性的writeb

2014-12-08 17:31:38 6532 1

原创 Window下git和github下的代码版本多人开发维护

Window下比较常见的窗口模式的操作,相对而言比Linux的命令模式来的更为简洁命令。git软件TortoiseGit-1.8.4.0-32bit:主要用于ssh-key的生成,GitBash可执行类似Linux终端下的命令TortoiseGit软件Git-1.8.3-preview20130601:主要是window下可视化的操作。包括clone/pull/push/commit/sync等。

2014-11-29 14:30:28 2470

原创 我的嵌入式寻工之旅(截止2014年10月31日)

写在这里的题外话,嵌入式这个行业,在找工作的过程中,逐渐的认可为他越来越像是一个穷三代的职业啊(工资实在是就这样了),这和当下的互联网过热、过高的薪资形成了鲜明的对比。 下面就说说大概陆陆续续10月份的寻工之旅吧:PS:本人找工作前,因为项目紧,基本没有前期的准备过只是看过面试宝典的一些题,所以在后期的笔试中还是吃了一定的亏的,所以如果你有时间,是该好好准备相关行业公司的笔试要求。 找工作,定位好

2014-10-28 19:16:49 3263

海思LSADC驱动源码,dv300等适用。

海思LSADC驱动简单框架,可应用层读取。

2022-08-12

Android5.0+ Camera Preview based-Gralloc with ION.pdf

Android5.0+ Camera Preview based-Gralloc with ION 自己生产的PDF文件

2021-06-16

GTPV4.6.4.0-20180125.7z

可进行触摸屏的调试。线序调试等等。CFG文件生成,微调

2021-06-16

基于BP神经网络的简单字符识别算法自小结(C语言版)

基于BP神经网络的简单字符识别算法自小结(C语言版)

2015-11-03

AD5820 VCM驱动芯片手册

AD5820 VCM驱动芯片手册,开发camera可用

2014-05-18

VCM驱动DW9710 DS

VCM驱动DW9710的数据手册,提供给大家

2014-05-18

SurfaceFlinger应用端创建surface的过程图

SurfaceFlinger应用端创建surface的过程图,自己阅读代码总结的,android4.2.2

2014-03-24

TI的BLE1.4.0

TI的蓝牙低功耗BLE1.4.0软件开发包

2013-11-14

TI jpeg在dm6437上的实现

TI jpeg在dm6437上的实现,裸驱的简单实现

2013-10-21

嵌入式系统设计师历年真题(200611-201011)

嵌入式系统设计师历年真题(200611-201011),无答案

2013-09-01

csl_davinci dm64xx

csl_davinci,适合于开发Davinci处理器,带DSP C64+的。都可以使用该DSP端的CSL。

2013-07-18

SEED最新xds560v2仿真器在CCS5.1以上的驱动

SEED最新xds560v2仿真器在CCS5.1以上的驱动,最新的ccs5.4都可以正常使用

2013-07-02

TI dsp的Flash烧写工具

TI dsp的Flash烧写工具,来至于SDS

2013-06-23

BLE-CC254x-1_3_2.zip

BLE-CC254x-1_3_2.zip 该版本的TI BLE的cc2541比较稳定

2013-06-20

自动生成参考文献

亲测可以使用的自动生成参考文献,对写论文帮助很大。

2013-05-20

新浪天气透明版

新浪天气透明版 for 三星9300亲测可以使用

2013-04-10

GY-51三轴磁场加速度模块发送资料LSM303DLH

GY-51三轴磁场加速度模块发送资料LSM303DLH

2013-03-28

蓝牙低耗能软件堆栈和工具,TI CC2541

蓝牙4.0低耗能软件堆栈和工具,TI CC2541

2013-03-27

TI CC2541相关开发官方文档

TI CC2541相关开发官方文档,做了个汇总。

2013-03-26

dm3730的管脚初始化配置

dm3730的管脚初始化配置,用于初始化配置

2013-03-10

dm3730的时钟树软件TI的

dm3730的时钟树软件TI的,用于电源管理的配置。

2013-03-10

嵌入式系统项目报告

嵌入式系统项目报告,和android的启动和logo移植有关

2013-01-22

模式识别课件

浙江工业大学研究生模式识别课件和考试样卷

2013-01-09

Elecard StreamEye Tools

很好的YUV数据分析软件,不过是在win下面用的哦

2012-11-28

Evernote_4.5.6

Evernote,很好的记事本,用的很舒服

2012-11-28

ADT-20.0.2.zip

android的ADT-20.0.2.zip,可以手动快速安装插件,以免自动

2012-11-27

OMAP35x启动流程

OMAP35x启动流程,网络资源,共享一下

2012-11-10

ctags-5.6.tar.gz

ctags-5.6.tar.gz.给vim用的记录tags

2012-11-10

install_flash_player_11_linux_i386.tar.gz

flash_playerinstall_flash_player_11_linux_i386.tar.gz

2012-11-10

DM3730-25_GELs

DM3730-25_GELs,来自与网络

2012-11-07

Beagleboard-xm的相关资料

Beagleboard-xm的相关资料:如数据手册以及原理图等等

2012-11-07

串口上位机源码

从串口提取数据,显示在图形中,VC++编写简单串口上位机程序 串口通信,MCU跟PC通信经常用到的一种通信方式,做界面、写上位机程序的编程语言、编译环境等不少

2012-11-06

飞凌6410 win7下的驱动usb转串口

飞凌6410 win7下的驱动usb转串口

2012-10-25

TI Codec Engine的DMAI接口

TI Codec Engine的DMAI接口,某些函数。

2012-10-25

dm3730相关寄存器TRM

dm3730相关寄存器TRM,开发omap系列和dm37 。A8很有用

2012-10-25

嵌入式系统课的资料

上课用的嵌入式课件,都是些基础的介绍,不错的资料

2012-10-10

android基础应用介绍PPt

是一个同学培训android时的基础PPT

2012-10-10

浙江工业大学微机原理科技

浙江工业大学微机原理课程,欢迎下载使用,对学习单片机,汇编有帮助

2012-04-02

5438的基本外设和基本配置

都是调试通过的最新的msp430f5438的配置,包括常用的外设。

2012-02-16

小车程序哦大家快来看

哈哈恩本程序是经过本人亲自运行以后的东东哦哦很有用的哦哦

2010-10-23

空空如也

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

TA关注的人

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