以Spartan-6 ISE开发环境为例。
ISE开发环境支持生成bit和bin格式的程序文件,可以在生成选项进行配置:
把生成的bit文件和bin文件进行二进制比较,发现bit比bin文件头部多了一些内容(头部信息),剩余部分完全一致。
经过实测总结了以下注意事项:
- ISE iMPACT工具只支持bit/mcs文件烧写,不支持bin文件烧写
- ISE iMPACT工具使用bit文件生成mcs文件时,是先去掉bit文件的头部信息,转换为bin文件之后,再把bin文件添加地址和校验,按照hex文件的格式生成mcs文件,可以参考如下截图。
- 在进行远程固件在线升级方案设计时,远程升级文件不能直接将bit原始文件写入到SPI Flash,这样会导致程序无法启动运行,需要先把bit文件的头部信息去掉,或者转换为bin文件,再进行写入。
- Artix-7系列Vivado SDK环境通过Program Flash来对外部QSPI编程时,如果选择的是bit文件,SDK软件也是先把头部信息去掉,再向QSPI Flash写入,所以写入的并不是完整的bit文件。
- Artix-7系列在进行固件远程升级时,可以直接使用bit文件来更新QSPI Flash,也可以使用去掉头部信息的bit文件,两者都可以正常启动。
- 在使用ISE iMAPCT工具制作远程升级所需要的第一个固化文件时,如果包含Golden.bit、Golden.elf、App.bit、App.elf等文件时,需要把App.bit文件去掉头部信息,并添加.bin文件后缀,elf文件也要添加.bin文件后缀,并分别指定好起始地址,再合并生成mcs文件。