从 SD 引导或从 QSPI 引导 eMMC 的方法

【问题描述】:
我的 SD 在 SD1 上,没在 SD0 上,所以我不能从这引导。

怎样才能把 FSBL 交给 SD?

【解决方案】:

SD:

1) 在 FSBL main.c 文件中,您可以通过进行以下修改将 BootModeRegister 在第 376 行的值强制设为 SD_MODE:
/*
* Read bootmode register
*/
// comment out these two lines
//BootModeRegister = Xil_In32(BOOT_MODE_REG);
//BootModeRegister &= BOOT_MODES_MASK;

//add this line
BootModeRegister = SD_MODE;

2) 使用该映像创建 boot.bin,并将其编程到 QSPI 中。

3) 用 SD 卡上的其余引导映像(bitstream、uBoot 和 Linux 等)编程相同的 FSBL。

4) 从 QSPI 引导。 FSBL 将从 QSPI 启动,然后当它到达上述行时会移动至 SD 卡。

然后它将忽略引导模式引脚的设置。

eMMC:

eMMC 未对此进行测试,但也可通过以下修改传递给 eMMC:

1) 编辑系统 .mss 并选择修改 BSP 设置。

2) 在电路板支持数据包设置窗口选择 xilffs 并将“enable_mmc”设置为真。

3) 重新生成 BSP 源。

4) 编辑 FSBL 的 main.c,选择这一行的 MMC_MODE:
BootModeRegister = EMMC_MODE;

最新文章

最新文章