自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【U-Boot驱动模型DM】

DM即drivermodule,也就是驱动模型。后续以数据结构、如何定义、存放位置、如何获取四个部分进行说明。这种方式除了根设备外基本上不使用。(1)通过U_BOOT_DRVINFO宏来进行定义或者直接定义struct driver_info结构体(2)U_BOOT_DRVINFO宏以ns16550_serial为例U_BOOT_DRVINFO实现如下:和上述的U_BOOT_DRIVER类似注:在老版本的uboot中,没有U_BOOT_DRVINFO,而是用U_BOOT_DEVICE替代。

2023-04-04 18:26:50 2238

原创 EBBR规范对嵌入式Bootloader的要求

EBBR规范对嵌入式Bootloader的要求

2023-02-26 16:42:53 234

原创 U-boot 对UEFI的支持

U-boot 对UEFI的支持 如何?

2023-02-26 16:36:17 2866

原创 EDK2设备驱动模型

重点介绍了UEFI设备驱动模型,Controlller、Device Path、Image handle等内容,以及他们之间的关联。

2023-02-26 16:09:12 2366

原创 EDK2驱动框架之—Protocol

edk2中protocol的介绍,使用,实现等等。

2023-02-26 15:46:14 1242

原创 EDK2之debug

在UEFI开发中,非常重要的一个部分就是添加串口调试信息打印,这个通过DEBUG宏来完成。

2023-02-26 15:24:50 1666 2

原创 EDK2文件系统—新创建一个Fv卷标FS03

当我们新增加一个Fv时,理应会在shell中显式卷标FS03,但是发现没有显式出来,我们无法以文件系统的方式访问Fv3上的文件。这是为什么呢?

2023-02-26 15:21:52 710

原创 EDK2之模块加载—如何从FD中查找出特定固件卷文件FF?

查找FVPeiServices : EFI_PEI_SERVICES表的指针Instance : 要查找的FV实例。一般说来,该值为0时,FV指BFV,PEI Core就存在于BFV中。VolumeHandle :如果FV存在,该参数为该FV的FvHandle。

2023-02-26 15:11:05 453

原创 FD镜像文件生成过程分析

EDK2中FD二进制文件生成过程研究。

2023-02-26 15:05:25 412

原创 【Android13中host端解析ramdisk.img】

Android中提取ramdisk.img内容。

2023-02-08 17:45:11 469

原创 基础篇(三).A64指令集

A64指令只能运行在AARCH64环境中所有A64汇编指令都是32bit位宽A64支持全部大写或全部小写的书写方式A64指令分类 内存加载和存储指令 多字节内存加载和存储 算术和移位指令 移位操作 位操作指令 条件操作 跳转指令 独占访存指令 内存屏障指令 异常处理指令 系统寄存器访问指令。

2022-11-27 00:24:16 2138

原创 基础篇(二).ARMv8寄存器(2)

我们重点关注的是和启动相关的寄存器,异常处理相关寄存器,以及内存管理相关寄存器。看寄存器很枯燥,后面需要的寄存器,再追加吧。

2022-11-05 02:34:31 4614 1

原创 基础篇(二).ARMv8寄存器(1)

ARMv8架构(针对Core来说)至少有上千个寄存器,更别提Core外SOC级外设寄存器。这两类寄存器的区别是:前者(不管通用寄存器还是系统寄存器)不占用地址空间,而后者是和内存统一编制的,要占用地址空间。下面我们主要针对ARM Core内寄存器进行介绍。通用寄存器。这类寄存器主要是用来暂存数据和参与运算。通过load\store指令操作。状态寄存器。AArch64体系结构使用PSTATE寄存器表示当前处理器状态。特殊寄存器。有专门的用途,用于控制处理器的行为,或表示CPU的状态。系统寄存器。

2022-11-05 00:37:24 2990

原创 基础篇. ARMv8‑A 架构和处理器(2)

ARMv8是ARM公司发布的第一代支持64位处理器的指令集和体系结构。它在扩充64位寄存器的同时对上一代体系结构指令集兼容,因此它提供了运行32位和64位应用程序的环境。

2022-11-03 01:46:11 3671

原创 【内核崩溃kdump(sysdump)和crash分析】

kdump实现了"双内核"布局,Kdump 在内核在内核panic后,立即调用kexec 引导到转储捕获内核(capture kernel),使用 kexec 引导 “覆盖” 当前运行的内核。该“转储捕获内核”的内存区域由主内核的bootargs参数 crashkernel 或dts指定。“转储捕获内核”可以是专门build的单独 Linux 内核image,也可以在支持可重定位内核的系统架构上重用主内核映像。

2022-11-02 01:22:51 4241

原创 基础篇. ARM架构和处理器(3)

Arm Application-profile (A-profile) 架构面向高性能市场,例如 PC、移动、游戏和企业。A-profile 架构的最新版本是 Armv9-A 和 Armv8-A。Arm Application-profile (A-profile) 架构面向高性能市场,例如 PC、移动、游戏和企业。A-profile 架构的最新版本是 Armv9-A 和 Armv8-A。

2022-11-01 23:56:10 398

原创 基础篇.ARM架构介绍(1)

ARM公司主要向客户提供处理器IP。ARM体系结构是一种硬件规范,主要用来约定指令集、芯片内部体系结构等。以指令集为例,ARM体系结构并没规定每一条指令在硬件IP中如何实现,只是约定了每条指令的格式、行为规范、参数等。

2022-11-01 23:41:56 5314

原创 ARMv8/ARMv9总纲—学习路线

ARMv8\ARMv9架构学习路线。

2022-11-01 23:11:03 480

原创 [crash分析2]C语言在ARM64中函数调用时,栈是如何变化的?

做系统分析的话你肯定遇到过一些crash, oops等棘手问题,一般大家都会用 gdb, objdump 或者 addr2line等工具分析 pc 位置来定位出错的地方。但是这些分析工具背后的本质原理就不见得理解深刻了,而且有的时候面对一系列 backtrace 或者 stack 日志处于懵逼的状态。今天和大家一起看下面对 crash 日志的时候,如何利用 stack 来分析其变化的来龙去脉。

2022-10-12 10:15:55 2079 3

原创 [crash分析1]C语言在ARM中函数调用时,栈是如何变化的?

可以看到,上述所说的流程没有遵循ATPCS规范,根据反汇编的代码看到也没有遵循ATPCS规则的寄存器使用规则。1.在这里函数的传参一律使用栈传参,因此不涉及寄存器的保存。2.callee的返回地址没有使用LR寄存器,而是使用caller的栈保存子函数返回地址。3.FP寄存器在这里叫栈底寄存器,用来标识当前函数的栈底。每次进入一个子函数时,子函数一开始FP和SP相同,SP随着该子函数的栈变化而变化。

2022-10-12 10:15:12 626

原创 开宗明义—UEFI介绍 (二)

上一篇介绍了UEFI的发展历史,以及对UEFI在ARM嵌入式领域的生态状况做了简单的调研。本篇旨在对UEFI规范和PI规范的内容以及二者之间的关系做一个简单的梳理

2022-10-03 15:34:36 2024

原创 开宗明义—UEFI介绍 (一)

本文主要介绍UEFI的发展历史,以及对UEFI在ARM嵌入式领域的生态状况做了简单的调研。下一篇会对UEFI和PI规范做一些简单介绍

2022-10-03 15:33:50 2671

原创 建立一个 git 本地仓库

本地创建一个远程仓库,管理自己的实验代码,自娱自乐。

2022-07-19 22:50:46 6211

原创 QEMU + ARMv8 环境搭建

使用qemu 模拟ARMv8 平台运行,进行ARMv8代码实验。

2022-06-29 18:29:51 4245

原创 EDKII Build System篇之—工程配置文件(元数据)

EDKII的Build系统基于Python和C代码,支持跨平台编译。其底层逻辑是:将DEC、DSC、INF、FDF等用户元数据文件通过Build工具转换成Makefile和AutoGen.c、Autogen.h等中间文件。然后基于Makefile进行构建,生成最终FD镜像。本文主要介绍DEC、DSC、INF、FDF等用户元数据文件的写法,以及Build系统的主要执行流程。......

2022-06-25 17:01:02 2902 1

ARM裸机知识.doc

ARM裸机知识.doc

2021-03-08

空空如也

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

TA关注的人

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