基于xilinx的FPGA在线升级程序,仅7系列以上支持
基于xilinx的FPGA在线升级程序,仅7系列以上支持
3MT25Ql512 SPI在线升级操作流程
3byte模式
1.读取Device ID,看看较是否是0x20BA20
读取ID过程:1. 对o_spi_cmd写入flash读取ID命令0x9F
2. 对o_spi_enb写1再写0
3. 从i_rd_dat读取数据得到ID
2.擦除整片flash 命令0xc7
1.对o_spi_cmd写入flash命令0x06
2.对o_spi_cmd写入flash命令0xC7
3.对o_spi_enb写1再写0,直到spi_busy为0则完成
3.写使能,命令0x06
4.向fifo写入编程数据
5.向flash写入fifo里面的数据,如果写完了编程数据则到6,没写完回到3
写入数据过程:1. 对o_spi_cmd写入flash命令0x02
2. 对o_spi_addr写入flash起始地址
3. 对o_wr_dat循环写入要发送的数据,可以看到FIFO数据量在增加
4. 对o_spi_dnum写入要写入多少byte的数据,fifo最大支持1KB
5. 对o_spi_enb写1再写0,可以看到fifo数据量最终变成0
6.读取flash数据到接收fifo
7.从fifo中把数据取回上位机,如果已经取完数据则结束,否则回到6
读取数据过程:1. 对o_spi_cmd写入flash命令0x03
2. 对o_spi_addr写入读取flash起始地址
3. 对o_spi_dnum写入要读取多少byte的数据,fifo最大支持1KB
4. 对o_spi_enb写1再写0,可