仅对英特尔可见 — GUID: suc1427157577172
Ixiasoft
1.5.2. 使用QSPI的引导加载器生成实例
- 开启SoC EDS嵌入式command shell(命令行):
$ ~/altera/15.0/embedded/embedded_command_shell.sh
- 从SoC EDS嵌入式command shell(命令行)开启BSP Editor工具:
$ bsp-editor
- 选择File > New HPS BPS在窗口中创建新的HPS BSP且进行如下配置:
- 在 Preloader settings目录中指定一个硬件HPS交付文件夹。
- 在BSP target directory文本框中指定引导加载器源文件夹。
- 在BSP Settings File name文本框中指定引导加载器配置和设置文件位置。
图 23. 选择New BSP Editor Window图 24. 配置New BSP设置 - 完成域设置并在main菜单标签中指定源boot_device (QSPI)后,点击OK。
注: .rbf文件仅应用于从SD/MMC引导。在QSPI配置时, 无需编辑这些文本框,但必须通过转换脚本创建单一的.rbf文件。图 25. 在BSP Editor窗口中选择从QSPI器件引导
- 选择Generate,则引导加载器和U-Boot源文件被创建到您指定的作为BSP目标目录的文件夹中。
- 移至U-Boot引导加载器源文件夹并构建映像。
$ cd ~/a10_soc_devkit_ghrd/software/arria10_uboot_bsp $ make
以下项目在~/a10_soc_devkit_ghrd/software/arria10_uboot_bsp/文件夹中生成:
表 5. 引导加载器可执行映像 文件 说明 u-boot_w_dtb.bin 基于器件树二进制的U-boot可执行文件 uboot_w_dtb-mkpimage.bin 基于mkpimage header的U-boot可执行文件 注: 如果您选择UEFI作为第二阶段引导加载器的源,请参阅“附录B:Building the UEFI Boot Loader”部分的该信息点。 - 从QSPI引导时,需要一个单一的.rbf文件,其中包含FPGA 内核架构配置和 I/O环设置。该要求不同于从SD/MMC引导时需要各自的.rbf文件。通过键入以下内容,为嵌入的command shell(命令行)完成转换:
$ ~/altera/15.0/embedded/embedded_command_shell.sh $ cd ~/a10_soc_devkit_ghrd/ $ quartus_cpf -c -o bitstream_compression=on output_files/ghrd_10as066n2.sof output_files/ghrd_10as066n2.rbf
由此在~/a10_soc_devkit_ghrd/output_files/文件夹中创建一个名为ghrd_10as066n2.rbf的FPGA架构和I/O环配置的组合文件。
- 在U-Boot软件能够加载FPGA映像文件前,它必须具有关于映像的信息,如,长度或CRC。通过从嵌入的command shell运行mkimage工具将信息传递到U-boot工具:
$ ~/altera/15.0/embedded/embedded_command_shell.sh $ cd ~/a10_soc_devkit_ghrd/ $ mkimage -A arm -T firmware -C none -O u-boot -a 0 -e 0 -n "A10 GHRD RBF" -d output_files/ghrd_10as066n2.rbf output_files/ghrd_10as066n2.rbf.bin
由此创建FPGA架构和I/O环配置的组合文件包裹在U-Boot头(header)中。 这个个已生成文件名为ghrd_10as066n2.rbf.bin并能在 ~/a10_soc_devkit_ghrd/output_files/ghrd_10as066n2.rbf.bin文件夹中找到。
- 使用HPS Flash Programmer写U-Boot, 器件树映像以及.rbf文件到QSPI 引导卡。输入HPS Flash Programmer的文件必须始终有一个.bin扩展。如果您的文件没有,则必须为它们重命名。通过键入以下命令,写U-Boot和器件树组合映像到QSPI中:
$ ~/altera/15.0/embedded/embedded_command_shell.sh $ quartus_hps -c 1 -o PV ~/a10_soc_devkit_ghrd/software/arria10_uboot_bsp/uboot_w_dtb-mkpimage.bin
该命令需要一两分钟完成。
- 键入以下命令,写.rbf文件到QSPI器件:
$ ~/altera/15.0/embedded/embedded_command_shell.sh $ quartus_hps -c 1 -o PV -a 0x720000 ~/a10_soc_devkit_ghrd/output_files/ghrd_10as066n2.rbf.bin
该命令可能需要45分钟完成。Altera推荐首先使用HPS Flash Programmer编程;然而,进一步更新时,则使用U-Boot控制台加快这些步骤的执行。
- 上电电路板。它将从QSPI引导并止于U-boot控制台。