【问题现象】

petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --kernel --force

在使用petalinux-package将uboot、内核和根文件系统等进行打包生成一个BOOT.BIN文件,最后通过Xilinx的SDK或者vivado烧写到QSPI中时,出现以下错误:[ERROR] : Section image.ub.0 offset of 0x520000 overlaps with prior section end address of D19B00

【问题根因与解决方法】

之前,用同样的方法打包一个BOOT.BIN未出现这个错误,唯一不同的点在于两次使用的design_1_wrapper.hdf即FPGA部分的bitstream文件design_1_wrapper.bit不同,前一次正常的时候使用的bit文件大小为1M,后一次的bit文件有13M。

查资料可知,zynq的uboot生成需要加载FPGA部分的硬件信息,可以说.bit文件内的硬件信息将会被写入uboot中。

petalinux的BOOT.BIN生成时,通过petalinux-config可以设置FLASH(BOOT.BIN要写入的FLASH)的分区和大小,在默认情况下,petalinux-config中显示的分区为下图,boot和bootenv的大小为0x520000,而如果.bit文件作为petalinux image的一部分插入(插入到哪里?存疑),0x520000将超出范围,因此需要延长uboot的偏移量。

 将partiton 1中的bootenv的大小修改为0x900000,偏移量扩展到0xE00000后,重新编译和打包后,将BOOT.BIN烧写到QSPI中启动即可。

再次prtalinuc-package成功:

【疑问】

为什么要把Flash的bootenv分区大小改为0x900000?如果bit文件是作为uboot的一部分插入的话,应该要改的应该是第一个分区boot的分区大小?而为什么改了bootenv的分区大小却可以了呢?

说明bit文件种的硬件信息是以boot的环境变量的方式被存到bootenv分区中的,所以bit文件的硬件信息越丰富,bootenv就越大,而boot分区种应该只存了uboot启动程序。

uboot在板子中运行后,进入uboot的命令行模式,通过printenv命令打印bootenv相关内容,最后一行的"Environment size: 3410/9437180 bytes"代表什么意思?

【参考资料】64903 - Zynq-7000 SoC (UG1165) – Booting Linux from QSPI flash does not work (xilinx.com)https://support.xilinx.com/s/article/64903?language=en_US

【工作笔记】ERROR: Section image.ub.0 offset of 0x520000 overlaps with prior section end address of D19B00相关推荐

  1. 苹果ios开发一年的工作笔记

    苹果ios开发一年的工作笔记 退回输入键盘 - (BOOL) textFieldShouldReturn:(id)textField{ [textField resignFirstResponder] ...

  2. 系统架构工作笔记-数据展示进程与读取数据进程分离,实现低耦合(展示软件可适用任意厂家数据库)

    目录 背景 实践环境 逻辑结构图 运行截图 数据展示进程源码 服务进程(插件调用)源码 插件源码 MySQL相关 背景 工作一年零1个月了(加上实习),靠着工作中学到的东西,花了周末2天时间,做了一个 ...

  3. Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包

    原理以及运行 原理是因为QJsonDocument提供了一个函数toJson 可以直接把Json数据转成QByteArray,这样就可以直接发送数据包,然后再按照常规方法解析即可,本源码中含解析内容, ...

  4. maximo工作笔记

    maximo工作笔记 xml学习: 多选框: <hdcheckboxgroup id="1339230676937" label="作业类型" dataa ...

  5. 罗辑思维在全链路压测方面的实践和工作笔记

    业务的知名度越高,其背后技术团队承受的压力就越大.一旦出现技术问题,就有可能被放大,尤其是当服务的是对知识获取体验要求颇高的用户群体. 提供知识服务的罗辑思维主张"省时间的获取知识" ...

  6. 端口被占用问题Error: listen EADDRINUSE 127.0.0.1:8888

    今天工作的时候,启动环境突然启动不了,报这样的错误 Error: listen EADDRINUSE 127.0.0.1:8888 具体如下图: 发现时候8888的端口被占用,启动不了 那么 如何Ma ...

  7. 腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记

    腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记 爱马士团团长 2020-09-25 15:13:54 前言 MySQL是开源数据库方向的典型代表,它拥有成熟的生态体系,同时在可靠性.性能 ...

  8. STM32工作笔记0031---基于STM32F103C8自己实现的跑马灯实验_使用STLINK调试

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 网上买的8块一个开发版,简单的STM32F103C8,64kbflash,中容量版,这个容量 好像 ...

  9. java boolean 包_java Boolean包装类工作笔记

    本文章为各位介绍一篇关于java Boolean包装类工作笔记,希望这篇文章能够帮助到各位同学,有兴趣的朋友可以进来看看吧. 题目:问下列代码运行结果是什么?  代码如下 复制代码 package q ...

  10. 腾讯云TVP大佬十年心血MySQL工作笔记,看完还不懂MySQL来打我!

    TVP简介(腾讯云最具价值专家) TVP(Tencent Cloud Valuable Professional),腾讯云最具价值专家,是腾讯云授予云计算领域技术专家的一个奖项.而今天小编分享的这份资 ...

最新文章

  1. 手势追踪,高通走完其VR一体机的最后一里路
  2. Linux下apache服务器安装,sqlite安装,apache启动,关闭,重启,编写cig程序进行测试,浏览器访问cig程序
  3. 如何在ABAP Netweaver和CloudFoundry里记录并查看日志 1
  4. java仿qq gui_Java仿QQ登入页面
  5. STM32之SPI原理
  6. 响应式Bootstrap后台管理系统模板UI框架
  7. 数值分析(科学与工程计算、计算方法)
  8. pla3d打印材料密度_3D打印材料:透明PLA材料
  9. SpringSecurity前后端分离
  10. 愚人节html源码,开源中国愚人节网页变模糊的js blur代码
  11. 什么是域名系统 (DNS)
  12. dolphinscheduler 2.0.4 PIGEON任务使用的一次尝试
  13. Vivado工程配置petalinux实现linux下网卡驱动
  14. 全球及中国芯片产业研发方向与投资规模预测报告2022版
  15. 小米红米4(标准版)解BL锁教程申请BootLoader解锁教程
  16. 转正答辩未通过是否可以辞退试用期员工
  17. nested exception is io.lettuce.core.RedisCommandExecutionException: MOVED 7514 100.71.1.91:6380
  18. Android 输入法挤压屏幕解决方案
  19. whaleCTF MISC_Writeup(姿势大全)
  20. 微信小程序-【仿咸鱼】的底部导航

热门文章

  1. android点击按钮执行adb命令,Android 按键事件及adb命令模拟
  2. python transforms_Python transforms.Compose方法代码示例
  3. 数据库查询语句优化,mysql优化,join语句优化附带YYC松鼠短视频系统详细demo效果
  4. 【解决】InsecureRequestWarning: Unverified HTTPS request is being made to host ‘www.dytt89.com‘.
  5. 工业互联网是什么,和工业4.0对比,有什么区别?
  6. 通过修改window本地hosts文件修改域名指向
  7. 《西部世界》第三季开播,机器人会比人类更有人性吗?
  8. 购物系统 java代码_java购物系统源代码
  9. c语言运用(1)口算比赛
  10. fastlane php,fastlane自动化打包ipa并发布到firim或者蒲公英