Linux系统移植二:生成fsbl引导文件并制作BOOT.bin(非petalinux版)

2023-12-06 02:50

本文主要是介绍Linux系统移植二:生成fsbl引导文件并制作BOOT.bin(非petalinux版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前情提要

对于ZYNQ而言,在引导过程中,先运行FSBL来设置PS,然后运行U-Boot用于加载Linux内核映像并引导Linux

Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版) 一文中已成功生成了u-boot文件
然后将u-boot文件重命名为u-boot.elf mv u-boot u-boot.elf 备用
生成BOOT.BIN文件还需要fsbl引导文件,本文同样不用petalinux

环境

  1. hdf设计:vivado 2017.4套件
  2. 交叉编译环境: arm-linux-gnueabihf-
  3. 虚拟机Linux系统版本:ubuntu 16.04
  4. 开发板:ALINX AX7Z100 开发板(ZYNQ7100)

新建fsbl工程

windows下打开SDK,新建工程 new–>Application Project
然后New 一个 Hardware Platform,选择我们的hdf文件

在这里插入图片描述
finish之后,设置Project name ,Next

在这里插入图片描述
选择生成Zynq FSBL工程,finish

在这里插入图片描述

等待一会儿,fsbl.elf文件就生成在工程目录的Debug目录下了
至此,生成BOOT.bin所需要的三个文件: fsbl.elf 、xxx.bit 、 u-boot.elf 都已经准备好了

制作BOOT.bin

fsbl工程建好之后,在fsbl工程下新建一个boot_image文件夹,存放输出的BIN文件
我们把上一节的u-boot.elf文件也放进来,将xxx_hw_platform_0文件夹下的xxx.bit文件也可以添加进来
点击 Xilinx–>Create Boot Image ,然后依次执行图中操作,最后执行 Create Image

在这里插入图片描述

然后我们在 boot_image 目录就可以找到生成好的 BOOT.bin 文件

在这里插入图片描述

上板验证

准备一张分好区的SD卡,将生成好的 BOOT.bin 文件复制到SD卡 boot 分区
板子启动模式调整为 SD卡 启动,连接串口,打开串口软件,开发板上电

串口输出如下,说明BOOT.bin成功生成

在这里插入图片描述

这篇关于Linux系统移植二:生成fsbl引导文件并制作BOOT.bin(非petalinux版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/460116

相关文章

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

如何在 Spring Boot 中实现 FreeMarker 模板

《如何在SpringBoot中实现FreeMarker模板》FreeMarker是一种功能强大、轻量级的模板引擎,用于在Java应用中生成动态文本输出(如HTML、XML、邮件内容等),本文... 目录什么是 FreeMarker 模板?在 Spring Boot 中实现 FreeMarker 模板1. 环

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at