1、引言
spartan 3e starter kit是使用较广泛的开发板,spartan 3e系列fpga价格低廉,是基于fpga开发嵌入式系统的重要选择,通常情况下,fpga的bram资源有限,而且需要扩展flash以存储程序代码。因此一个典型的fpga系统包括如下芯片:FPGA芯片、PROM芯片、Parallel Flash芯片、RAM芯片,其中32位数据带宽的parallel flash和ram芯片大概需要占用60个引脚,因此在速度要求不高的时候,可以通过减少数据带宽的方法减少引脚的数目(见上一篇文章)。
本文从另外一个角度降低FPGA的开发成本,使用spi flash芯片代替PRom和parallel Flash芯片的功能。
1、使用impact产生包括fpga配置信息和程序代码mcs格式的文件(combine.mcs),fpga配置信息从0地址开始,程序代码的其实地址需要根据fpga配置信息的大小变化,bootloader负责把程序代码读出到ram中预定的位置(主程序编译时需要指定程序的运行地址)
2、去除combine.mcs的地址信息
3、生成二进制文件(本人专门写了一个工具!)
4、使用串口把二进制文件下载到spi flash中
5、M0 M1 M2跳线为100(M1 M2加入跳线帽)
6、push PROG