zynq uboot设置从qspi启动 uboot参数设置
时间: 2024-01-02 14:14:22 浏览: 329
在 Zynq 上使用 QSPI 启动需要进行以下步骤:
1. 首先,需要在 Vivado 中生成一个包含 QSPI 的 Boot Image。该 Boot Image 应该包含 FSBL(First Stage Boot Loader)和 U-Boot。将生成的 Boot Image 下载到 QSPI Flash 中。
2. 在 U-Boot 中设置启动参数。可以通过设置 U-Boot 环境变量来达到这个目的。例如,在 U-Boot 命令行中输入以下命令:
```
setenv bootargs console=ttyPS0,115200 root=/dev/mtdblock0 rw earlyprintk
```
这里设置了 bootargs 参数,指定了串口控制台的设备号(ttyPS0)、root 分区所在的 MTD 设备(/dev/mtdblock0)、以读写模式挂载 root 分区、启用早期打印(earlyprintk)。
3. 然后需要设置从 QSPI 启动。在 U-Boot 命令行中输入以下命令:
```
setenv bootcmd 'sf probe 0 0 0 && sf read ${kernel_loadaddr} ${kernel_offset} ${kernel_size} && bootm ${kernel_loadaddr}'
```
这里设置了 bootcmd 参数,指定了从 QSPI 中读取 kernel 的起始地址、偏移量和大小,然后通过 bootm 命令启动内核。
4. 最后,保存环境变量并重启系统:
```
saveenv
reset
```
这样,系统就会从 QSPI 中启动,并且使用设置的 bootargs 参数启动内核。
阅读全文