本文主要是介绍OpenSBI初始化分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
OpenSBI初始化分析
- OpenSBI初始化
- 启动流程:主要涉及三个阶段
- OpenSBI底层初始化
OpenSBI初始化
启动流程:主要涉及三个阶段
- .S汇编阶段,主要是Opensbi的底层初始化阶段,为C准备执行环境;
- 设备初始化阶段,此阶段正式进入C环境;
- 会跳转到二级 Bootloader,正式进入S模式;
OpenSBI底层初始化
确定启动的hart id,非启动hart转入_wait_relocate_copy_done等待启动hart初始化完成。
_start:/* Find preferred boot HART id */MOV_3R s0, a0, s1, a1, s2, a2call fw_boot_hartadd a6, a0, zeroMOV_3R a0, s0, a1, s1, a2, s2li a7, -1beq a6, a7, _try_lottery/* Jump to relocation wait loop if we are not boot hart */bne a0, a6, _wait_relocate_copy_done
这篇关于OpenSBI初始化分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!