SPL作为第二阶段程序加载器,其作用不言而喻,在./lichee/brandy2.0目录下,提供了SPL源码,找到编译过后的boot0.lds,其入口点为_start,全局搜索_start,spl/arch/riscv/cpu/riscv64/boot0_entry.S中的_start最像,boot0_entry.S代码如下 ,如上图所示,红框中,既然用了csrs指令,那么mxstatus和mcor肯定是RISCV的控制状态寄存器,[附csrs指令描述]: ,我查看了RISCV特权架构文档,并没有该寄存器。再往下面,有如下指令:jal main和j .
我的问题:
(1)SPL程序的入口点是spl/arch/riscv/cpu/riscv64/boot0_entry.S中的_start嘛?
(2)mxstatus和mcor寄存器的相关信息?
(3)指令jal main调用的main是在哪里呢?是../spl/nboot/main/boot0_main.c中的main嘛?
(4)指令j .的含义是什么啊?
M
March 发布的最新帖子
-
[D1哪吒]之SPL的启动流程
-
回复: D1开发板初次编译uboot
@kirin 我只想单独编译uboot 而且初次编译uboot不是需要配置的嘛 这里我将uboot从tina的文件夹拷贝到另外一个单独的文件夹了 只对这个uboot进行编译
-
D1开发板初次编译uboot
初次编译uboot的时候,不是要配置uboot嘛,然后我将tina目录下的u-boot-2018拷贝到另外一个目录,参考了正点原子的教程编译uboot,参考截图如下: ,先进行清除工程,使用了如下命令:make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu-distclean ,使用情况如下: ,也使用了mboot进行编译,使用情况如下: 所以,初次进行编译uboot,其命令是什么呢(包括清除、配置、编译三个命令)?