zynq/zynqMP启动模式总结:FLASH+emmc启动/petalinux烧写速度最快的启动方式

        因客户要求zynq开发板只有FLASH和emmc,然而还得在petalinux进行开发系统,因FLASH大小有限,所以没办法把内核和根文件地址全部存储到FLASH中,于是想配合emmc进行启动,但是在网上搜索的大多都是只把根文件系统放到了emmc,然后把内核和BOOT.bin放到了FLASH,但是烧写FLASH真的很费时间,所以就想出了一个新的办法(被逼的):   


    

启动文件分配:      

存储区域分区存储文件
FLASH-BOOT【fsbl、u-boot、bit(可选)】
EMMCFAT32image.ub【Image】
Ext4rootfs.tar.gz【解压后的】

这样分配下来,BOOT.bin 的大小只有几M,烧写起来方便很多

接下来直接讲解实现过程:

首先想介绍一下我的环境:

        petalinux2021.2、vivado2021.2、zynq7020、zynqMP 7ev 

一、向EMMC存储文件

首先应该使用ramdisk模式创建一个很小的petalinux系统:(这个需要打包一起放到FLASH启动)

        1、需要把FLASH内存进行分配(添加kernel、bootscr和rootfs分区)

        2、 修改 Root filesystem type 为 (INITRD),并进行地址配置

        3、  修改 Boot script offset的值 (0x3E80000),这个值为boot.scr的基地址

然后直接petalinux-build即可

然后对这些文件进行打包(网上都是一个一个的分地址烧录到FLASH,但是太麻烦):

这边分享一个把上述文件全部打包成一个BOOT.bin

petalinux-package --boot --force --format BIN --fsbl --u-boot --kernel images/linux/Image --offset 0x1E40000 --cpu a53-0 --boot-script --offset 0x3E80000 --add images/linux/rootfs.cpio.gz.u-boot --offset 0x4000000 --cpu a53-0 --file-attribute partition_owner=uboot

    这样只需要把BOOT.bin(大概50Mb)烧写到FLASH即可,时间有点久(去厕所钓会鱼)  

烧写完之后,把启动模式切换到FLASH启动,即可进入系统了,然后如果有网络可以通过网络把image.ub和rootfs.tar.gz 传到系统,参考我以前的文章进行分区和存放即可。

Linux下给emmc进行分区操作总结-CSDN博客

二、配置从EMMC启动

        1、只需修改Root filesystem type 为 (EXT4 (SD/eMMC/SATA/USB)),并修改rootfs存放的mmc位置

      然后进行petalinux-build

      然后进行打包BOOT.bin (只有5Mb)(只需打包fsbl、u-boot、bit(可选))          

petalinux-package --boot --fsbl ./zynq_fsbl.elf --fpga ./system.bit --u-boot ./u-boot.elf --force

这样的BOOT.bin只有5M大小,烧写到FLASH用时很短

然后启动开发板,进入到u-boot界面:(在执行到U-BOOT倒计时的时候按任意键暂停)

在这里修改u-boot启动的指令:

查看当前的启动变量:

print bootcmd

如下所示,在bootcmd的命令中我们使用的默认的distro_bootcmd

查看iamge.ub文件

ls emm 1:1

如下所示,即我把image.ub存放到了emmc1的第一个分区

查看rootfs文件

ls emm 1:2

如下所示,即我把根文件系统放到了emmc1的第二个分区

挂载emmc1

mmc dev 1

修改启动内核环境变量

setenv run_emmc_boot "mmc dev 1:1 && load mmc 1:1 0x10000000 /image.ub && bootm 0x10000000"

将bootcmd的命令修改成run_emmc_boot

setenv bootcmd "run run_emmc_boot" 

保存环境变量

saveenv

 重启开发板即可查看到,从emmc中读取iamge.ub

然后就是进行读取根文件系统,直至进入到petalinux系统

 大功告成!!!(开香槟!!

更多关于zynq和zynqMP的问题,可以评论留言

如果感觉文章对您有用,麻烦三连支持一下,方便下次用到的时候,就可以快速找到我,非常感谢您的支持!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/661477.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【文献阅读】极端事件、经济不确定性、原油期货价格泡沫投机

Extreme events, economic uncertainty and speculation on occurrences of price bubbles in crude oil futures 极端事件、经济不确定性、原油期货价格泡沫投机 本文考察了极端事件、经济不确定性和投机行为对原油期货价格泡沫的影响。为了更好地预测和估计原油期货的正/负价…

创建特定结构的二维数组:技巧与示例

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:二维数组的奇妙世界 二、方法一:直接初始化 1. 初始化一个…

价值飙升30%,AI PC拉动半导体出货潮

由于处理器和DRAM的升级,大摩预测每台AI PC的半导体价值将增长20%-30%,PC平均售价也将提高7%。 台北国际电脑展即将于6月2日隆重开幕。 随着展会的临近,各种现象级的AI PC也蓄势待发。 就在上周,联想在业绩会上,首次…

Go语言GoFly框架快速新增接口/上手写代码

拿到一个新框架大家可能无从下手,因为你对框架设计思路、结构不了解,从而产生恐惧,所以我们框架是通过简单可视化界面安装,安装后即可看到效果,然后点击先点点看各个功能,看现有的功能是怎么写的&#xff0…

linux Inodes满导致数据库宕机

项目经理反馈集群环境中有个节点无法使用了需要支援下,同时发过来截图说明磁盘还是有空的。 登录系统后直接发现问题 orcl2:/home/oracledb2> sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed May 29 13:59:21 2024 Copyright (c) 1982,…

网络融合的力量:企业如何通过“一网多用”提升业务效率

随着企业业务的不断扩展,网络需求变得日益复杂。需要的是一种能够统一承载办公、生产、销售和运营等多业务需求的网络架构。这种“一网多用”的架构,不仅简化了网络部署和管理,还提升了效率并降低了成本。 “一网多用”架构的实际应用&#x…

模拟集成电路(5)----单级放大器(共栅级)

模拟集成电路(5)----单级放大器(共栅级) 有一些场合需要一些小的输入电阻(电流放大器) 大信号分析 − W h e n V i n ≥ V B − V T H ∙ M 1 i s o f f , V o u t V D D − F o r L o w e r V i n I d 1 2 μ n C o x W L ( V…

RestTemplet 自定义消息转换器总结

在RestTemplet 请求中,请求发送一个 HTTP 请求时,RestTemplet 会根据请求中的内容类型(Content-Type)选择合适的 HttpMessageConverter 来处理请求体的数据。同样地,当服务器返回一个 HTTP 响应时,RestTemp…

2024年QMT智能量化交易全解读:一文带你深入了解什么是QMT

随着科技的飞速发展和金融市场的日益成熟,量化交易逐渐成为投资者关注的焦点。QMT(Quantitative Market Trading)智能量化交易系统,作为量化交易领域的重要工具,以其高效、精准、自动化的特点,受到越来越多…

3.Linux系统环境搭建

一、虚拟化机:指的是通过虚拟化技术将一台计算机分为多台逻辑计算机。注:虚拟机共用CPU和内存资源。 二、虚拟机用途: 1.搭建学习环境:例如在同一间实验室里,物理机Windows系统,虚拟机可以用Linux系统。 …

网络故障与排除

一、Router-ID冲突导致OSPF路由环路 路由器收到相同Router-ID的两台设备发送的LSA,所以查看路由表看到的OSPF缺省路由信息就会不断变动。而当C1的缺省路由从C2中学到,C2的缺省路由又从C1中学到时,就形成了路由环路,因此出现路由不…

3DEXPERIENCE DELMIA Role: RVN - Robotics Virtual Commissioning Analyst

Discipline: Robotics Role: RVN - Robotics Virtual Commissioning Analyst 通过准确地模拟连接到PLC程序的机器人、设备和传感器,在制造虚拟孪生上执行虚拟调试情景 为任何机器人角色的多周期情景创建传感器,生成和变换零件启用 PLC 程序的虚拟验证和…

最新Adaptive特征融合策略,涨点又高效,想发表论文可以参考

自适应特征融合是一种非常高效的数据处理方法,它比传统的特征更能适应不同的数据和任务需求,也因此拥有广泛的应用前景,是深度学习领域的研究热点。 这种方法通过动态选择和整合来自不同层次或尺度的特征信息,不仅显著提升了模型…

格式化字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 格式化字符串是指先制定一个模板,在这个模板中预留几个空位,然后再根据需要填上相应的内容。这些空位需要通过指定的符号标记…

opencv进阶 ——(七)图像处理之寸照换背景

寸照换背景,通常指的是将个人证件照片的背景色更换为另一种颜色,如白色、蓝色或红色等,以满足不同用途的要求。例如,护照照片通常要求白色背景,而身份证照片可能需要蓝色背景。这个过程通常涉及到图像处理技术&#xf…

人脸识别——探索戴口罩对人脸识别算法的影响

1. 概述 人脸识别是一种机器学习技术,广泛应用于各种领域,包括出入境管制、电子设备安全登录、社区监控、学校考勤管理、工作场所考勤管理和刑事调查。然而,当 COVID-19 引发全球大流行时,戴口罩就成了日常生活中的必需品。广泛使…

源码部署ELK

目录 资源列表 基础环境 关闭防护墙 关闭内核安全机制 修改主机名 添加hosts映射 一、部署elasticsearch 修改limit限制 部署elasticsearch 修改配置文件 单节点 集群(3台节点集群为例) 启动 二、部署logstash 部署logstash 添加配置文件 启动 三、部署kiban…

2024 五月份国内外CTF 散装re 部分wp

cr3CTF warmup 附件拖入ida main函数无法反汇编,仔细看,有花指令,jnz实际上必定跳转。有非常多处,可以写脚本patch程序去掉花指令,只要匹配指令,再获取跳转地址,nop掉中间的代码就行。但…

Paddle使用问题No module named ‘paddle.fluid’

这是Paddle版本的问题,从飞桨框架 2.5 版本开始,已经废弃了 paddle.fluid 。 ​解决方案:修改paddle版本 pip install paddlepaddle2.4.0

【微机原理及接口技术】可编程计数器/定时器8253

【微机原理及接口技术】可编程计数器/定时器8253 文章目录 【微机原理及接口技术】可编程计数器/定时器8253前言一、8253的内部结构和引脚二、8253的工作方式三、8253的编程总结 前言 本篇文章就8253芯片展开,详细介绍8253的内部结构和引脚,8253的工作方…