生成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  
相关推荐
沐雪轻挽萤几秒前
无人系统:Ubuntu 操作系统全景架构与实战工程指南
linux·运维·ubuntu
白緢8 分钟前
嵌入式 Linux + 内核开发高频问题及排查
java·linux·运维
沐知全栈开发11 分钟前
C 预处理器
开发语言
daad77715 分钟前
WSL2_wifi驱动安装
开发语言·前端·javascript
juniperhan20 分钟前
Flink 系列第4篇:Flink 时间系统与 Timer 定时器实战精讲
java·大数据·数据仓库·flink
蜡笔小新..20 分钟前
Linux下Matplotlib使用Times New Roman字体的解决方案
linux·运维·matplotlib
超级大只老咪22 分钟前
一维度前缀和解题通用模板(java)
java·开发语言·算法
无限进步_24 分钟前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
许杰小刀24 分钟前
Python网络请求库,从 requests 到 httpx
开发语言·python·httpx
历程里程碑29 分钟前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github