ARMV8_AARCH64裸机启动流程分析

本篇针对于ARMV8架构下64位模式的裸机启动代码流程分析,重点介绍裸机启动代码bootcode.s。
重点了解ARM处理器从上电到跳转到main函数的过程!!!
1、寄存器初始化
首先我们需要初始化相关寄存器:
通用寄存器;SP寄存器(stack pointer);System control registers.(控制寄存器)。
1.1、初始化通用寄存器
ARM处理器使用一些非复位触发器。这可能会导致模拟中出现X传播问题。寄存器初始化有助于减少问题的可能性。寄存器的低32位用w来表示。
注:由于X状态仅存在于硬件模拟中,因此在硅芯片上不需要此初始化。
对寄存器的初始化代码代码1-1所示:
/*code1-1: Initialize the stack pointer.*/
MOV X0, XZR
…………………
MOV X30, XZR

如果处理器实现NEON和FP扩展功能,浮点寄

ARMV8_AARCH64裸机启动流程分析最先出现在Python成神之路

版权声明:
作者:ht
链接:https://www.techfm.club/p/10107.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>