intel fpga远程系统更新

FPGA开发过程中经常需要用到远程系统更新(RSU)功能,通过网络将镜像文件下载到FLASH中,无需回收产品,就能修复产品错误和增强产品功能。本文介绍了intel官方提供的远程下载例程,使用tcl脚本通过system console实现远程下载的过程。

远程更新流程

  • 生成初始化RSU镜像
  • 生成应用程序镜像
  • 切换镜像
  • 远程烧写镜像

远程系统更新组件

intel s10器件远程更新组件如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1x4G5cl6-1680662022685)(./pic/sys.png)]

包括一下三部分:

  • JTAG to Avalon Master Bridge
  • Mailbox Client Intel FPGA IP
  • SDM

生成镜像

生成初始化RSU镜像

File->Programming File Generator,选择map和rpd文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iamx0w6Q-1680662022686)(./pic/1.png)]

添加两个sof文件,一个是出厂sof文件,一个是应用程序sof文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLhUpxZI-1680662022687)(./pic/2.png)]

FACTORY_IMAGE通过出厂sof文件生成,P1通过应用程序sof文件生成,当P1出问题时,上电启动后会自动导入FACTORY_IMAGE。通过quartus最多可添加7个应用程序镜像,通过远程烧写功能,可添加508个镜像。通过指令可以切换不同镜像。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8YIlC0AQ-1680662022687)(./pic/3.png)]

生成三个文件,map文件存储各个部分首地址,在切换镜像和远程烧写镜像时要使用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tUrU1EoK-1680662022688)(./pic/4.png)]

map文件

BLOCK                         START ADDRESS   END ADDRESS     

BOOT_INFO                     0x00000000      0x0010FFFF
FACTORY_IMAGE                 0x00110000      0x0045FFFF (0x0041CFFF)
SPT0                          0x00460000      0x00467FFF
SPT1                          0x00468000      0x0046FFFF
CPB0                          0x00470000      0x00477FFF
CPB1                          0x00478000      0x0047FFFF
P1                            0x00480000      0x006F0FFF

生成应用镜像

生成应用程序镜像时,只选择rpd文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vTXd0gBV-1680662022688)(./pic/5.png)]

添加sof文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tu1ln1K1-1680662022689)(./pic/6.png)]

配置镜像

打开system sconsole

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RiCIEieD-1680662022689)(./pic/console.png)]

TCL控制台

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-81IJGrOx-1680662022690)(./pic/tcl.png)]

运行TCL命令

在tcl控制台中运行

source rsu1.tcl

使用rsu_status命令验证当前镜像

rsu_status

当前镜像地址为0x00480000,运行P1,参照map文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBnkAsVn-1680662022690)(./pic/7.png)]

切换镜像

rsu_image_update 0x00480000

重新上电后,镜像又变回原来镜像。

添加应用镜像

烧写新镜像

往地址0x006F1000地址中添加文件output_file_jic.rpd,每次写1024个字节。0x006F1000在P1之后

program_flash app.rpd 0x006F1000 1024

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kUdVz7Xt-1680662022690)(./pic/8.png)]

验证当前CPB0和CPB1

读CPB0中指向当前应用的地址,读地址0x00470020,该地址通过CPB0地址偏移20得到,参照map文件

qspi_read 0x00470020 1

读CPB0中指向添加应用的地址,读地址0x00470028,该地址通过CPB0地址偏移28得到,读取到0xffffffff后才可以写入新地址。

qspi_read 0x00470028 1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRdCp3rv-1680662022690)(./pic/9.png)]

读CPB1中指向当前应用的地址

qspi_read 0x00478020 1

读CPB1中指向添加应用的地址

qspi_read 0x00478028 1

在这里插入图片描述

修改当前CPB0和CPB1

将烧写应用程序地址写入CPB0和CPB1

qspi_write_one_word 0x00470028 0x006F1000
qspi_write_one_word 0x00478028 0x006F1000

验证写入内容

写入正常。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nOWNtRZa-1680662022691)(./pic/11.png)]

参考文档

Intel Stratix 10 配置用户指南 和mailbox ip手册。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Intel FPGA远程升级是指通过网络将新的FPGA固件加载到远程设备中的过程。这种方法可以实现远程设备的升级,而不需要直接访问该设备。这样可以大大简化设备维护和升级的流程。 要实现Intel FPGA远程升级,首先需要确保目标设备具备网络连接能力。其次,需要将待升级的新的FPGA固件上传到升级服务器上。然后,通过升级服务器与目标设备进行通信,将新的FPGA固件传输到目标设备中。一旦传输完成,目标设备便可以使用新的FPGA固件,从而获得新的功能或性能提升。 远程升级过程中,需要注意以下几个关键问题。首先是数据传输的安全性。由于升级过程需要通过网络传输大量的敏感数据,确保数据传输的安全非常重要。其次是兼容性问题。新的FPGA固件必须与目标设备兼容,否则可能会导致设备异常或不可用。最后是升级过程的稳定性。由于远程升级过程中涉及到网络通信,偶发的通信故障可能导致升级失败,因此需要采取相应措施来确保升级过程的稳定性和可靠性。 总的来说,Intel FPGA远程升级为设备的维护和升级提供了方便快捷的方式。它允许在不直接访问设备的情况下进行远程升级,从而节省了时间和资源,提高了设备的可用性和安全性。同时,在使用远程升级功能时,需要注意数据的安全性、兼容性和稳定性等关键问题,以确保升级过程的成功和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

硬码农二毛哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值