
高通android启动代码流程分析(SBL->ABL)
这篇文章介绍了UEFI引导流程以及与Android启动流程的关联。首先,文章概述了UEFI的概念、背景、优势以及与BIOS的区别。接着,文章详细解析了UEFI的运行流程,包括SEC安全验证、PEI EFI前期初始化、DXE驱动执行环境、BDS启动设备选择、UEFI Loader操作系统加载前期以及RT运行时等阶段。文章还介绍了如何创建UEFI DXE_DRIVER驱动及UEFI_APPLICATION应用程序,并以QcomChargerApp充电流程代码分析为例,展示了UEFI在实际应用中的使用。最后,文章还简要介绍了UEFI在Android启动流程中的应用,包括ABL(Android Boot Loader)和UEFI Application等。

ARMv8内存地址翻译
一、Armv8-A地址翻译 Armv8-A使用一个虚拟内存系统,其中代码所使用的地址(虚拟地址)被转换为内存系统所使用的物理地址。此转换由被称为内存管理单元(MMU)的处理器的一部分执行。Arm体系结构中的mmu使用存储在内存中的转换表将虚拟地址转换为物理地址。MMU将在必要时自动读取翻译表,此过程

为什么需要虚拟内存
copyright_author: 小林coding copyright_author_href: https://github.com/xiaolincoder/CS-Base copyright_info: 此文章版权归小林coding所有,如有转载,请注明来自原作者 copyright_url

Git入门图文教程
01、认识一下Git!—简介 Git是当前最先进、最主流的 分布式版本控制系统,免费、开源!核心能力就是版本控制。再具体一点,就是面向代码文件的版本控制,代码的任何修改历史都会被记录管理起来,意味着可以恢复到到以前的任意时刻状态。支持跨区域多人协作编辑,是团队项目开发的必备基础,所以Git也就成了程

linux源码解析06–常用内存分配函数kmalloc、vmalloc、malloc和mmap实现原理
copyright_author: 科学边界 copyright_author_href: https://www.daodaodao123.com copyright_info: 此文章版权归科学边界所有,如有转载,请注明来自原作者 copyright_url: https://www.daoda

高度自定义工具OneMore开发
一、OneMore的诞生 在公司其他事业部有一个工具包bsptools集成了一些常用的工具,咨询了作者不开源。 同时设计的UI界面因为偏重于实用,界面设计也较为复古 受到此软件的启发,有了制作一款高度自定义的集成工具的想法,OneMore由此诞生。 下图为软件登录界面

芯片是如何工作的?
一、晶体管原理 晶体管几乎改变了整个世界,一切以半导体为基础的电子元器件都离不开晶体管。令人惊讶的是,首个可运行晶体管于1947年12月23日面世,距今已有70多年!晶体管或许是人们发明的最具革命性的元器件之一。它的出现为集成电路、微处理器以及计算机内存的产生奠定了基础。 制作晶体管的主要材料为硅,

记一次频繁使用spinlock接口函数导致的无法开机问题
问题现象 售后出现一台无法开机的机器,现象是卡白米 问题分析 set_frame 0x00后没有ack set_frame 0x03后没有ack 同时kernel启动3s后,stick驱动一直反复打印日志,从3s到34s之间几乎全部是stick驱动读写的报错日志

高通平台Logfs分区Uefilog乱码乱序问题
一、问题现象 从导出的/dev/logfs中的UefiLog日志中存在乱码,且日志不全 C3F项目正常、C3F2项目异常 二、问题分析 从现象来看存在的乱码其实是‘0’,所以有可能是因为初始化的log buffer过大 大于实际的log buffer size,导致初始化的补0 打印了出来 数据乱序