- 博客(184)
- 资源 (21)
- 收藏
- 关注
原创 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 542
转载 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 1231
原创 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 2182 1
原创 android中git submodule使用
1、安装ubuntu16.04使用UltraISO制作U盘启动盘安装ubuntu16.04.U盘需要格式化成FAT32默认的格式,否则无法制作启动盘
2021-08-12 14:45:04 483
转载 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 873
原创 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 7957 1
原创 android-tools adb for ARM Linux
/************************************************************************* android-tools adb for ARM Linux 说明:有时候还真是系统通过USB线直接连接到ARM主板,这样就不一定需要网络才能传输文件,在做系统更新的时候,有时候也是不错的。**************************************************************
2021-06-16 09:52:25 1051
原创 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 3722
转载 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 1101
转载 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 2495
转载 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 450 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 1111
转载 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 1873
转载 linux kernel通过堆栈地址查询对应源代码的行
有如下kernel堆栈 0.121647: <6> CPU: 2 PID: 1 Comm: swapper/0 Not tainted 3.18.31-perf-g7b45103 #1 0.121657: <6> Hardware name: Qualcomm Technologies, Inc. MSM8940-PMI8950 MTP (DT) 0.121667: <6> Call
2021-03-08 16:43:13 1146
转载 段错误(核心已转储)问题的分析方法
问题现象今天在研究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 9211
转载 Android内核详解之Low memory killer
Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer .1,引入原因Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越来越多,内存肯定会出现不足,low memory killer就是在系统内存低于某值时,清除相关的程序,保障系统保持拥有一
2021-02-05 14:20:22 1546
原创 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 3083 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 2608
原创 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 504 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 660
转载 【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 650
转载 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 693
原创 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 1428
转载 几种常见的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 3302
转载 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 1520
转载 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 3235
原创 导航软件文字转语音输出以及一些常用引擎安装包
地址:https://github.com/IT-Talon/TtsTest安装后默认的位置:设置TTS引擎位置:setting->language&input->text-to-speech output->preferred engine
2020-12-24 11:39:03 306
原创 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 1485 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 2040 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 3509
原创 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 595
原创 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 683
转载 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 27017
原创 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 931
原创 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 1032 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 24117
原创 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 3777 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 3367 1
原创 创建字符设备并创建文件系统接口
定义全局变量: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 135
repo&&JDK8.zip
2020-12-04
freescale android9.0编译
2020-12-04
anroid8.1编译使用OpenJDK.tar.zip
2019-11-29
python编写脚本工具
2018-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人