转载自网络,原文链接如下 :
boot.scr是一个FIT类型的文件,但是可以用文本工具将其打开并查看其内容。如下图:
![图片[1]-如何在U-BOOT的boot.scr中加载bit文件-Xilinx-AMD社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/02/20240206184300842-91707216180.png?v=1707216181)
通常,boot.scr是在petalinux工程中自动生成出来的。其相关原文件在petalinux 工程的/components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-bsp/u-boot/u-boot-zynq-scr路径下。
![图片[2]-如何在U-BOOT的boot.scr中加载bit文件-Xilinx-AMD社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/02/20240206184303490-21707216183.png?v=1707216184)
在boot.scr文件中,你可以看到对于不同的boot mode都有相应的加载和启动分支。
![图片[3]-如何在U-BOOT的boot.scr中加载bit文件-Xilinx-AMD社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/02/20240206184308597-71707216188.png?v=1707216189)
接下来,你就可以根据你的实际的应用需求对其进行修改。下面我会以zcu102 SD启动模式为例,让U-boot在加载kernel和rootfs之前,自动加载bit文件。
1,首先,将原先/image/linux下生成的boot.scr复制一份,并命名为boot.mycmd。
2,然后,用文本工具打开boot.mycmd。删除一开始的乱码部分,这部分是FIT类型文件的验证头信息,用文本工具打开的话,就会显示成乱码,所以要先删除
![图片[4]-如何在U-BOOT的boot.scr中加载bit文件-Xilinx-AMD社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/02/20240206184310211-41707216190.png?v=1707216190)
3,接下来,在SD卡的加载分支里添加相应的U-boot命令来实现bit文件的加载,并保存。
![图片[5]-如何在U-BOOT的boot.scr中加载bit文件-Xilinx-AMD社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/02/20240206184313971-71707216193.png?v=1707216193)
4,执行如下mkimage命令来生成新的boot.scr文件
mkimage -c none -A arm -T script -d boot.mycmd boot.scr
5,最后,将生成的boot.scr和BOOT.bin拷贝到SD卡中,放入zcu102上运行,其结果如下
![图片[6]-如何在U-BOOT的boot.scr中加载bit文件-Xilinx-AMD社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/02/20240206184313723-31707216193.png?v=1707216194)
6,加载完成,且DONE正常亮起。





没有回复内容