opensbi_entry(gd->arch.boot_hart, (ulong)spl_image->fdt_addr,(ulong)&opensbi_info);--第一个参数HART ID,第二个参数FDT地址,第三个参数struct fw_dynamic_info。 struct spl_image_info 结构体用于存储有关引导过程中使用的图像(通常是内核或引导程序的一部分)的信息。这个结构体在 U-Boot 的 SPL(Se...
硬件初始化:uboot-spl首先执行硬件的初始化操作,包括时钟系统、内存控制器、IO设备等。这些初始化操作是系统正常运行的基础。 内存配置:在硬件初始化完成后,uboot-spl会根据系统硬件配置,对内存进行配置和初始化,为后续的uboot加载提供足够的内存空间。 加载uboot:在内存配置完成后,uboot-spl会从外部存储介质(如Fla...
U-Boot 分为 uboot-spl 和 uboot 两个组成部分。SPL 是 Secondary Program Loader 的简称,第二阶段程序加载器。对于嵌入式SOC(System On Chip)芯片来说,芯片内本身含有SRAM用于将闪存中的bootloader(uboot)加载到RAM来运行,但由于片内RAM大小限制,加载不了完整的U-boot程序,所以需要在片外的RAM上运行完整的Ub...
将IMG从weiyun上下载下来,利用U盘烧写工具,我比较喜欢和习惯Rufus,将openwrt-visionfive2-generic-visionfive2-ext4-sdcard.img烧进TF卡,然后上电启动。 U-Boot SPL 2021.10 (Feb 28 2023 - 21:44:53 +0800)DDRversion:dc2e84f0. Trying to boot from SPI OpenSBI v1.2 ___ ___ ___ ___ / __ ...
RISC-V下SPL->OpenSBI-OPTEE-Linux启动流程如下: M-Mode:u-boot-spl加载u-boot.itb文件,启动OpenSBI。 M-Mode->S-Mode:OpenSBI通过mret跳转到OPTEE执行,启动TOS。 S-Mode->M-Mode:OPTEE启动完后,通过ecall返回到执行OpenSBI。 M-Mode->S-Mode:OpenSBI通过mre启动u-boot。
以往芯片厂家都会按照自己的启动规则定义一些启动的流程,比如有些需要SPL+UBOOT,有些可以是直接从SPI或SD卡中boot,这些启动的规则很多,每当使用一款芯片,都需要去理解其启动的流程,十分的复杂。于是就出现了一些规则和定义。 比如苹果公司定义了个人PC电脑的规则: ...
以往芯片厂家都会按照自己的启动规则定义一些启动的流程,比如有些需要SPL+UBOOT,有些可以是直接从SPI或SD卡中boot,这些启动的规则很多,每当使用一款芯片,都需要去理解其启动的流程,十分的复杂。于是就出现了一些规则和定义。 比如苹果公司定义了个人PC电脑的规则: ...
u-boot-spl.bin.normal.out visionfive2_fw_payload.img [2]然后下载盲刷rom专用的旧版debian , 800M的那个,其实这个debian基础系统已经默认配置好了ssh,默认账户名 root,密码,starfive , 将下载下来的debian影像,win32diskimg 或者rawrite或者dd命令都可以刷到tf卡里。 [3] 找个至少包含2个lan口的旧的路...
该命令将会生成image.fit文件,并且会在work/目录下生成u-boot-spl.bin.normal.out,visionfive2_fw_payload.img文件。 生成后,最终的 work目录布局如下: work/ ├── visionfive2_fw_payload.img ├── image.fit ├── initramfs.cpio.gz ├── u-boot-spl.bin.normal.out ...
FSBL默认支持双CS DDR,修改uboot-2022.10/arch/riscv/dts/k1-x_spl.dts可以支持单CS DDR。@@ -79,7 +79,7 @@ ddr@c0000000 { /* dram data rate, should be 1200, 1600, or 2400 */ datarate = <2400>;-cs-num = <2>;+cs-num = <1>; u-boot,dm-spl; };如果...