Rocketboards.org 文档应用作参考,但不包括包含特定于主板的自定义的引导流内部。
本文档旨在成为高级指南,以向您显示要查看的位置以及您想要复制和调整的文件。
如欲 Rocketboards.org 参考如何为英特尔® Arria® 10 个FPGA SoC 项目构建启动加载器,请查看 Cyclone V 构建引导加载程序®的Arria 10 SoC — 从 SD 卡引导部分启动,Cyclone V 和 Arria 10 网页。
粗体内容请参阅 Cyclone V 建筑引导加载器指南部分,Arria 10 网页。
为您的主板定制 U-boot 和 U-boot-SPL
Platform Designer 项目中的 HPS 设置通过脚本将 u-boot(作为 u-boot-socfPGA 的一部分)从手写文件中拿走:
请参阅: 转换 hps.xml 交付文件,以包含设备树将使用的文件
cd u-boot-socfPGA
./arch/arm/mach-socfPGA/qts-filter-a10.sh \
/hps_isw_handoff/hps.xml
arch/arm/dts/socfpga_arria10_socdk_sdmmc_handoff.h
这会创建 socfpga_arria10_socdk_sdmmc_handoff.h 文件,然后在编译过程中提取。
其他特定于主板的配置项目(以太网、Uart、内存大小等)
- u-boot 配置文件:u-boot-socfPGA/configs/socfpga_arria10_defconfig
大多数项目现在在 u-boot 设备树中定义,但我们建议为您的主板创建 u-boot defconfig 文件的自定义版本:
配置文件指定:
- U-boot 构建中启用了哪些功能
- 默认启动命令
- 默认设备树
- 某些环境默认值
- 配置包括文件:include/configs/socfpga_arria10.h
- 内存大小
- 预设置地址和配置条目
- 设备树文件名
- 默认的 u-boot 运行时间环境
- UART 默认值
- 一些设置是共享的,也可看到#include
- u-boot 设备树:arch/arm/dts/_.dts
每个引导目标 (NAND、SDMMC、QSPI) 有多个层次文件集。 有一个顶级文件,其中包括通用信息和主板特定的覆盖。有些文件有面向您引导的物件,有些用于您启动的 spl
Arria 10 SoC DK SDMMC 示例:
socfpga___.dts:主板和启动闪存目标的高级别文件
哪些闪存可以启用等
socfpga__.dtsi:主板特定文件:覆盖或扩展通用文件
确切 IP 设置:UART、EMAC、内存
socfpga_.dtsi:设备的通用文件
注意:
- socfpga_arria10_socdk_sdmmc-u-boot.dtsi
- 包含要用于FPGA配置和 uboot 正确加载的 .itb 文件的名称。
- 查看相关文件 。其文件
- 主板/Altera/arria10socdk/*.its
&fpga_mgr {
u-boot,dm-pre-reloc;
altr,bitstream = “fit_spl_fpga.itb”;
};
- .其文件:要创建 .itb 文件 u-boot 将尝试加载:主板/altera/arria10-socdk
主板/altera/arria10-socdk/fit_uboot.its
u-boot SPL 控制文件:正确加载哪个 U-boot(正确加载)
主板/altera/arria10-socdk/fit_spl_fpga.its
SPL 的FPGA配置:用于FPGA配置的路径到 .rbf 文件
主板/altera/arria10-socdk/fit_kernel_qspi.its
QSPI 的 Linux 内核加载
主板/altera/arria10-socdk/fit_kernel_nand.its
NAND 的 Linux 内核负载
注:对于较新版本的 you-boot distro boot,对于 SDMMC 引导,一个 .itb 文件未加载到 sdmmc。 相关文件已加载到 FAT 分区,并直接加载。
如欲了解更多信息,请参阅 Cyclone® V 的建筑引导加载程序 的 C. Build SD 卡映像部分和 Arria 10 网页。
对 Linux
- 现在使用的内核配置为默认值,可以以正常方式添加到
- 加载默认值:进行解定义
- 编辑使用 : make manuconfig
- 在解定义配置时保存新配置文件:进行 savedefconfig
- 复制到配置目录,稍后使用:
- cp defconfig arch/arm/configs/socfpga_myName
- 应通过复制和编辑开发套件版本来创建自定义主板的 自定义设备树。命名和结构与 uboot 类似,电路板特定文件 (.dts) 覆盖通用设置 (.dtsi)。