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手册。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

硬码农二毛哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值