自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jinron10的专栏

技术博客

  • 博客(184)
  • 资源 (21)
  • 收藏
  • 关注

原创 Android10开机自动启动应用的权限配置

android添加selinux权限问题

2023-06-26 15:43:00 1890

原创 git库的使用笔记

查看git仓库大小 git count-objects -vHcoding 单个工程限制为15G以内一, 本地不存在源码,拉取coding git 仓库mkdir Ao3566_Android11cd Ao3566_Android11git clone https://e.coding.net/jiudingchuangzhan/rk3566/Ao3566_Android11.git输入账号和密码下载完成后拉取prebuilts源码cd Ao3566_Android11会在当前目录下面.

2021-12-14 10:33:08 498

转载 Linux下常见音频格式之间的转换方法【转】

下面简单介绍下Linux环境常见音频格式之间的转换方法:MP3 相关工具: lameOGG 相关工具: vorbis-toolsAPE 相关工具: macFLAC 相关工具: flacWAV 相关工具: shntoolBIN/CUE镜像分割: bchunk1.MP3 和 WAV 之间相互转换mp3 -> wavlame --decode <输入_mp3文件> <输出_wav文件>wav -> mp3lame -b <比特率> &l..

2021-11-26 17:06:51 1125

原创 PWM_IR唤醒的配置以及GPIO控制电源的设备树配置

1、PWM_IR唤醒的配置kernel/arch/arm64/boot/dts/rockchip/x3399-baseboard.dtsi&rockchip_suspend { status = "okay"; rockchip,sleep-debug-en = <1>; rockchip,sleep-mode-config = < (0 | RKPM_SLP_ARMPD | RKPM_SLP_PERILPPD | RKPM_SLP_DDR_RET

2021-11-10 20:26:05 1875

原创 android中git submodule使用

1、安装ubuntu16.04使用UltraISO制作U盘启动盘安装ubuntu16.04.U盘需要格式化成FAT32默认的格式,否则无法制作启动盘

2021-08-12 14:45:04 433

转载 Android O u-blox gps移植

diff --git a/device/fsl/imx8/mek_8q.mk b/device/fsl/imx8/mek_8q.mkold mode 100644new mode 100755index 0da260b..3b88c3c--- a/device/fsl/imx8/mek_8q.mk+++ b/device/fsl/imx8/mek_8q.mk@@ -180,6 +180,11 @@ PRODUCT_PACKAGES += \ wifilogd \ wific.

2021-08-12 14:25:48 770

原创 RK3568平台(PMU:Rk817)去掉电池之后,系统无法开机的解决方法

1、硬件设计的原理带电池开机的RK817的PMU电路图:不带电池的开机的RK817的PMU电路图:从RK817芯片手册得知道:所以从以上得知,当板子硬件设计不带电池的时候,需要修改RK817 IC的输入充电电流的限制。正常带电池启动时,RK817的充电电流限制在450mA。而不带电池启动时,RK817的充电电流需要放开限制,调整到最大3A,同时需要修改u-boot和内核对不带电池不启动系统的限制。2、u-boot对不带电池限制启动的修改u-boo...

2021-07-22 15:43:31 6435 1

原创 android-tools adb for ARM Linux

/************************************************************************* android-tools adb for ARM Linux 说明:有时候还真是系统通过USB线直接连接到ARM主板,这样就不一定需要网络才能传输文件,在做系统更新的时候,有时候也是不错的。**************************************************************

2021-06-16 09:52:25 856

原创 linux/android系统的USB gadget configfs用户空间配置USB HID U盘 adb dcd等模式的使用

USB gadget configfs模式的使用:即可android或linux在用户空间配置实现设备终端为HID,U盘、Adb以及cdc等功能1、创建gadgets每个gadget都必须创建自己相应的目录以及自己的PID和VIDmkdir $CONFIGFS_HOME/usb_gadget/e.g.:mkdir $CONFIGFS_HOME/usb_gadget/g1cd $CONFIGFS_HOME/usb_gadget/g1echo xxx> idVendorecho xxx&

2021-05-24 17:15:59 2938

转载 ARM 开发板嵌入式linux系统与主机PC通过串口传输文件

本文转载自http://useless20.blog.163.com/blog/static/237409982010227127576/嵌入式linux系统与主机通过串口传输文件 我想如果要从PC机下载东西到开发板的嵌入式linux系统里面,很多人首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。个人觉得zmrx/zmtx没有lsz/lrz稳定,建议还是用后者。下面介绍一下ls

2021-04-07 11:28:56 1014

转载 ffmpeg+rtmp推流/拉流

一、搭建rtmp服务器1.下载nginxhttps://github.com/nginx/nginx/archive/release-1.19.6.zip2.下载nginx-rtmp-modulehttps://github.com/arut/nginx-rtmp-module/archive/v1.2.1.zip3.编译安装nginx将两个包解压到同一个文件夹下# cd nginx-master/auto# ./auto/configure --add-module=../nginx-

2021-03-08 17:36:33 2039

转载 Android之gdbserver/gdb调试

1.查看cameraserver的pid# adb shell ps |grep cameraservercameraserver 237 1 144332 94532 ptrace_sto 00ee5ff678 t /system/bin/cameraserver 2.Android端# ./prebuilts/misc/android-arm/gdbserver/gdbserver :1234 --attach 237 3.PC端# adb forward tcp:1234 tcp:12

2021-03-08 17:34:38 363 1

转载 android如何在C++中打印调用堆栈

android原代码中提供了打印堆栈的接口,具体调用如下:(1)包含头文件#include <utils/CallStack.h> //该头文件位于/system/core/utils中(2)在需要打印堆栈的位置如下调用android:CallStack stack;stack.update();stack.log(LOGTAG); //其中LOGTAG为在log中显示的日志标签...

2021-03-08 17:21:52 970

转载 Android gdb调试

Android对于C/C++代码的调试方式一般选用gdb+gdbserver的方式,其中gdbserver运行在目标系统中(如手机),gdb运行在宿主机上(如linux)。gdb主要有以下几个功能:启动程序,可以按照自定义的要求随心所欲的运行程序可让被调试的程序在所指定的断点处停住(断点可以是条件表达式)当程序被停住时,可以检查此时程序中所发生的事动态的改变程序的执行环境1、需要准备的东西a) 开发机:Ubuntu 12.04 LTSb) 目标手机:手机一部c) gdbserverd)

2021-03-08 17:10:06 1715

转载 linux kernel通过堆栈地址查询对应源代码的行

有如下kernel堆栈 0.121647: &lt;6&gt; CPU: 2 PID: 1 Comm: swapper/0 Not tainted 3.18.31-perf-g7b45103 #1 0.121657: &lt;6&gt; Hardware name: Qualcomm Technologies, Inc. MSM8940-PMI8950 MTP (DT) 0.121667: &lt;6&gt; Call

2021-03-08 16:43:13 1004

转载 段错误(核心已转储)问题的分析方法

问题现象今天在研究linux kernel中typedef的用法时,写了一个程序test_typedef.c,内容如下:#include<stdio.h>typedef int size;typedef unsigned int word;typedef char line[81];typedef void (*printStr)(line text);typedef printStr * pprintStr;typedef char * pstr;void printTe

2021-03-08 16:31:48 9058

转载 Android内核详解之Low memory killer

Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer .1,引入原因Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越来越多,内存肯定会出现不足,low memory killer就是在系统内存低于某值时,清除相关的程序,保障系统保持拥有一

2021-02-05 14:20:22 1360

原创 android8.x/android9.x/android10.x user版本打开adb root和调试功能

1、.修改ro.adb.secure和ro.secure属性2、关闭selinuxsystem/core/init/Android.mksystem/core/init/selinux.cpp3、修改adb模块的android.mk文件,在user模式下允许adb功能system/core/adb/Android.mk4、设置默认打开adb端口添加属性persist.sys.usb.config=ptp,adb 如下:device/autochips/ac8257_demo/devi

2021-02-03 15:13:07 2606 1

原创 Android8.x/9.x/10.x user版本关闭selinux以及打开UART控制台输入和关闭内核日志输出功能

1、user版本关闭selinux仅限于系统调试时使用,量产版本需要将其设置回去成ELINUX_ENFORCING模式。1.1)背景C:\Users\zhaojr> adb rootC:\Users\zhaojr> adb remountC:\Users\zhaojr> adb shellac8257:/ # getenforcegetenforceEnforcing这个表明Selinux权限存在。1.2) 开机抓取日志抓一份开机串口log,检索SELinux

2021-02-03 14:28:22 2264

原创 MTK平台视频倒车显示区域图像裁剪--第二部分

接着MTK平台视频倒车显示区域图像裁剪本文以N制(NTSC)摄像头为列,详细说明META分区中的x,y,w,h参数具体是怎么转化得到的,如下框图:如上图:w1为LCD上显示时左黑边,W2为右黑边,w3为图像显示宽度。h1为LCD上显示时底黑边,h2为上黑边,h3为图像显示的高度。因为N制的CVBS摄像头(p制为720x480)输入信号的分辨率是720x576,需要将LCD上显示的上下左右黑边裁剪掉时,需要将LCD裁剪的像素转换成N制的CVBS分辨率的像素,所以META分区中设置的参数为:左边裁

2021-01-14 11:02:12 446 1

转载 Android Open SL ES — 官方Demo解析native-audio

Open SL ES简介OpenSL ES – 嵌入式音频加速标准。OpenSL ES™ 是无授权费、跨平台、针对嵌入式系统精心优化的硬件音频加速API。它为嵌入式移动多媒体设备上的本地应用程序开发者提供标准化, 高性能,低响应时间的音频功能实现方法,并实现软/硬件音频性能的直接跨平台部署,降低执行难度,促进高级音频市场的发展。在Android中主要用到了一部分Open SL ES的功能,两者之间有交集但不完全一样,Android有自己的一部分扩展。主要功能介绍1、Assets目录音频播放2、c头

2021-01-11 18:29:12 524

转载 【MTK】user版本下输出aee db 和 anr trace

Aee 属性persist.mtk.aee.filteraee 有对上层三方app 进行过滤, 如需抓三方app 的exception, 可以设置属性:setprop persist.mtk.aee.filter 0// frameworks/base/core/java/com/mediatek/aee/ExceptionLog.javapublic void handle(String type, String info, String pid) { Log.w(TAG, "Excep

2021-01-11 18:04:12 524

转载 android8.x 连接网络无法自动更新时间

android通过访问NTP服务器来更新系统时间,代码位于:frameworks/base/services/core/java/com/android/server/NetworkTimeUpdateService.java***//连接网络和打开设置中的自动更新时间都会调用如下方法,来获取时间*** private void onPollNetworkTime(int event) { // If Automatic time is not set, don't bother

2021-01-11 17:36:52 594

原创 android系统user/userdebug版本设置selinux到SELINUX_PERMISSIVE模式

不是针对消费电子,像工控特殊行业应用,有时需要将android的selinux强行打开。方法如下:1、system\core\init\Android.mk--- a/system/core/init/Android.mk+++ b/system/core/init/Android.mkifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))init_options += \ -DALLOW_LOCAL_PROP_OVERRIDE=

2021-01-06 15:43:39 1260

转载 几种常见的I2S数据格式

I2S有3个主要信号:SCLK:串行时钟,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数LRCK:帧时钟,用于切换左右声道的数据。LRCK的频率=采样频率。SDATA:串行数据,就是用二进制补码表示的音频数据MCLK:主时钟,也叫系统时钟(Sys Clock)。为了使系统间能够更好地同步,MCLK的频率= 256倍或384倍采样频率。随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK

2021-01-06 09:41:33 2719

转载 imx8qm 9轴运动位置传感器LSM9DS1移植

HAL代码:https://github.com/STMicroelectronics/STMems_Android_Sensor_HAL_IIOhttps://www.st.com/content/st_com/zh/products/embedded-software/mems-and-sensors-software/drivers-for-mems/androidhal-iio.html内核驱动代码:https://github.com/STMicroelectronics/STMems_L

2020-12-29 18:13:50 1301

转载 max9286+max96705摄像头调试--基于imx8qm

一.硬件原理1.原理图2.引脚信息 /* max9286 */ SC_P_MIPI_DSI0_GPIO0_00 摄像头电源power-gpios SC_P_MIPI_CSI0_MCLK_OUT 摄像头信号触发,需要26HZ的pwm,gpi-gpios SC_P_ADC_IN0 pwn-gpios /* i2c */ SC_P_MIPI_CSI0_I2C0_SDA S

2020-12-29 16:38:39 2823

原创 导航软件文字转语音输出以及一些常用引擎安装包

地址:https://github.com/IT-Talon/TtsTest安装后默认的位置:设置TTS引擎位置:setting->language&input->text-to-speech output->preferred engine

2020-12-24 11:39:03 262

原创 android9.0(内核版本kernel-4.9)内核GPIO驱动实现-----MTK/ATC平台使用说明

1、内核中的GPIO使用(Gpio API in kernel)1)调用 of_get_named_gpio 从 DTS 节点中获取映射后的 gpio 号2)调用 gpio_request 向 kernel 申请 gpio 使用。3)调用 gpio_direction_output / gpio_direction_input 设置输出/输入方向4)调用 gpio_set_value / gpio_get_value 设置/获取 gpio 值2、Pinctrl API in kernel1)在

2020-12-19 16:49:56 1245 1

原创 android9.0(内核版本kernel-4.9)内核GPIO驱动实现-----高通平台

针对kernel-4.9(android9.0)内核GPIO驱动变化作一下记录:之前的内核版本可以直接在源码中定义管脚后,直接使用内核GPIO申请和控制接口就可以操作,但是到android这样操作直接的结果就是提示GPIO申请失败,所以必须要修改才能实现。kernel-4.9之前使用:#define MC2_GPIO_TOMCU_PIN6 6gpio_request(MC2_GPIO_TOMCU_PIN6 , “GPIO6”);gpio_direction_output(MC2_GPIO_TO

2020-12-19 15:02:17 1773 2

原创 objdump 反汇编 vmlinux详解

arm-linux-objdump -h vmlinux > vmlinux.txt显示 linux 内核段信息,如段的开始虚拟地址,段的长度arm-linux-objdump -S -l -z vmlinux > vmlinux.txt反汇编 vmlinux 到vmlinux.txt, vmlinux.txt 含有汇编和 c 源文件的混合代码,看起来很方便。而且能一步步看linux怎么一步步运行的。arm-linux-objdump -S -l -z -j ..

2020-12-08 19:21:03 2926

原创 AC8257 ubuntu16.04 android9.0 编译环境搭建--小米笔记本电脑的ubuntu安装

小米笔记本安装linux和ubuntu时注意主板启动+硬盘分区模式:1、如果主板启动+硬盘分区是:UEFI+GPT分区表模式,那么给ubuntu系统分区的时候,那么给ubuntu分区的时候不用设置/boot分区,设置efi系统分区2、如果主板启动+硬盘分区是:legacy+MBR分区模式,那么就要设置/boot分区,不能设置成efi系统分区在安装系统的时候,要选择自己划分分区,不要选择自动,系统分区如下:UEFI+GPT分区表模式:分区1:2048MB大小,选择EFI文件系统格式分区2:30GB

2020-12-04 15:21:08 540

原创 AC8257 ubuntu16.04 android9.0 编译环境搭建---制作启动盘安装ubuntu16.04

1、安装ubuntu16.04使用UltraISO制作U盘启动盘安装ubuntu16.04.U盘需要格式化成FAT32默认的格式,否则无法制作启动盘1)打开UltraISO软件,尽量下载最新版的,小编曾用某个旧版的UltraISO,制作的安装盘,不能不能识别磁盘,安装失败!2)打开镜像文件之后,在上方的列表中就会出现对打开的镜像文件的预览左边显示的是具体的目录,右边显示的目录和具体文件3)下面就开始制作启动盘了,点击菜单栏的“启动”,然后再弹出才按中选择“写入硬盘映像…”,打开“写入硬盘映像”对

2020-12-04 14:59:02 593

转载 Android 7.1 车机 Android 系统 在线升级,将安装到下载到/data/目录下面

最近按项目要求,需要做一个车机Android在线升级操作,但是cache内存太小了,最后只能寄存希望在 data/文件夹下,但是data/目录在6.0之后禁止recovery读取data文件.最后的解决方案是在/data/文件下创建一个系统app能够操作的文件夹,进行升级操作.1、升级流程Android自带升级流程 API RecoverySystem.java (framework/base/core/java/android/os/RecoverySystem.java)调用如下代码就可以进行

2020-11-24 15:20:34 25891

原创 Android5x 6x 7x 8x 9x SeLinux权限问题和解决方法

1. 确认 seLinux导致权限问题1.1 标志性log 格式:avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 tclass=访问类别 permissive=01.2 举例:Kenel log:avc: denied { execheap } for pid=7201 comm=“com.baidu.input” scontext=u:r:untrusted_a

2020-11-21 10:08:02 628

原创 MTK平台android recovery模式不删除FAT分区

原理:在android系统的recovery模式下,系统将进入data分区的格式化,而不是mount data分区后进入文件的删除,所以我们需要将系统进入recovery模式下格式化data分区修改成mount data分区,然后进入文件以及目录的删除。而MTK平台正常情况下MTK_SHARED_SDCARD = yes 这种模式下,系统编译后运行时FAT和data分区时合并在一起共享的,所以FAT的物理空间在data分区的范围内。在格式化data分区时会一并将FAT分区给格式化掉。所以需要进行mount后

2020-10-26 16:18:42 896 1

原创 android9.0 按键重新映射

项目需要TP上支持power(映射成屏幕关闭按键)、音量+ 音量- HOME和back按键,TP的驱动需要重新调试,GT928驱动和固件支持按键直接报键值,所以不需要使用按键坐标1、TP按键上报数组和开关配i的修改kernel-4.9\include\uapi\linux\input-event-codes.h#define KEY_MICMUTE 248 /* Mute / unmute the microphone /#define KEY_SCREENOFF 249 //add

2020-10-23 15:04:06 2408

原创 android9.0 MTK平台添加分区表

8257添加分区,主要修改以下文件:Changes to be committed: modified: build/make/core/Makefile modified: build/make/core/config.mk modified: build/make/core/envsetup.mk modified: build/make/core/main.mk modified: build/mak

2020-10-23 13:11:46 3321 8

原创 ac8257 LCD屏调试

ac8257 ATC已经修改成静态logo包含LCD的参数信息,所以直接根据LCD参数制作logo.mrf文件即可,直接替换logo即可正常显示。过程如下:1、下载TI的DSI Tuner 2.0工具,用来生成MIPI转LVDS芯片 sn65dsi83的寄存器参数如下:配置好之后,点击上图中圆圈,选择Generate CSR List, 生成如下图:将生成的寄存器参数填写到MRFToolv1.1.6/panel_info.txt文件中,如下:[Lvds_Init_S]{09, 00}{0A

2020-10-15 12:01:08 2982

原创 创建字符设备并创建文件系统接口

定义全局变量:static int tftloadopen;struct cdev * tftloaddev;struct class * tftload_class;static dev_t tftload_dev;struct device *ub948_dev;#define TFTLOAD_MAJOR MAJOR(tftload_dev)#define TFTLOAD_MINOR MINOR(tftload_dev)文件系统接口:static char semiskybuf[100

2020-10-05 16:05:44 107

RK_bootlogo.zip

RK平台的定制logo

2021-10-20

repo&&JDK8.zip

android开发下载代码用的repo工具,以及编译android8.0/9.0时需要的jdk工具包,配合编译环境的配置时使用,上传上去后面项目开发的时候直接取用,到时候不需要到处找

2020-12-04

freescale android9.0编译

freescale平台android9.0编译环境搭建文档,保存备用,非常不错的文档,经过验证是可以使用的,上传上来后面有用到时参考使用

2020-12-04

anroid8.1编译使用OpenJDK.tar.zip

该工具包主要用于Android8.1或android9.0的系统编译的JDK环境使用,方便后续开发时使用,存储在这个位置

2019-11-29

samba通用配置文件

ubuntu上samba通用的smb配置文件,将文件直接替换掉/etc/samba/smb.conf文件即可,非常方便

2019-11-29

yuv图像工具

主要用于查看yuv格式的图片文件,本文件主要针对博客中图像裁剪时使用

2019-04-15

python脚本用于处理Android的git库

主要用于repo管理时没有gerrit服务器,代码要从gerrit服务器迁移到git的情形

2018-09-30

python编写脚本工具

主要用来编写pyhton的脚本工具,python使用c或C++的编写工具编译容易导致语法错误,所以python脚本最好使用python的专用编辑器来编写

2018-09-30

批量上传git代码库

主要用于repo代码库迁移的时候批量上传已经的repo子git库到新的git服务器上。

2018-09-29

repo服务器批量创建字库

主要用于根据default.xml文件批量在git代码服务器上批量创建子库,用于repo代码迁移到不同服务器上

2018-09-29

Android便于环境设置

主要针对Android开发环境设置用,保存在博客中,以后备用

2018-09-29

smb配置文件,通用

ubuntu环境下的samba跟windows共享的配置文件,新的开发环境下,直接替换,修改共享目录,之后保存,重启samba之后生效

2018-09-29

meego.img制作笔记

meego.img制作笔记 本文详细讲解了meego.img到制作过程,完成后,能够成功在虚拟机上运行。

2010-10-21

libmeegotouch安装笔记

libmeegotouch安装笔记 适用用于基于meego到手机Ui开发

2010-10-21

多路嵌入式H.264视频服务器的设计详解

本文主要讲解了基于H.264的实时流媒体协议的视频服务器的开发,针对流媒体视频开发的用户而编写

2010-09-01

RTP实时流媒体相关开发手册

适合开发流媒体用户参考,包括流媒体协议相关的一些内容,RTP协议的详细分析,开发的过程等等

2010-09-01

uClinux 內核配置傻瓜教程

uClinux 內核配置,主要讲解uCLinux内核的配置选项

2008-09-10

高质量C++-C编程指南

高质量C++-C编程指南

2008-05-14

MPEG-2数据信号的接口解析

MPEG-2数据信号的接口解析

2008-05-14

闪存文本系统解析

本文详细介绍了闪存文本系统的方方面面

2008-05-14

linux内核分析笔记

这个Linuux0.11的内核分析笔记,很有参考价值,对于想学内核编程的人来说是非常不错的入门资料,我是从网上收集的,和大家一起分享.

2008-01-15

空空如也

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

TA关注的人

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