
Android编译原理之make编译过程
一、make 以高通的代码为例,高通在编译时使用如下的指令进行编译,实质是对make的封装 ./build.sh --target_only 在执行一系列check的函数后,最终调用make执行执行编译。而make函数是在build/envsetup.sh时声明。

Android编译原理之lunch
一、概述 在 Android 7.0 之前,Android 编译系统使用 GNU Make 描述和shell来构建编译规则,模块定义都使用Android.mk进行定义,Android.mk的本质就是Makefile,但是随着Android的工程越来越大,模块越来越多,Makefile组织的项目编译时

Android系统中各image文件解压缩
Android系统编译之后的打包阶段,会将所有编译出来的有需要的执行文件,库文件以及各种配置文件等打包到各个镜像文件中。有时候我们需要看一下镜像文件中都打包了什么东西,那就可以通过一些方法将其挂载到一个目录,然后进行查看。 一、所用到的工具 1.1 simg2img 简述:将sparse格式的ima

高通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等。

Linux级联中断控制器注册与中断处理
{% tip success %} 特别提醒:本文章所有涉及的代码均可在{% u linux-5.15 %}处查看源码。 {% endtip %} 一、内核中关于中断控制器的几个概念 在介绍中断控制器的注册前先介绍内核中关于中断控制器几个知识点: 1.1 IRQCHIP_DECLARE 用于实现中断

linux源码解析05–ioremap原理
copyright_author: 科学边界 copyright_author_href: https://www.daodaodao123.com copyright_info: 此文章版权归科学边界所有,如有转载,请注明来自原作者 copyright_url: https://www.daoda

A64指令集学习
{% tip success %}参考文档:Armv8-A Instruction Set Architecture.pdf {% endtip %} 一、前言 Armv8-A 中的指令集 Armv8-A 支持三种指令集:A32、T32 和 A64。 在AArch64执行状态下执行时使用A64指令集

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

ARMv8‑A 架构和处理器
ARM 架构可以追溯到 1985 年,但它并没有停滞不前。相反,它从早期的 ARM 内核开始大规模发展,每一步都增加了特性 和功能: ARMv4 及更早版本 这些早期的处理器仅使用 ARM 32 位指令集。ARMv4T ARMv4T 架构将 Thumb 16 位指令集添加到 ARM 32 位指令集。

armv8的寄存器
AArch64执行状态提供了32个在任何时间任何特权级下都可访问的64位的通用寄存器。 每个寄存器都有64位宽,它们通常被称为寄存器X0-X30。 每个AArch64 64位通用寄存器(X0-X30)也具有32位(W0-W30)形式。

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

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