自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (1)
  • 收藏
  • 关注

原创 LLDB-调试

在此之前将lldb server push到设备,如/data/loca/tmp。Host端附加remote Android进程。在此之前必须先通过adb连接上Android。Android端启动lldb server。远程调试Android Device。Host端连接lldb server。$ lldb # 启动lldb。breakpoint调试断点。

2024-03-08 15:54:43 482

原创 java,c,c++,内核打印调用栈方法

java,c,c++,linux 内核,打印调用栈方法

2022-12-09 11:12:36 202 1

原创 camera基础知识点笔记

感光原理Camera Sensor是由数百万上千万数量小方块的CCD或CMOS感光元件(简称像素),以平面阵列方式排列组成,其感光原理是于感光元件表层上整合RGB(红、绿、蓝)三原色的滤镜,通过对一个一个的感光点对光进行采样和量化形成图像。Sensor中每一个感光点只对应一个彩色滤光片,因此只能感光RGB中的一种颜色。通常所说的30万像素或130万像素等,指的是有30万或130万个感光点。如果一台拥有一千二百万像素的数码相机,明显地就是最少12,000,000小方块的感光元件了。Sensor的彩色滤.

2022-05-30 11:13:25 2180

原创 C C++ Java 打印byte char 为16进制数调试

C C++ Java 打印byte char 为16进制数调试C & C++void byteToHex(int num,char* buf){ const char array[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; int d1 = num / 16; int d2 = num % 16; sprintf(buf," 0x%c%

2021-12-08 10:29:36 1101

原创 开发细节记录

Android Q 新增api 接口需要先执行下面的编译命令make api-stubs-docs-update-current-api

2021-09-18 14:16:20 109

原创 显示相关源码位置

显示相关源码位置Surface.javaandroid\frameworks\base\core\java\android\view\Surface.javaCanvas.javaandroid\frameworks\base\libs\hwui\hwui\Canvas.javaandroid\frameworks\base\libs\hwui\hwui\BaseCanvas.javaandroid\frameworks\base\libs\hwui\SkiaCanvas.cppandr

2021-02-20 14:58:47 113

原创 V4L2 Video 学习笔记

V4L2 Video 学习笔记使用到的头文件#include <stdio.h>#include <stdlib.h>//#include <string.h>//#include <assert.h>#include <getopt.h> /* getopt_long() */#include <fcntl.h> /* low-level i/o */#includ

2020-12-25 10:47:35 261

原创 JNI动态注册

NativeInterface.h//// Created by xubaipei on 2018/3/21.//#ifndef OPDEMO_NATIVEINTERFACE_H#define OPDEMO_NATIVEINTERFACE_H#include &lt;jni.h&gt;#include "NativeRender.h"#include "L.h"#endif ...

2020-09-21 17:09:08 111

原创 Makefile 指定输出目录

Makefile 指定输出目录MakefileOBJ = test.oCC = gccOUTPUT_DIR = buildexcute: @./testtest:$(OBJ) $(CC) -o $@ $(OUTPUT_DIR)/$< $(OBJ): %.o: %.c $(OUTPUT_DIR) $(CC) -c $< -o $(OUTPUT_DIR)/$@$(OUTPUT_DIR): mkdir $(OUTPUT_DIR).PHONY : cleancle

2020-08-11 18:05:09 5627

原创 ubuntu 16.04 安装微信

ubuntu 16.04 安装微信步骤1下载https://github.com/wszqkzqk/deepin-wine-ubuntu这个网址中下载微信deb 软件包随后sudo dpkg -i deepin.com.wechat_2.6.8.65deepin0_i386.deb提示错误Selecting previously unselected package deepin.com.wechat:i386.(Reading database ... 235722 files and

2020-06-30 10:36:30 1670

原创 嵌入式学习笔记(十八)- 字符LED驱动

字符LED驱动/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/init.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*/#include <linux/module.h>/*定义module_param module_param_array的头文件*/#include <linux/moduleparam.h>/*定义module_par

2020-06-10 22:05:09 220

原创 嵌入式学习笔记(十七)- 字符驱动

字符驱动如果需要不同设备节点有不同的功能,只需要在注册设备的时候添加不同的file_operations 结构体即可#include <linux/init.h>#include <linux/module.h>// 定义module_param module_param_arrary 函数的头文件#include <linux/moduleparam.h>// 定义参数函数中perm 参数的枚举量头文件#include <linux/stat.h

2020-06-08 15:16:24 170

原创 嵌入式学习笔记(十六)- 生成字符类设备节点

嵌入式学习笔记(十六)- 生成字符类设备节点概念设备类 bus device driver 都是有比较明确定义的,bus 代表总线,device 代表实际的设备和接口,driver 代表驱动class 是设备类,他是一个抽象的概念,没有对应的实体,它是提供给用户借口相似的一类设备的集合,常见的输入子系统input,usb 串口tty,块设备block 等生成设字符类设备节点函数class_create 创建类文件参数1一般是THIS_MODULE参数2 设备名称创建一个设备类用与节点文

2020-06-08 14:42:02 191

原创 嵌入式学习笔记(十五)-注册字符类设备

注册字符类设备分配内存空间函数 kmalloc 用于分配连续虚拟地址小内存分配,在linux/slab.h 头文件中参数1 申请内存的大小最大128k参数2 GFP_KERNEL 代表优先权,内存不够延迟分配清空内存数据memset  参数1 地址,参数2 起始地址,参数3 长度字符设备初始化函数cdev_init在头文件include/linux/cdev.h参数1cdev 字符设备文件结构体参数2 file_operation 结构体注册设备本质是想linux 设备文

2020-06-03 11:02:59 188

原创 嵌入式学习笔记(十四)-静态与动态申请字符类设备号

静态申请字符类设备号介绍字符设备函数在文件 include/linux/fs.h 中内核提供了三个函数来注册一组字符设备编号,这个三个函数分别是register_chrdev_region() 是提前知道设备的主次设备号,再去申请设备号alloc_chrdev_region() 那是动态分配主次设备号register_chrdev()  是老版本的设备号注册方式,只分配主设备号,从设备号在mknod 的时候指定申请宏定义 MKDEV 的头文件 include/linux/kdev

2020-06-02 16:02:16 253

原创 嵌入式学习笔记(十三)- 驱动模块传参数

嵌入式学习笔记(十二)- 驱动模块传参数应用程序可以在main 函数中传参头文件是include/linux/moduleparam.h内核模块可以通过module_param来传单个参数module_param(name,type,perm) 单个参数name 模块参数名称type 模块参数的数据类型perm 模块参数的访问权限module_param_arrary(name,type,nump,perm)多个参数name 模块参数名称type 模块参数的数据类型nump

2020-06-02 15:07:40 154

原创 嵌入式学习笔记(十二)- lEDS 驱动

lEDS 驱动一 硬件原理简单介绍三极管 NPN 锗管电流控制电流源三极端CE间的电阻可变,可以把Rce看成一个可调电阻,可调电阻的变量是电源IO 管脚拉高之后BF 之间达到一定电流,可变电阻RCE就从无限大降低到大概几百欧姆 高点平灯亮,低点平灯灭二 LED 管脚的调用,赋值以及配置linux 中申请gpio 的头文件 include/linux/gpio.h (linux 中统一的)三星平台的GPIO 配置函数的头文件 arch/arm/plat-samsung/plat/gpi

2020-05-26 14:57:07 217

原创 嵌入式学习笔记(十一)- GPIO的初始化

GPIO的初始化调用GPIO 调用过程查看内核代码中gpio 的设备,ls drivers/gpio/*.o 可以看到被编译进内核的gpio 驱动找到编译的gpio 源码打开查看gpio-exynos4.ccore_initcall(exynos4_gpiolib_init) linux 初始化过程中会调用初始化函数是在源代码目录下include/linux/init.h 中定义的该头文件定义了一系列的初始化函数//include/linux/init.h #defind core_ini

2020-05-25 17:09:56 1037

原创 嵌入式学习笔记(十)- 物理地址和虚拟地址_归纳总结

物理地址和虚拟地址_归纳总结物理地址和虚拟地址通过LED 中的输入电路查找到LED 控制的寄存器是AA4 寄存器地址 (对核心板上的宏定义GPL2_0)通过宏定义名称找到芯片手册中的寄存器地址iROM 用于启动uboot 的一段固化代码iRAM 用于运行iROM 中的固话代码i-cache 用于cpu 与内存通信的在 Memory map 中查找内存地址,linux 函数中ioremap 返回地址,肯定在此区间SFR 是特殊寄存器,GPIO ,终端,总线都在这里物理内存地址 存在于虚拟地

2020-05-25 15:53:13 436

原创 嵌入式学习笔记(九)- 原理图的使用

原理图的使用模块拿到原理图需要对模块有一定的了解了解模块的功能能 LED通过功能模块的芯片定位周围的小元件元件标号原理图元件通过元件标号与PCB硬件一一对应通过元件标号查找和了解模块功能PCB上的额外丝印提示不同的功能网络标号网络标号,网络的唯一标识符不同芯片的接口连接器通过网络标号链接在模块或者芯片上找到网络标号,然后两边找一边找到信号的最终端(主控芯片)一边找到板子的最终输出的端口通过网络标号举例LED,Buzzer,AD,uart,显卡等

2020-05-22 15:08:09 376

原创 嵌入式学习笔记(八)- 简单应用调用驱动

简单应用调用驱动需要的用到的头文件 (在编译器内)<studio.h> 用于打印,<sys/types.h> 基本数据类型根据编译环境决定32 位还是64位<stat.h> 系统嗲用函数的头文件可以调用普通文件目录管道,socket,字符,块属性,<fcntl.h> 定义了open 函数 <unistd.h> 定义了close函数<sys/ioctl.h> 定义了ioctl 函数 往驱动发命令的函数源码#includ

2020-05-21 11:48:53 198

原创 嵌入式学习笔记(七)- 生成设备节点

生成设备节点杂项设备(10 主设备号)是对字符设备的封装,不好归类的设备也是杂项设备主设备号255 个,封装好了,驱动写起来简单源文件在drivers/char/misc.c 是强制编译的生成杂项设备节点杂项设备注册的头文件在include/linux/miscdevice.h常用参数.minor 设备号.name 生成设备节点的名称(与注册设备的platform_driver 中的name 不同).fops 指向一个设备节点文件包含文件结构体的头文件是include/li

2020-05-20 15:44:38 233

原创 嵌入式学习笔记(六)-设备注册

设备注册分析平台文件中的 platform_device结构体和platfor_add_devices函数平台文件arch/arm/mach-exynos/mach-itop4412.c设备注册函数文件driver/base/platform.cint paltform_add_devices(struct platform_device **devs,){ int i ,ret = 0; for(int i = 0;i < num;i++){ ret = platform_de

2020-05-20 14:33:20 315

原创 嵌入式学习笔记(五)- 驱动注册

驱动注册关键点驱动注册结构体platform_driver 在 include/linux/platform_device.h中驱动注册platform_driver_register,驱动卸载函数platform_driver_unregister 也在这个头文件中这两个函数的参数都只有结构体platform_deriver驱动常见的状态有,初始化,移除,休眠,复位probe函数–platform_match 函数匹配之后,驱动调用的初始化函数remove 函数–移除驱动函数suspe

2020-05-19 15:03:41 247

原创 嵌入式学习笔记(四)- 总线_设备_驱动注册流程

总线_设备_驱动注册流程总线查看总线ls /sys/bus/查找设备号cat proc/devices// 杂项设备cat /proc/miscplatform 是虚拟总线,挂载着Driver,Device设备Device设备是挂载在虚拟总线Platform上的//platform //位于include/linux/platform_device.hstruct platform_device{ int id; const char * name; ...}//

2020-05-19 14:12:41 137

原创 嵌入式学习笔记(三)- 内核裁剪

内核裁剪.config确认哪些代码编进内核,哪些代码被裁剪掉menuconfig(文本菜单配置界面)生成.config 的一个工具make menuconfigmenuconfig 常用

2020-05-18 16:03:46 420

原创 嵌入式学习笔记(二)- 最简单Linux驱动模块

最简单Linux驱动模块Linux 头文件位置在原码目录下的include/linux/module.h所有的代码必须遵循GPL协议添加GPL遵循协议#defind MODULE_LICENSE(_license)#defind MODULE_AUTHOR(_author)#include <linux/init.h>入口函数:module_init(x)出口函数:module_exit(x)Makefile无配置文件最小驱动头文件申明模块信息模块驱

2020-05-18 14:16:25 137

原创 嵌入式学习笔记(一)linux 内核体系结构

linux 内核体系结构系统空间用户空间提高效率,分工合作安全角度不同模式下可执行指令与可访问的寄存器不同用户空间与内核空间是程序执行的两种不同状态,我们可以通过系统调用和硬件终端来完成用户的内核空间转移linux 内核空间SCI(System Call Interface) 系统调用函数进程管理PM(Procees Managerment)MM(Memory Managerment) 内存管理VFS(Virtual FIle Systems) 文件管理系统 一切皆文件Devi

2020-05-18 10:39:08 198

原创 Android 判断是否有导航栏,华为小米手机通用

根据realsize 与size 判断 另外部分机型如华为P20 pro上亲测也可以public static boolean isHasNavigationBar(Activity activity) { Point size = new Point(); Point realSize = new Point(); activity.getWindowManage...

2019-11-05 11:21:00 1117 3

原创 android logcat 常用命令

tag 标记区分: adb shell logcat -s FaceProtocol:vadb 输出到sdcard文件: adb logcat > /sdcard/log.txtadb 输出文件到window:adb logcat > C:\Users\twl\Desktop\log\logcat.logadb logcat -G 2m 出现read: unexpec...

2019-06-28 12:18:20 283

原创 Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)

ubuntu 更新apt 软件源 失败// 加入以下软件源地址后执行 apt-get update 后提示错误Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mi...

2019-04-19 15:31:44 18162 1

原创 gradle 多渠道打包知识总结

1: gradle 中添加BuildConfig 属性buildConfigField "String", "WEB_VERSION", "\"1.0.6\""2:多渠道打包资源选择 productFlavors { ft{ applicationId 'com.hytch.TravelTicketing' pr...

2019-04-16 13:50:34 302

原创 android 代码动态获取xml 中View 的属性

遇到某些情况需要用到android控件相关的属性,但是这些属性没有提供外部接口,甚至没有无法通过反射获取属性值可以通过一下方法获得:下面例子是获取textview 中加粗 textStyle 的属性,根据是否加粗,使用下载的加粗字体替换public ColorfulTextView(Context context, AttributeSet attrs, int defStyleAttr...

2019-04-09 17:14:25 1446

原创 HTTP 协议相关及应用总结

1:retorfit 使用表单文件上传RequestBody imageBody = RequestBody.create(MediaType.parse("image/png"),userImageFile);MultipartBody.Part photo = MultipartBody.Part.createFormData("png", "temp.png", imageBody...

2019-02-20 16:26:11 192

原创 Android 开发经常用到,容易忘记的技巧-总结

1:设置滑动到边缘时无效果模式:android:overScrollMode="never"设置不显示滚动条:android:scrollbars="none"2:隐藏输入键盘mIPAddEdit.setInputType(InputType.TYPE_NULL);3:隐藏键盘但是保留输入光标if (getActivity() != null){ ge...

2019-01-04 14:33:14 326

原创 Rxjava2-Mvp-Dagger2-Retrofit 实现真正解耦的mvp 架构,可用于初始项目框架

git地址:https://github.com/PearceXu/Rxjava2-mvp-dagger2-retrofitRxjava2-mvp-dagger2-retrofit实现真正解耦的mvp 架构,可用于初始项目框架觉得好用的同学请右上角随手star 一下,谢谢!将retorfit2 与 rx2 进行封装 提供自带 progress 的 Observermvp解耦具体实现请下...

2018-12-27 13:37:59 486

原创 最简单好用的 Android 阴影 shadow xml 写法

1:先看效果图要制造出这种效果的阴影这里提供三种思路重点推荐第三种1:CardView  desgin 包中的控件,自带阴影效果 通过 属性控制阴影浓度app:cardElevation在API &gt;=  21   可以直接通过使用android:elevation2:通过点九图,让美工给你加好阴影之后直接设置为控件背景3: 通过android 图层 xml...

2018-11-08 16:53:22 6018 1

转载 FFmpeg 编译以及添加X264 支持 android

网上抄的一个脚本,一直提示:No working C compiler found.在网上找了很久,把脚本的前后空格都删除了还是不行,后来看到可以查看日志 gedit config.log 看到./configure: 行 158: /home/hong/Public/android-ndk-r14b/toolchains/arm-linux-androideabi-4.8/prebuil...

2018-09-13 17:00:04 3436 3

转载 音视频开发转载

Android 音视频开发学习之路灰色飘零 鸿洋 今天本文作者 作者:灰色飘零链接:https://www.cnblogs.com/renhui/p/7452572.html本文由作者授权发布。 一直欠大家一篇音视频入门之路的文章,这篇文章是我见过写的最详细的一篇了,今天算还了哈。作者从入门、进阶、探究分别编写了一系列文章。 Android 音视频开发这...

2018-09-11 09:30:55 258

原创 ndk 命令编译C或c++代码生成android 动态so库和可执行程序

NDK 命令ndk-build 会检查当前执行的目录下Jni 目录有没有Application.mk 和Android.mk 文件所以首先要写好这两个构建脚本Application.mkAPP_STL := gnustl_static#APP_CPPFLAGS := -frtti -fexceptionsAPP_CPPFLAGS +=-std=c++11 #允许使用c++11的函数等功...

2018-08-21 17:49:26 2686

NDK 命令编译生成Android动态so或可运行程序Demo

NDK 命令编译生成Android动态so或可运行程序Demo,欢迎下载,本demo需要配置好NKD 环境变量,并修改Demo中NDK 指向的头文件路径后,执行cmd命令即可生成

2018-08-21

空空如也

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

TA关注的人

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