自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux开发工具:gcc

GCC(GNU Compiler Collection)编译器在1987年发布了第一个C语言版本,它是用GPL许可证发行的自由软件,也是GNU计划的关键部分。GCC现在是GNU Linux操作系统的默认编译器,同时也被很多自由软件采用。GCC 在后续的发展过程中,扩展支持了很多的编程语言,如C++、Java、Go等语言。另外,GCC还支持多种不同的硬件平台,如x86、ARM等体系结构。

2023-07-20 13:38:10 121

原创 CAN总线物理层

CAN总线有ISO11898和ISO11519(低速容错CAN)两个标准ISO11898高速CAN电平状态为:隐性状态逻辑为1,电平状态表现为CAN_H,CAN_L均为2.5v, 电平差为0v;显性状态逻辑为0,电平状态表现为CAN_H为 3.5v,CAN_L均为1.5v,电平差为2v;ISO11519低速CAN电平状态为:隐性状态逻辑为1,电平状态表现为CAN_H为 1.75v,CAN_L均为3.25v,电平差为-1.5v;

2023-07-19 23:45:00 171

原创 linux开发工具:repo

repo是Google开发的用于管理Android版本库的一个工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。repo不是用于取代git,而是简化了对多个Git版本库的管理。repo可以帮助您统一管理多个Git版本库,包括但不限于:初始化、同步、提交、推送、拉取、合并等。repo的使用方法如下:安装repo初始化repo同步代码提交代码推送代码拉取代码合并代码。

2023-07-19 23:15:00 663 1

原创 Can总线概述

CAN总线是控制器局域网络(Controller Area Network,CAN)的简称,由德国BOSCH公司开发,并最终成为国际标准(ISO 11898-1),是一种串行数据通信总线。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。

2023-07-18 23:30:00 71

原创 linux开发工具:git

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git是一个分布式版本控制系统,意味着整个代码库都是在本地存储的。这使得Git非常快速和灵活,因为您不必依赖于中央服务器来存储您的代码库。git initgit clonegit addgit commitgit pushgit pullgit merge等。这些命令可以帮助您管理您的代码库并与其他人协作。¹⁴。

2023-07-11 22:30:00 762 1

原创 Qcom平台 ffbm/fct 使用mm-audio-ftm 测试audio流程分析

[TOC]1:FFBM测试1.1:测试应用界面由UI内容可知,audio相关的测试项有4个,分别是 speaker测试,已经2个mic到speaker的回环,以及一个耳机mic的回环;它在ui中的配置是在:vendor/qcom/proprietary/commonsys/fastmmi/res/config/mmi.xml中 <!-- default config for UI mode --> <modules> <module.

2022-01-05 11:37:48 1172

原创 qcom SM6125平台 dmic调试

文章目录1:硬件信息2:Dmic配置点2.1:声卡dts配置2.2:pinctrl DTS配置2.3:路由配置3:SM6125上Dmic调试过程3.1 Codec Bolero 注册3.2 widget和snd_kcontrol注册3.3 dai link注册3.4 audio route4:修改内容diff4.1:设备树修改4.2:Codec修改4.3:xml修改5:Tinymix 测试1:硬件信息平台gpio 列表:对应 SEC_MI2S gpio groupgpio125gpio126g

2022-01-04 19:37:42 2463 1

原创 HDMI 数据包简析

HDMI数据传输HDMI 系统架构由信源端和接收端组成。某个设备可能有一个或多个HDMI 输入,一个或多个HDMI 输出。这些设备上,每个HDMI 输入都应该遵循HDMI 接收端规则,每个HDMI输出都应该遵循HDMI 信源端规则。HDMI 线缆和连接器提供四个差分线对,组成TMDS数据和时钟通道。这些通道用于传递视频,音频和辅助数据。另外,HDMI 提供一个 VESA DDC 通道。 DDC是用于配置和在一个单独的信源端和一个单独的接收端交换状态。可选择的CEC 在用户的各种不同的音视频产品中,提供

2021-08-21 19:12:05 1684

原创 HDMI接口及规范

HDMI定义及术语HDMI(High Definition Multimedia Interface)高解晰度多媒体数位传输界面;它是基于DVI(Digital Visual Interface)的基础上延伸出的新定义;它所涉及的概念有:TMDS:(Time Minimized Differential Signal)最小化差分信号传输,是一种差分信号传输方式,HDMI信号传输通道采用了这种方式。HDCP: (High-bandwidthDigital Content Protection)

2021-08-21 19:10:59 10266 3

原创 android开机铃声强制通过指定耳机通路输出

功能描述在系统开机时,强制开机铃声只通过耳机通道播放;不管是否有插入耳机,最终开机铃声都通过耳机通道输出;开机后保持原有的音频策略设置;android开机铃声添加过程android的开机铃声添加方案,一般是放在 开机动画bootanimation的过程中实现的;Android bootanimation所在的位置是:(qcom android N)frameworks/base/cmds/bootanimation/code/frameworks/base/cmds/bootanimation

2021-08-21 19:09:24 782 1

原创 通过app修改mixer ctrl Demo

访问mixer在调试audio时,大多数场景下可以通过tinymix命令,可以直接访问控制注册到audio子系统的kcontrol节点;在android audio的开发过程中,有需求通过app直接访问到这部分的控制,可以通过jni 本地方法访问声卡mixer来完成;创建一个声卡,会对应一个snd control节点,它的路径是:/dev/snd/controlC0可以通过open 该节点,通过IOCTL来访问声卡;对于mixer ctrl的访问,可以参考tinyalsa 中tinymix的实

2021-08-21 19:07:41 207

原创 Qcom 平台 pmic adc读取代码实现

Kernel demo 参考代码:#include <linux/module.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/device.h>#include <linux/kernel.h>#include <asm/uaccess.h>#include <linux/of_gpio.h>#include <linu.

2021-08-02 20:52:25 447

原创 Android Senor Framework (五) SensorManager

SensorManager通过前面的博客介绍可知在Java application中, 由SystemSensorManage对象管理每一个sensor;在msm8909平台的HAL sensor实现中,有native SensorManager 管理HAL sensor 与Sensor driver交互,同时与Freamwork交互;在它们中间即Native C/C++ Libraries中,同样也是由相应的SensorManager管理; 以下是SensorManager class定义:cla

2021-07-31 15:59:28 1042

原创 Android Senor Framework (四)SensorService加载

onFirstRef前个内容介绍了 SystemServer启动SensorService的过程,同时描述了 SensorService有集成它的类间接父类RefBase,SesnorService中重写了onFirstRef方法,该方法在SensorService对象被第一次强引用时自动调用其onFirstRef方法; 下面是Sensor Service的onFirstRef实现:代码路径:./frameworks/native/services/sensorservice/SensorService

2021-07-31 15:55:37 752

原创 Android Senor Framework (三)SensorService启动

SystemServer 启动SensorServiceZygote启动之后,调用SystemServer的main方法(调用run方法)启动系统服务;代码路径:./frameworks/base/services/java/com/android/server/SystemServer.javaSystemServer类中提供的run 方法中,在启动service之前,会加载本地动态库System.loadLibrary(“android_servers”)初始化本地 Native servic

2021-07-31 15:54:04 618

原创 Android Senor Framework (二) Application

本节主要分析的是java层次相关的软件内容Application开发谷歌开发者网站 sensors 中提供了AOSP提供的sensor相关的api介绍及demo;可以参考下相关资源:传感器动态传感器位置传感器环境传感器Accelerometer PlayAPI 演示 (OS - RotationVectorDemo)App demo 实现public class MainActivity extends AppCompatActivity implements SensorEven

2021-07-31 15:41:15 354

原创 Android Senor Framework (一) 总览

Android Senor Framework (一) 总览Android Senor Framework (二) ApplicationAndroid Senor Framework (三)SensorService启动Android Senor Framework (四)SensorService加载Android Senor Framework (五) SensorManagerAndroid Senor Framework (六) Sensor Data整理中。。。。。。。。。。。。。。

2021-07-31 15:37:49 208

原创 Android Sensor Input类型 (五) Sensor HAL NativeSensorManager

NativeSensorManager代码路径:code/hardware/qcom/sensors/NativeSensorManager.cppcode/hardware/qcom/sensors/NativeSensorManager.hNativeSensorManager类定义class NativeSensorManager : public Singleton<NativeSensorManager> { friend class Singleton<N

2021-07-31 15:33:07 638 2

原创 Android Sensor Input类型 (四) Sensor HAL 实现

msm8909 Sensor HAL代码路径:code/hardware/qcom/sensors/核心作用:封装对 sensor的方法,不直接通过本地C库直接访问 点击展开 全部文件 ├── Accelerometer.cpp├── AccelSensor.h├── AkmSensor.cpp├── AkmSensor.h├── algo ├── Android.mk├── Bmp180.cpp├── CalibrationManager.cpp

2021-07-31 15:28:53 1033

原创 Qcom Audio PCM数据流 Qxdm log抓取,Qcat解析相关

0x152E LOG_ADSP_AUD_DEC_IN_C //aDSP audio decoder input logThis log code can log both encoded bit stream data and PCM data as input to the audio decoder.0x152F LOG_ADSP_AUD_POPP_IN_C //aDSP audio per-object postprocessing input log0x1530 LOG_ADSP_AUD_MT.

2021-06-28 11:53:32 1153 1

原创 高通android平台一种Boot id select 方案:根据gpio不同的状态选择使用不同的设备树配置

1:需求使用相同的固件rom包,在设备启动过程中,根据硬件设计的一个或多个gpio引脚的高低电平来选择使用不同的设备树配置。2:修改思路在qcom平台上,存在有几十个设备树文件, 这些设备树中都会包含多组 board-id, plateform-id, pmic-id 等信息, 用于与之比较的是在lk中读取到的设备信息。现在新建立一个新的设备树文件,就要保证 在匹配过程中,能够有条件让我们添加的设备树被正确的识别并匹配到。所以修改的思路是,在lk读取设备信息之后, 根据gpio的状态 去

2021-06-23 17:06:16 866

原创 Android开发 System Ramdisk相关

Andoird7 上 Ramdisk挂载为根文件系统在android7 上文件系统的root是挂载 ramdisk; ramdisk镜像是被打包在boot.img上。可以通过unpack_bootimg 工具对boot.img镜像拆解:unpack_bootimg需要执行android编译的环境设置后,makeunpack_bootimg;执行过程及结果:yujixuan@yujixuan:~/prj/code/out/target/product/msm8953_64/bootou.

2021-06-22 11:47:21 541

原创 高通android设备themal读取cpu温度

以msm8953的themal分布信息,主要是下图的位置:这其中 cpu相关的themal的位置有:读取thermal 温度数据可以通过以下几个步骤:获取sensor_info root@msm8953_64:/ # cat /sys/module/msm_thermal/sensor_infotsens:tsens_tz_sensor0::10 tsens:tsens_tz_sensor1::10 tsens:tsens_tz_sensor2:pop_mem:10 tsen

2021-06-21 19:54:18 1918

原创 高通平台 mipi转接屏调试 (以转lvds icn6202例)

mipi to lvds 显示调试 调试前准备:

2021-06-19 14:32:15 3293 1

原创 高通 msm8909 watchdog overview

高通的描述看门狗定时器是一个固定长度的计数器,它使系统能够从意外的硬件或软件灾难中恢复。除非系统定期重置看门狗定时器,否则看门狗定时器会在定时器超时后自动重置系统。MSM ASIC 为芯片系统使用了一个看门狗定时器。调制解调器软件负责重置看门狗(kicking or petting the dog)并通过定期检查系统中的其他处理器(通过中断线握手)来检查系统中的其他处理器是否正常工作。除了复位触发信号(wdog expired),还可以在看门狗到期之前生成看门狗中断,以允许处理器在重置系统之前尝

2021-06-17 20:47:25 1247 1

原创 Android Sensor Input类型 (三) Sensor Class

Sensors Class驱动Sensors class的逻辑相对简单,与最简单led子系统逻辑相似向用户空间提供可供访问的device读写设备节点,向sensor设备驱动提供统一的注册接口,定义了统一的 sensors_classdev 数据结构,规范了sensor设备驱动的架构。下面来分析下sensors class驱动主要做了哪些事情。 注册classstatic int __init sensors_init(void){ sensors_class = class.

2021-06-16 11:38:38 789

原创 Android Sensor Input类型 (二) Device Driver

SENSORS 设备驱动1.1 Device tree 配置在msm8909平台上,sensors 是挂载在BLSP1 QUP1 上,所以需要在 i2c1 的节点下配置,以磁传感器mmc3416 为例; mpu6050@68 { compatible = "invn,mpu6050"; reg = <0x68>; pinctrl-names = "mpu_default","mpu_sleep"; pinct..

2021-06-16 11:32:17 635

原创 Android Sensor Input类型 (一) 简介

i2cinputiio

2021-06-16 10:52:08 656

原创 qcom高速串口调试

高通平台 支持通过uart唤醒系统, 前提是使用高速串口驱动,即msm_serial_hs.c ,这个驱动中是将rx配置成这里简单列下高速串口的配置过程。打开驱动宏控:kernel/arch/arm/configs/msm8909-1gb_defconfig+CONFIG_SERIAL_MSM_HS=y添加 高速串口配置修改kernel/arch/arm/boot/dts/qcom/msm8909.dtsi+blsp1_uart2:uart@78b0000{+...

2021-06-15 15:30:26 1980

原创 Android PowerSupply (四)ChargeIC SGM41511 IC driver调试

注册i2c 设备static struct of_device_id sgm41511_charger_match_table[] = { { .compatible = "sgm41511", }, { },};static const struct i2c_device_id sgm41511_charger_id[] = { { "sgm41511", 0x00 }, { },};static struct i2c_driver sgm41511_charger_driver

2021-06-15 15:15:44 1451 4

原创 Android PowerSupply (五)ChargeIC SGM41511 IC简介

IC介绍:

2021-06-15 13:38:37 3579

原创 Android PowerSupply (三)power_supply_sys

static int __init power_supply_class_init(void){ power_supply_class = class_create(THIS_MODULE, "power_supply"); //!< 注册powersupply类,路径 /sys/class/powersupply By: jixuan 2021年6月15日 power_supply_class->dev_uevent = power_supply_uevent; //!<.

2021-06-15 13:22:27 847 1

原创 Android PowerSupply (二)power_supply_core

整理中

2021-06-10 20:26:06 725 3

原创 Android Healthd Framework(三)Charge

整理中

2021-06-10 20:22:26 111

原创 Android Healthd BartteryMonitor

BartteryMonitor Class类

2021-06-10 20:06:58 646

原创 Android Healthd Framework(一)总概

整理中

2021-06-10 10:33:10 206

原创 Android PowerSupply (一)总概

test

2021-06-10 10:22:59 1116

原创 软考笔记(八)高级系统架构师/分析师:系统架构

软件架构定义软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件架构 连接需求分析 和软件设计一般来说,架构可以分为表现层、中间层和持久层三个层次。(1)表现层。表现层主要负责接收用户的请求,对用户的输入、输出进行检查与控制,处理客户端的一些动作,包括控制页面跳转等,并向用户呈现最终的结果信息。表现层主要采用MVC结构来实现。控制器负责接收用户的请求,并决定应该调用哪个模型来处理;然后,模型根据用户请

2021-05-17 15:38:32 2559

原创 软考笔记(十)高级系统架构师/分析师:系统测试 维护 稳定性

测试的分类动态测试黑盒测试透明的,不可见细节等价类划分 边界值分析 错误推测 因果图白盒测试基本路径测试 循环覆盖测试 逻辑覆盖测试灰盒测试静态测试桌前检查 代码审查 代码走查测试特点尽早、不断的进行测试程序员避免测试自己设计的程序既要选择有效、合理的数据,也要选择无效、不合理的数据修改后应进行回归测试尚未发现的错误数量与该程序已发现错误数成正比测试与调试的区别测试的目的是找出存在的错误,而调试的目的是定位错误并修改程序以修正错误调试是测试之..

2021-05-15 15:09:54 1026

原创 软考笔记(七)高级系统架构师/分析师:系统分析 系统设计

面对对象分析面向对象分析类与类之间IS-A:泛化关系USE-A:依赖关系IS-PART-OF:部分和整体的关系,聚合关系系统设计需求分析之面向对象 OOA类封装组成在系统设计过程中,类可以分为三种类型,分别是实体类、边界类和控制类。1、实体类实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息,例如,在线教育平台系统...

2021-05-14 17:32:20 941

biglauncher.apk

bigluauncher 应用;小屏显示 android UI使用

2021-06-29

spidev_test 可执行文件

测试spi 回环通信

2021-06-29

HarmonyOS设备应用开发文档

HarmonyOS设备应用开发文档

2021-06-28

深入理解Android:WiFi模块 NFC和GPS卷 - 邓凡平.zip

深入理解Android:WiFi模块 NFC和GPS卷 - 邓凡平, PDF版,可复制编辑。

2019-05-24

serialPortApiSample_Demo.zip

实现 uart 收发的 简单demo,附上源码,亲测好用。 如果闪退,可关闭 selinux测试, 打不开串口节点,可以尝试修改对应的串口节点权限。

2019-05-24

ARDC(B1419) 中文安卓投屏工具,免费稳定,清晰。

免费的 安卓投屏工具,ARDC(B1419),支持中文,支持帧率选择,不需要会员, 支持dump出各种log, 及常用adb cmd。 投屏效果 比 Total Control 及vysor 等同类软件清晰 稳定。 支持安装adb索引。 打开权限后 即可直连。

2019-04-13

空空如也

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

TA关注的人

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