生成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  
相关推荐
非优秀程序员5 小时前
第04章 邮箱大战,163 与 QQ 的暗战|《互联网产品恩仇录》
java·vue.js·架构
知已难寻6 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
默|笙6 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
沐晓时光6 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
文丑颜不良啊8 小时前
LeetCode2481~2500题目解析
java·leetcode
修己xj9 小时前
nslookup 使用指南:两种模式与常用查询技巧
linux
Flynn Liang9 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope
聪明的笨猪猪9 小时前
实际工程问题:AI 生成 Spring Cache(@Cacheable / @CachePut / @CacheEvict)缓存注解踩坑
java·经验分享·面试·ai编程
愿有所息10 小时前
记一次 ARM64 + JDK8 上 fastjson2 的诡异数据错乱
java
秋饼10 小时前
MCP 2026-07-28 无状态协议大改版:Spring AI 2.1 多轮往返请求与网关路由落地
java·ai·技术分享·后端开发