复旦微实现串口在线升级BOOT.BIN

ZYNQ:FPGA_AXI_ARM
专栏收录该内容
¥49.90
¥99.00
124 篇文章

将该 demo 生成的 app(升级用)和 fsbl、最简化 bit 文件(可选)打包成 BOOT.BIN,作为 golden image 烧写在 qspi flash 偏移 0 地址开始的位置,其中最简化 bit 文件为在线升级功能提供必要的物理通道(如果不需要,可以不打包该文件),golden image 一旦发布基本不需要进行升级,由该 golden image 负责和上位机进行通信交互,完成业务 app、业务 bit 文件、uboot 以及操作系统 image 等文件在线升级,在 qspi flash 容量足够的情况下,还可以进一步实现多个业务镜像、bit文件并存,通过在线切换不同的bit文件和业务镜像实现不同的功能,业务 bit 文件由业务 APP 负责加载到 PL 中。这个例子是裸机程序下的使用串口实现在线升级功能,对于操作系统下的升级和多业务镜像不在本文中进行讨论,操作系统下在线升级和多业务镜像相对更容易实现;用户可以在该 demo 的基础上,在升级过程中增加所有业务 app 和 bit 文件的 CRC 校验,并把 CRC 校验值保存在 flash 中(在 qspi flash 预留从 16M-64KB 开始的 64KB 保留升级相关的信息),启动加载业务app 和bit 文件时,如果某个文件CRC错误,则加载其他备份文件,实现PSOC multiboot的效果。

一,在线升级工作原理和程序流程

软复位重启系统流程不是必须的,可根据需要修改成右边的“加载业务app并启动”的流程。

 

ZYNQ 使用网口或串口实现程序保存或升级 修改 lwip_memory_options 设置,将 mem_size,memp_n_pbuf 这 2 个参数值设大,这样会提高 UDP 传输效率。修改 pbuf_options 设置,将 pbuf_pool_size 设大,增加可用的 pbuf 数量,这样同样会提高 UDP 传输效率。修改 tcp_options 设置,将 lwip_tcp 设置为 false,tcp_queue_ooseq 设为 0,关闭 tcp功能;2,SDK裸机实现程序升级,进入需要使能 lwip 141库,并进行设置。 9.1k 阅读·5 点赞·77 收藏 阅读详情

相关推荐

ZYNQ在线更新启动文件步骤

5)选择 BOOT_QSPI.bin 和 zynq_fsbl.elf 进行烧写;更新方式与烧写QSPI版固件一致,只需将固件文件加载为EMMC版BOOT.bin。板卡启动后,输入用户名和密码,进入系统,默认用户名和密码均为root。2)切换拨码开关到QSPI:拨码1设置为ON,拨码2设置为ON。切换拨码开关到QSPI:拨码1设置为OFF,拨码2设置为ON;B.把需要升级文件拖动到相应目录下,完成文件升级。A.使用鼠标点击文件夹进入dts1588目录;2.1 切换板卡到QSPI启动模式。

wangjie36的博客 2420

【合规领域】【信息科学与工程学】计算机科学与自动化——第五百篇 国产化/XC解决方案 十二篇 中兴通讯 CPU / ASIC / NP 芯片硬件适配方案01

以下方案基于中兴通讯公开资料中可确认的自研芯片脉络——2011 年第一代自研交换网套片、2015 年首款自研 NP 芯片 SSP-1(RTC Run-To-Completion 架构、微码+动态表项可编程转发)、2020 年启动第五代自研交换网芯片研发,以及 2026 年公开的珠峰(特定场景处理器)、定海(DPU)、凌云(51.2T AI 交换芯片)三条主线;

weixin_49199313的博客 25

复旦微开发过程中遇到的问题总结(二)

复旦微用第三方烧写工具烧写到flash,启动时候fsbl是新的,但app总是跳到之前烧写过的一个程序中?全片擦除flash,只会把fsbl给擦掉,这个旧的用户程序一直存在。从新下载,还是擦除都会从那个旧的用户程序启动。原因:检查一下打包boot.bin时是否有问题,应该就是打包成boot.bin出现的问题默认时钟是200M,修改时钟为50-100M之间,我改的120M 7045程序跑起来以后,有什么办法通过串口给ps发指令,然后通过pl jtag在线加载bit,不重新加载,也就是能随时在线跟新PLbit程序

wangjie36的博客 8264

xilinx FPGA的远程更新(动态加载)详解(Using a Microprocessor to Configure 7 Series FPGAs)

借用微处理器(简称MIC)配置FPGA的思路进行远程更新。虽然一般情况下MIC配置FPGA只是用于动态加载,即远程烧写bit临时调试,掉电后程序会丢失。但若是想将远程传输过来的程序(例如bin文件)写入MIC上挂的flash中,然后MIC再将flash中的程序写入FPGA,每次MIC上电后都会先把FLASH中的程序读取后传输去烧写FPGA,则就实现了掉电不丢失的远程更新功能。

风中月隐的博客——FPGA加速者 1万+

Zynq QSPI烧写FM25F32实战:FSBL配置、Boot.bin生成与避坑指南

QSPI NOR Flash是嵌入式系统常用的启动与存储介质,JEDEC ID和驱动配置直接决定FSBL能否正确识别芯片。在Zynq-7000平台上烧录FM25F32等国产替代Flash时,常见问题并非硬件损坏,而是Flash型号不在FSBL支持列表,导致Vivado硬件管理器或program_flash报ID mismatch。掌握Boot.bin生成、BIF文件分区、QSPI时钟分频与回读校验,能有效规避烧写成功但无法启动的陷阱。本文以FM25F32为例,梳理从环境准备、FSBL修改到JTAG烧写与冷启

weixin_29189363的博客 285

Zynq学习之PS在线更新PL.rar

在Zynq的PS程序(standlone环境裸机程序)和PL程序正常加载后,通过PS读取SD卡中的PL配置文件,在线更新PL

ZYNQ7015实现基于TCP网络远程驱动QSPI更新Flash固件【Vitis实现】

ZYNQ7015驱动程序,主控芯片为XC7Z015CLG485-2,支持移植到XC7Z015系列芯片,Vitis实现。 一分价钱一分货,项目代码可顺利编译运行~

从采集到播放:RV1106+H264全链路开发避坑指南(含FFmpeg转码技巧)

本文详细解析了基于Rockchip RV1106芯片构建H.264视频从采集到播放全链路的开发实践。内容涵盖RKMPI框架设计、VI/VENC模块配置、内存泄漏排查及FFmpeg高效转码技巧,旨在帮助嵌入式开发者规避常见陷阱,实现稳定高效的低延迟视频处理流水线。

weixin_29189377的博客 651

DisplayPort 1.4数据扰码实战:16bit LFSR并行优化技巧(附Verilog代码)

本文深入探讨了DisplayPort 1.4协议中16bit数据扰码的并行化实现。针对高带宽视频传输需求,文章详细推导了16位LFSR(线性反馈移位寄存器)的单周期16步并行计算公式,并提供了可直接使用的Verilog代码,解决了传统8bit串行处理吞吐量不足的瓶颈,为高速接口设计提供了关键优化技巧。

y4z5a6b7的博客 250

2025.1.16——五、LoveSQL1 sqlmap文件类|万能密码

题目来源:BUUCTF[极客大挑战2019]LoveSQL1。

2402_87387800的博客 1057

基于zynq在linux下的AXI-CAN实战

从petalinux的搭建,到uboot、kernel、rootfs的调试、打包提示:以下是本篇文章正文内容,下面案例可供参考本次要讲述的zynq的AXI-CAN实战小知识就说到这里了,兄弟萌要有什么指导意见或疑问可以在评论区留下"足迹"。

qq_45521099的博客 3157

【RT-DETR实战】159、改进九:知识蒸馏从YOLOv8教师模型学习

摘要: 本文探讨了知识蒸馏在RT-DETR目标检测模型中的应用挑战与实践经验。作者以YOLOv8作为教师模型,针对特征对齐、损失函数设计和训练策略等核心问题,提出了适配器模块、动态权重调整和多阶段训练等优化方案。文章重点分析了教师模型选择、特征图匹配、损失函数组合等关键环节的实战技巧,并总结了蒸馏模型部署时的注意事项。通过实验验证,作者指出知识蒸馏应关注模型"思维方式"的迁移而非简单特征复制,并强调合理评估指标和教师模型选择的重要性。最后,作者分享了技术迭代中的边际效应认知,为工业场景下的模型优化提供了实用

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 264

Unity零基础到进阶 | Unity中的内存泄漏全解析,原因、排查及避免

Unity 内存泄漏并非传统C++语境中的野指针或未释放堆内存,而是基于其「托管内存(C#)+ 原生内存(引擎/非托管)」双架构的特殊问题——即已废弃、不再被业务逻辑使用的内存块,无法被引擎或系统自动回收,持续占用内存空间,最终引发内存暴涨、GC卡顿、OOM(内存溢出)崩溃,其中移动端、主机端受影响最显著。 Unity 内存主要分为三类,其中泄漏仅发生在前两类,栈内存因系统自动分配/释放,无泄漏风险:

努力前行,总会成为自己心中的那道光 1万+

YOLO26 标签分配机制:STAL 小目标感知分配策略

YOLO26提出的STAL标签分配策略通过尺度感知机制优化了小目标检测性能。该方法根据目标面积将检测对象分为小、中、大三类,分别采用差异化的分配参数(TopK数量、IoU阈值和中心度权重),特别是对小目标采用更宽松的匹配条件和更高的中心度权重。实验结果表明,STAL策略显著提升了小目标检测精度(AP_small),同时保持了整体检测性能(mAP),为解决目标检测中尺度不平衡问题提供了有效方案。

一键难忘的博客 767

基于YOLOv8的农作物病虫害检测系统设计与实现

国内如中国农业大学的科研团队采用改进的Faster R-CNN模型对小麦病害进行检测,取得了较好的效果。农作物病虫害是影响农业生产的重要因素之一,每年因病虫害导致的农作物减产高达20%-40%。YOLO(You Only Look Once)系列算法作为目标检测领域的代表性模型,以其高效、准确的特点在众多领域得到广泛应用。YOLOv8作为该系列的最新版本,在精度和速度上都有显著提升,非常适合农作物病虫害检测这类需要实时处理的应用场景。然而,现有研究仍存在一些不足:一是模型复杂度高,难以部署到移动设备;

YOLO 787

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 相机封装的函数
下一篇: AD9361功能介绍和使用
寒听雪落
博客等级 码龄10年 3907粉丝 512原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值