自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (6)
  • 收藏
  • 关注

原创 Android Camera HIDL交互分析

Android CameraHIDL交互分析1.1java层openCamera逻辑APP层调用CameraManager中的openCamera打开camera。APP-->openCamera|||---> openCameraForUid|||--->openCameraDeviceUserAsync① 首先通过cameraService = CameraManagerGlobal.get().getCa...

2020-06-23 17:15:50 3027

原创 V4l2框架分析

1. V4L2框架概述1.1 v4l2设备应用层流程1.2 内核V4L2模块 22. video_device2.1图像处理模块2.2 video注册流程3. videobuf23.1 与video device的关系:3.2 buffer类型3.3 vb2_ops回调函数3.4 mmap 流程...

2020-06-23 16:44:51 6700 1

原创 linux进程分析之旅04---程序加载分析之_RTLD

一.RTLD的作用 当程序需要动态链接 的应用被操作系统加载时,系统必须要重定位,然后加载它所需要的所有动态库文件。 这项工作是由glibc中RTLD(Run time dynamic linker)来负责完成的。而ld.so是动态链接程序RTLD生成的动态链接库.那么就出现一个问题:RTLD也就是ld.so是如何加载,加载完成之后它又是如何加载其他的so函数的呢?通过下...

2020-06-23 16:39:44 1564

原创 linux进程分析之旅03---程序执行流程概要分析

在终端敲入./a.out 的执行流程图一.fork()1.shell进程调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。2.子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。3.fork执行流程如下:大致流程如下...

2020-06-23 16:38:43 267

原创 linux进程分析之旅02--可执行文件ELF格式分析

上章所生成的可执行文件是一种ELF文件。所以这次来分析下什么是ELF。一、什么是ELF定义:ELF 英文全称为Executable and Linking Format即可执行链接格式,作为应用程序二进制接口(Application Binary Interface,ABI)的一部分。那么什么又是ABI? ABI描述了应用程序与OS之间的底层接口。ABI涉及了程序的各个方...

2020-06-23 16:38:16 425

原创 linux进程分析之旅01--C程序的可执行文件形成过程

一、可执行文件的生成 进程的未运行时的载体是可执行文件,一般放在磁盘或者ROM中,也就是我们常说的bin文件,linux /usr/bin/目录下的常用系统命令如ps、top、ls等都是可执行bin文件。一个进程是通过终端或者脚本启动可执行文件,而可执行文件是由C 程序通过执行gcc命令,经历预处理、编译、汇编、链接四个过程形成的,如下图所示:其中 test.c是main函...

2020-06-23 16:06:41 200

原创 android图形框架之surfaceflinger分析(一)

1. 概念 surfaceflinger作用是接受多个来源的图形显示数据,将他们合成,然后发送到显示设备。比如打开应用,常见的有三层显示,顶部的statusbar底部或者侧面的导航栏以及应用的界面,每个层是单独更新和渲染,这些界面都是有surfaceflinger合成一个刷新到硬件显示。在显示过程中使用到了bufferqueue,surfaceflinger作为consumer方,...

2020-04-17 16:31:25 4344

原创 mx6 CSR8670驱动移植 基于linux3.14.58

1. 设备树配置:UART2BT_WAKE_DEV gpio2-15 //BT_HOST_WAKE gpio2-13 //INPUT 主控唤醒 可不用先//our btpinctrl_blueth: bluethgrp { fsl,pins = < MX6UL_PAD_UART2_RTS_B__UART2_DCE_RTS ...

2018-03-19 22:44:11 646

原创 imx6q sgtl5000 alsa驱动分析与调试

一. ALSA的ASoC框架简介按照 ASoC如下图1,框架的设计理念,源码文件应该分为 3 个部分,分别是 Platform Driver、Machine Driver、Codec Driver,这 3 者为并行关系,各对应一份源码。其中,Platform Driver 相关的源码主要实现 DMA 功能和 DAI,即 DSP 模块的 I2S 数据传输功能,并导出相应变量或操作函数

2017-08-07 15:22:10 3099

原创 android应用与Linux内核驱动数据交互

一.Linux内核驱动层1. 确定你想进行数据交互的驱动模块, 比如要与驱动名为 serio_module的驱动交互2. 确定在驱动模块文件中使用的交互变量, 比如需要交互的变量为 static int s_connect_value[3] ={1,2,3};那么需要在驱动程序中添加module_param_array(s_connect_value,int NULL,S_IR

2017-07-13 09:59:01 1111

原创 android shell 命令--- input

1 . input命令简介input 命令主要模拟android输入时间, 比如文本字符输入,或者按键输入bash# input usage: input[text|keyevent] input text string> input keyevent 3.aosp源码位置myandroid/frameworks/base/cmds/input/src/com/andro

2017-06-29 09:00:27 1404

原创 android 系统触摸屏BUG解决过程分析

BUG描述: 添加触摸屏驱动后, apk对触摸事件没有响应.Linux 层驱动移植内核根目录 make menuconfig更改 “Device Drivers” ->“HID Devices” 下的 “/dev/hidraw” “PID device support” 和 “/dev/hiddev” 三个位置置成*复制 “ilitek_auv3X...

2017-06-07 11:29:29 6775 1

原创 多核优化,使用linux affinity 将进程,线程,中断指定到对应的cpu运行,用ftrace查看消耗时间

cpu的affinity简介使用cpu的affinity机制可以将对应的进程,线程,以及中断指定代对应的cpu上运行,如果合理配置,减少某个cpu负担,提高其他cpu的使用率,从而到达提高系统性能的效果.相关监控命令查看cpu状态,及设置cpu开关及其频率 位置:$ ls /sys/devices/system/cpu

2017-06-05 10:26:24 2086

原创 st7789 320*240 显示屏,uboot驱动移植笔记

st7789 使用spi初始化,rgb数据总线传输。1.首次编译错误报错如下:libgcc.a(bpabi.o) uses VFP registerarguments, u-boot does not修改如下:--- a/arch/arm/config.mk+++ b/arch/arm/config.mk@@ -16,7 +16,7 @@ endif

2017-05-23 12:11:37 8050

原创 nfc ntag21x ultralight 内存结构

ntag21x的内存结构类似于EEPROM,按页访问,一个页4个字节,容量越大的ntag,页数也越大,内存结构也有点不同.一.下面是nta216内存结构:                                                            图:012.序列号也就是UID一共有七个在page0, page1中, 内存结构如下 

2016-09-08 13:59:25 2473 1

The Linux Programming Interface-handbook-Michael Kerrisk

The i.MX 6Dual/6Quad application processors are Freescale Semiconductor's latest additions to a growing family of multimedia-focused products offering high performance processing optimized for lowest power consumption.

2018-05-18

TI BLE stack_1.4.0_包含文档 源码 工具

TI_CC254X源代码 适合于IAR开发工具 TI_BLE_Sample_Applications_Guide GAP OSAL HAL

2015-02-02

晶芯科技编程指南

andes 公司的编程指南 设计到N9 N8 N10

2014-08-25

蓝牙技术 术语 英文缩写 详解

对于想要了解蓝牙协议栈的小白来说,会碰到很多英文缩写,如:协议 规范 数据包 等等 本文档经过多年汇总, 献给需要的朋友

2014-08-22

蓝牙控制小车android 源代码

通过手机蓝牙控制小车的程序 有注解 方便初学者

2014-02-02

空空如也

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

TA关注的人

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