FPGA非常规升级程序办法--STARTUP原语

本文介绍了通过STARTUP原语实现的FPGA程序升级方法,使用microblaze软核配合axi_quad_spiIP控制SPI闪存,通过软件接口接收bin文件并逐包写入,适用于支持SPI协议的Flash升级。
摘要由CSDN通过智能技术生成

第一次写文章。。。

通常,升级FPGA程序(写flash)可通过:

1、下载器,烧写bin(mcs等)文件。

2、由另一个芯片去控制存储FPGA程序的flash读写,如加一块A7芯片,将其他接口发过来的bin文件写入flash中,在上电时将数据读出来,送入被升级FPGA的启动引脚,完成程序升级。

现在,介绍一种通过STARTUP原语的升级方法。

首先,新建一个blockdesign,添加microblaze软核,添加axi_quad_spi IP,其配置如下

可以看到此IP包含STARTUP原语,这样就可以通过软核来控制原语时序,用户不必纠结具体的时序操作。

blockdesign框图如下

可以看到,软核上挂了双端口ram和axi_quad_spi。程序实现的大体思路就是,来自外部的bin文件包(若有ddr3类似的缓存可一次全部写入)写入ram,由软核读取该数据包,并通过axi_quad_spi模块控制写入挂载在被升级FPGA上的flash中,写完一包后,由软核通知外部控制器发送下一包数据,直到配置完成。

注意:flash要支持SPI协议。

软核程序可在example design中获取。该程序主要是实现一些spi接口初始化、中断配置、擦除flash,写flash操作。

外部发送的数据接口类型不限,只要是能够接收bin文件包,并写入双端口ram中即可,并且可以和FPGA进行指令交互即可。

写在最后,没时间细写,将就着看,主要是提供一个思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值