生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件

我们知道MPSOC或者ZYNQ的启动文件BOOT.BIN 通常由三最少三部分组成

1,FSBL 第一阶段引导加载器

2,BIT流文件

3,用户APP文件

用户使用这个三个文件生成BOOT.BIN时候往往用SDK的用户界面,分别选择这三个文件之后生成。其实这种方法实际上是先生成了一个.BIF文件,这个BIF记录了上述三个文件的路径,以及处理器的型号等。如下:

复制代码
//arch = zynq; split = false; format = BIN
the_ROM_image:
{
	[bootloader]temp\no_app_fsbl.elf
	temp\top.bit
	temp\u-boot.elf
}

有了这个文件,之后SDK界面调用了bootgen.exe这个小工具,用命令行将这个.bif文件输入给boot.gen如下:

复制代码
bootgen -image output_zynq.bif -o temp/BOOT.bin -w on  

这里-o是生成的boot.bin的输出路径。-w on是允许warning提示。

另外bootgen.exe的运行需要用到一些动态库,我也挨个挑选出来放在bootgen.exe所在目录。就有了下面截图的目录结构

这里我们可以用文本打开.BAT文件和BIF文件,修改文件路径,设置输入文件和输出文件boot.bin的路径。另外在批处理文件里看到的ping指令,实际就是延迟几秒,让用户看到运行结果。

以上文件都是我从vivado里面拷贝出来的。

复制代码
通过百度网盘分享的文件:boot_gen.zip
链接:https://pan.baidu.com/s/1xbZR00CBCGgGdbRW1_no0A 
提取码:bacp  
相关推荐
__万波__7 小时前
二十三种设计模式(十四)--命令模式
java·设计模式·命令模式
一起养小猫7 小时前
《Java数据结构与算法》第四篇(三)二叉树遍历详解_CSDN文章
java·开发语言·数据结构
少许极端7 小时前
算法奇妙屋(十九)-子序列问题(动态规划)
java·数据结构·算法·动态规划·子序列问题
小满、7 小时前
RabbitMQ:AMQP 原理、Spring AMQP 实战与 Work Queue 模型
java·rabbitmq·java-rabbitmq·spring amqp·amqp 协议·work queue
KaDa_Duck7 小时前
DASCTF 2025下半年赛 PWN-CV_Manager复盘笔记
linux·笔记·安全
萧曵 丶7 小时前
Java Stream 实际用法详解
java·stream·lambda
消失的旧时光-19437 小时前
从 Android 回调到 C 接口:函数指针 + void* self 的一次彻底理解
android·c语言·开发语言
dvlinker7 小时前
动态代理技术实战测评—高效解锁Zillow房价历史
android·java·数据库
喵手7 小时前
JVM 基础知识:深入理解 Java 的运行时环境!
java·jvm·jvm基础·java运行环境
我命由我123457 小时前
Python Flask 开发问题:ImportError: cannot import name ‘escape‘ from ‘flask‘
服务器·开发语言·后端·python·flask·学习方法·python3.11