自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 USB-PD 协议

USB-PD(Power Delivery)是基于USB Type-C的一种电源供电标准,最大供电功率可达100瓦(W);随着USB Type-C的普及,越来越多的设备(手机、平板、显示器、工作站、充电器等)使用USB-PD快速充电方案。1、USB Type-C简介         Type-C是USB接口的一种形式,不分正反两面均可插入,支持USB标准的充电、数据传输、视频...

2021-07-30 16:30:29 7422 2

转载 BC1.2协议

BC1.2定义 BC1.2 (Battery Charging v1.2)是USB-IF下属的BC(Battery Charging)小组制定的协议,主要用于规范电池充电的需求,该协议最早基于USB2.0协议来实现。   BC1.2充电端口 USB2.0协议规定外设从USB充电器抽取电流的最大值为500mA,500mA的电流限制无法满足日益增长的快充需求。因此,BC1.2引入了充电端口识别机制,主要包括以下几个USB端口类型: 1.标准下行端口(...

2021-04-20 09:46:24 2194

原创 lora 数据完整性校验方案

lora 数据完整新校验方案针对两个lora模块之间的数据完整性校验,不包含级联情况:消息头同步:12个字节消息头标识+该包数据总长度+该数据包的CRC16| 0x5A5A5A5A |len|CRC16|原理:发送端首先发送第一包数据消息头,接收端根据收到的消息头,获取数据包长度,然后接收对应长度的数据包,如果存在一包消息头不对,则请求发送端,重新同步消息头。2 .数据包切片发送按照8字节一个发送包切片,pkts = len/8;reminder = len%8;while(1)

2021-03-10 14:24:46 949

原创 高通GPIO Debug

For PMIC need to operate the register.cd /d/regmap/spmi0-00echo 0xc046 > address //0xc046 =gpio1 0xc047=gpio2echo 0x1 > countecho 0x80 >data主芯片qcom MSMXXXXGPIO_106GPIO_171.给权限adb rootadb shellsu2.将gpio所有端口号以及功能列出cat /sys/kernel/debug/

2021-02-08 10:01:33 1153

转载 深入讲解Android Property机制

深入讲解Android Property机制 侯亮 1      概述      Android系统(本文以Android 4.4为准)的属性(Property)机制有点儿类似Windows系统的注册表,其中的每个属性被组织成简单的键值对(key/value)供外界使用。 &...

2021-02-07 10:31:35 1338

翻译 2020-12-16

SuspendMediatek 完全使用Android Suspend框架 1、Suspend Flow 从灭屏到CPU进入suspend的大体流程框架如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20201216105139764.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZ...

2020-12-18 11:50:47 3027

转载 一文搞懂虚拟内存

虚拟内存的那点事儿我们都知道一个进程是与其他进程共享CPU和内存资源的。正因如此,操作系统需要有一套完善的内存管理机制才能防止进程之间内存泄漏的问题。为了更加有效地管理内存并减少出错,现代操作系统提供了一种对主存的抽象概念,即是虚拟内存(Virtual Memory)。虚拟内存为每个进程提供了一个一致的、私有的地址空间,它让每个进程产生了一种自己在独享主存的错觉(每个进程拥有一片连续完整的内存空间)。理解不深刻的人会认为虚拟内存只是“使用硬盘空间来扩展内存“的技术,这是不对的。虚拟内存的重要意义是它

2020-12-04 18:41:39 434

转载 安卓待机异常

待机异常篇待机异常篇待机异常 1: 按Power key后,连early_suspend都没进。待机异常 2: 能够进early_suspend。但进不了suspend待机异常 3: 能够进suspend,但出现:PM: Some devices failed to suspend待机异常 4: 能够进入到suspend_enter,suspend流程走完了。但非常快被唤醒待机异常 5: 能够进入到suspend_enter,也不被唤醒,但电流非常大。CPU也较烫 关于...

2020-11-20 17:43:00 973

原创 Lora组网

1、点对点 点对点组网模式比较好理解,两个模块一收一发,不会存在区分模块的问题。 2、星型 星型组网的话就要涉及到区分模块(这里指的是节点)的问题,由于lora模块本身只处理无线通信问题,并且它的通信都是广播的,主从模式都是自动切换的,这里就体现出的他的另一种组网模式(中继,下面再说)在星型组网下,只有发数据的一个节点是主机模式,其他模块在接受的时候都会主动切换到从机模式,并且在接受范围内的所有节点都会收到发送的数据,因此在这种组网下,每一个接待你都需要有过滤数据的能力,可以在单片机上实现报过滤,和

2020-10-29 11:02:53 7369 6

转载 LoRa资料

1.) 什么是LoRa调制? LoRa (Long Range,远距离)是一种调制技术,与同类技术相比,提供更长的通信距离。调制是基于扩频技术,线性调制扩频(CSS)的一个变种,具有前向纠错(FEC)。LoRa显著地提高了接受灵敏度,与其他扩频技术一样,使用了整个信道带宽广播一个信号,从而使信道噪声和由于使用低成本晶振而引起频率...

2020-10-28 11:55:13 1451

原创 get_boot_mode逐步丢弃

从Android R(kernel-4.19)开始使用common kernel,一些旧的接口逐步丢弃,如get_boot_mode采用新的方式,Get bootmode from device tree property “atag,boot”Android R 获取启动模式的接口可以使用如下方法:```cint get_boot_mode(void){ struct device_node *np_chosen; struct tag_bootmode *tag

2020-10-09 21:09:20 650

转载 SD卡开发文档

文章转自http://www.51hei.com/mcu/4125.html 1、简介   SD卡是基于flash的存储卡。  SD卡和MMC卡的区别在于初始化过程不同。  SD卡的通信协议包括SD总线和SPI两类。  SD卡使用卡内智能控制模块进行FLASH操作控制,包括协议、安全算法、数据存取、ECC算法、缺陷处理和分析、电源管理、时钟管理。 通信电压范围:2...

2020-09-22 14:36:25 537

原创 vbmeta.img镜像生成

vbmeta镜像的作用:验证启动(Verified Boot)是Android一个重要的安全功能,主要是为了访问启动镜像被篡改,提高系统的抗攻击能力,简单描述做法就是在启动过程中增加一条校验链,即 ROM code 校验 BootLoader,确保 BootLoader 的合法性和完整性,BootLoader 则需要校验 boot image,确保 Kernel 启动所需 image 的合法性和完整性,而 Kernel 则负责校验 System 分区和 vendor 分区。由于 ROM code 和 B

2020-09-21 20:24:59 17179 3

原创 Android Verified Boot 2.0 ---- 摘自说明文档

Android Verified Boot 2.0This repository contains tools and libraries for working with AndroidVerified Boot 2.0. Usually AVB is used to refer to this codebase.Table of ContentsWhat is it?The VBMeta structRollback ProtectionA/B SupportThe VBMeta

2020-09-21 19:18:48 771

原创 MTK fastboot代码流程

一、进fastboot之前bootloader入口文件为vendor\mediatek\proprietary\bootable\bootloader\lk\arch\arm arch\arm\crt0.S,前面的是一些环境和硬件的初始化,我们直接从kmain:”bl Kmain“开始,该函数位于main.c文件中。kmain()—>bootstrap2()—>apps_init()void kmain(void){ … 初始化环境的一系列的init thread_t *threa

2020-09-17 16:34:19 2604

转载 Android OTA升级原理和流程分析(九)---updater-script脚本语法简介以及执行流程

转载自:http://blog.csdn.net/mu0206mu/article/details/7465603          目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制。一、upda...

2020-09-11 10:37:15 1201 3

转载 Android OTA升级原理和流程分析(八)---升级程序update_binary的执行过程

转载自:http://blog.chinaunix.net/uid-22028566-id-3533857.html一、update_binary的执行过程分析       上一篇幅中的子进程所执行的程序binary实际上就是update.zip包中的update-binary。我们在上文...

2020-09-11 10:36:00 1122

转载 Android OTA升级原理和流程分析(七)---Recovery服务的核心install_package函数

转载自:http://blog.chinaunix.net/uid-22028566-id-3533856.html一、Recovery服务的核心install_package(升级update.zip特有)              和Recovery服务中...

2020-09-11 10:35:14 653

转载 Android OTA升级原理和流程分析(六)---Recovery服务流程细节

转载自:http://blog.chinaunix.net/uid-22028566-id-3533855.html         Recovery服务毫无疑问是Recovery启动模式中最核心的部分。它完成Recovery模式所有的工作。Recovery程序对应的源码文件位于:/...

2020-09-11 10:34:12 863

转载 Android OTA升级原理和流程分析(五)---update.zip包从上层进入Recovery服务

转载自:http://blog.chinaunix.net/uid-22028566-id-3533854.html    文章开头我们就提到update.zip包来源有两种:        一个是OTA在线下载(一般下载到/CACHE分区);  &nbsp...

2020-09-11 10:32:56 980

转载 Android OTA升级原理和流程分析(四)---Android系统Recovery模式的工作原理

转载自:http://blog.chinaunix.net/uid-22028566-id-3533853.html        在使用update.zip包升级时怎样从主系统(main system)重启进入Recovery模式,进入Recovery模式后怎样判断做何种操作,以及怎样获得...

2020-09-11 10:32:00 864

转载 Android OTA升级原理和流程分析(三)---Android系统的三种启动模式

转载自:http://blog.chinaunix.net/uid-22028566-id-3533851.html        以下的篇幅开始分析我们在上两个篇幅中生成的update.zip包在具体更新中所经过的过程,并根据源码分析每一部分的工作原理。一、  &n...

2020-09-11 10:30:46 1545

转载 Android OTA升级原理和流程分析(二)---update.zip差分包问题的解决

转载自:http://blog.chinaunix.net/uid-22028566-id-3533849.html       在上一篇末尾提到的生成差分包时出现的问题,现已解决,由于最近比较忙,相隔的时间也比较长,所以单列一个篇幅提示大家。这个问题居然是源码中的问题,可能你已经制作成功了,...

2020-09-11 10:29:43 1763

转载 Android OTA升级原理和流程分析(一)--update.zip包的制作

转载自:http://blog.chinaunix.net/uid-22028566-id-3533848.html这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动...

2020-09-11 10:27:40 1675

原创 Android系统分区介绍

Android系统分区介绍hboot——系统开机引导类似电脑BIOS,这块刷错手机就会变成砖radio——通讯模块、基带、WIFI、Bluetooth等衔接硬件的驱动软件 model分区recovery——系统故障时负责恢复boot——Linux嵌入式系统内核system——系统文件、应用cache——系统运行时产生的缓存userdata——用户使用APP产生的缓存数据几个关键分区:/boot它由 kernel 和 ramdisk 构成,内核就这这里/system这个分区包含了整个

2020-09-09 15:06:03 2537

原创 安卓升级包update.zip的制作

update.zip包的制作一、 update.zip包的目录结构|----boot.img|----system/|----recovery/|----recovery-from-boot.p|----etc/|----install-recovery.sh |---META-INF/|CERT.RSA|CERT.SF|MANIFEST.MF|----com/|----google/|----android/|----update-binary|----updater-script|-

2020-09-09 15:01:22 5200 1

原创 如何确认芯片是被MTK验证过

如何确认芯片是被MTK验证过MTK 平台和高通平台在器件选型时都要求选择已经验证过的器件。第一步需要QVL验证1) 根据硬件原理图和厂家的芯片资料, 确定EMMC 和DDR 2+32,型号如下:memory 2+32GB LPDDR4X KM4X6001KM-B321 Samsung2+32GB LPDDR4X 32EMCP16-ML4ATB29-A91 Kingston2)、到MTK 网站https://onlinesso.mediatek.com/qvl/_layouts/15/m

2020-09-08 15:13:29 1274

原创 Const的用法及作用

constconst全名 Constant意为:常数,常量。const修饰变量,其作用也在编译阶段,告诉编译器,该变量我私定终身了(Tips:编译四个阶段:1预处理define\include\条件编译等;2编译;3汇编;4链接),在以后的运行过程中,休的胡来。const和define功能类似但是它们是有区别的,比如说:作用的阶段,一个在预处理,一个在编译;define定义的就是个常量,而c...

2020-03-15 15:54:55 1252 2

原创 volatile的用法和作用

**volatile**首先volatile修饰的变量,作用在编译阶段,影响编译出的结果,其修饰的变量是随时可能被修改的,volatile告诉编译器,这个变量是重要人物,不要偷懒的去走捷径,每次认认真真的去从内存拿值。举个简单的例子:求平方:int square(volatile int *ptr){return *ptr * *ptr;}假如在你做运算的时候,外部函数将ptr...

2020-03-14 17:28:53 838

Android PMIC Charger User Guide.docx

Android PMIC Charger User Guide

2020-12-26

空空如也

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

TA关注的人

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