启动引导代码

启动引导代码,第1张

程序启动时先执行 start.S

start.S 中第一段程序

第一行 csrc CSR_MSTATUS, MSTATUS_MIE 分析, csrc 是 CSR 寄存器 *** 作符之一:

CSR 寄存器搏卜全称为 Control and Status Registers

而 MSTATUS 寄存器控制在机器模式下的状态

因此第一行的含义为关闭全局中断

la a0, _start 将 _start 的地址装载到 a0 中

如果程序基旅穗正常从 Flash 启动,a0 的值为 0x8000 XXXX

li a1, 0x20000000 将 a1 的值写为 0x2000 0000 (SRAM 地址)

bleu a1, a0, _start0800 判断是否从 SRAM 启动

srli a1, a1, 2

bleu a1, a0, _start0800 将 a1 右移后继镇轮续判断,这时判断是否从 Flash 启动

la a0, _start0800

add a0, a0, a1

jr a0 否则就是从 bootloader 启动

========

li t0, 0x200

csrs CSR_MMISC_CTL, t0 将 CSR_MMISC_CTL 的第九位设为 1

CSR_MMISC_CTL

la t0, vector_base

csrw CSR_MTVT, t0 初始化中断向量,将地址装载到 CSR_MTVT 中

CSR_MTVT 用于保存 ECLIC 中断向量表的基地址,至少为 64byte 对齐

la t0, irq_entry

csrw CSR_MTVT2, t0

csrs CSR_MTVT2, 0x1 初始化 IRQ 入口地址,并打开 MTVT2

CSR_MTVT2 用于指定 ECLIC 非向量模式中断的 common-code 入口地址

la t0, trap_entry

csrw CSR_MTVEC, t0 仅配置异常的处理地址(中断的已在上面通过 MTVT &MTVT2 配置完成)

CSR_MTVEC 用于配置中断和异常处理程序的入口地址

再来说一下向量中断和非向量中断

向量中断发生时,处理器直接进行中断查表并跳转到相应地址,不保存上下文,因此中断处理函数必须是 Leaf-Function,即不能再调用其他的子函数。因为无需处理上下文,向量中断非常快

非向量中断发生时,处理器会先跳转到一段 common-code,执行上下文保存和正在 pending 中断的判断,按照中断优先级来处理,因此可以实现中断嵌套(即在处理一段中断时发生了更高优先级的中断,而跳转到新的中断处理)和中断咬尾(即几个中断顺序处理,切换之间无需恢复上下文),但时间开销较大

我们一般使用非向量中断

引导代码(bootloader)是计算机硬件和软件之间的桥梁,用于启动 *** 作系统。如果引导代码出现错误,计算机将无法正常启动或者无法进入 *** 作系统。

以下是引导代码损坏可能出现的错误提示及解决办法:

错误提示:计算机无法找到适当的 *** 作系统

这种情况通常发生在引导代码无法识别计算机上的 *** 作系统时。解决方法烂扰是重新安装 *** 作系统饥樱旦并更新引导代码。

错误提示:缺少 *** 作系统文件或驱动程序

引导代码可能会在加载 *** 作系统文件或驱动程序时遇到问题,从而导致计算机无法正常启动。解决方法是使用 *** 作系统安装光盘或 USB 启动盘进行修复。

错误提示:无法启动计算机

这种情况通常发生在引导代码本身出现问题时。解决方法是使用 *** 作系统安装光盘或 USB 启动盘重新安装引导代码。

错误提示:硬盘出现故障

当引导代码无法读取硬盘时,会出现这种错误提示。解决方法是检查硬盘是否出现颂唯故障,并尝试修复或更换硬盘。

需要注意的是,在进行任何的 *** 作之前,一定要备份好计算机中的重要数据,以避免数据丢失。

有引导代码。

1、首先将可以用于引导黑苹果系统的EFI文件拷贝到安装黑苹果系统盘的ESP分区中。

2、EFI文件拷贝完成后,重启电脑,进入引导菜单选项,选择从UEFI的USB设备(U盘或移动硬盘)启动。这里一定是选UEFI开头的,如果不选UEFI引导进入WinPE,打开BOOTICE后,是没有UEFI选项或UEFI选项不可用。

3、进入WinPE后,打开BOOTICE,通常,在WinPE的(开始菜单--所有程序--磁盘工具)中可以找到这个软件。打开后,点“UEFI”选项卡,再点“修改启动序列”。

4、在d出的启动序列对话框中,在左侧启动菜单中点选任意一个UEFI开头的启动序列,然后在右边的“启动磁盘”中,选择你用来安装黑苹果的系统盘。再在“启动分区”中选择你在此禅第一步中存放EFI文件的ESP分区。注意,这里不要选错,选错会导致引导失败。如果你没有拔其他系统硬盘,这里选错还会导致其岁友他系统引导被破坏。

5、上一步点“添加”后,会d出一个对话框,让我们选择用于引导黑苹果的efi文件,我们选择在第一步拷贝到ESP分区里面的efi文件,即“CLOVERX64。efi”。通常存放路径为。C。\EFI\CLOVER中,这里的C盘是指你ESP分区的盘符,根据你的实际情况查找选择。

6、选择好efi文件后,会d出成功添加UEFI引导记录的提示。同时,在左侧的引导菜单列表中,会多出一个“Newbootentry”的引导选项。这时候,如果你前面启动磁盘、启动分区和efi文件没有选错的话,重启后,黑苹果已经可以成功从硬盘引导。

x230安装黑苹果的步骤。1、通过四叶草配置参数(四叶草或变色龙都森雀尘是专门生成EFI文件的一个软件由黑苹果社区维护)。2、制作启动盘。3、插入U盘后主板程序先择eft方式启动,然后到了四叶草的界面了,选第一个(从U盘读取安装程序)。读条进入安装界面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12416059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存