vivado2020.1使用vitis生成QSPI启动文件报错
在使用vivado2020.1使用vitis,生成QSPI启动文件时会报错,data2mem命令无法识别,这是因为data2mem是xilinx7series芯片的命令,当使用ultrascale/ultrascale+芯片时则需要使用updatemem命令,这或许是vitis的一个bug吧,明明选择的是ultrascale的芯片,却一直调用打她mem命令,挺麻烦的,需要手动执行,在XSCT console窗口执行的命令如下:
updatemem -force -meminfo F:/xc7z35t/xc7z35t/project_1.runs/impl_1/design_1_wrapper.mmi -bit F:/xc7z35t/xc7z35t/project_1.runs/impl_1/design_1_wrapper.bit -data F:/xc7z35t/xc7z35t/project_1.sdk/bootloader/Debug/bootloader.elf -proc design_1_i/microblaze_0 -out F:/xc7z35t/xc7z35t/project_1.runs/impl_1/download.bit
查询官方命令说明如下:
xsct% updatemem -help
WARNING: [Common 17-259] Unknown Tcl command updatemem -help sending command to the OS shell for execution. It is recommended to use exec to send the command to the OS shell.
Usage: updatemem [options]
(Switches with double dash -- can also be used with a single dash -)
-h [ --help ] Display help
--meminfo arg Input meminfo file with extension .mmi or .smi (for
generating .mem files). The .mmi file can be generated
using the write_mem_info TCL command in Vivado. The Tcl
generate_mem_files will generate the .smi file.
--data arg Input elf or mem file to be used to populate the BRAMs.
When writing .mem files for simulation this command
line argument will only accept elf input file type.
--writememfile arg Output .mem file. The elf file will be translated and
written to the specified .mem file.
--bit arg Input bit file
--proc arg Instance path of the processor in the design
--out arg Output bit file
--mode arg Invocation mode, allowed values are tcl, and batch
Hidden - Default: batch
--force [=arg(=1)] Overwrite existing output bit file
--nobitfile Hidden nobitfile flag to allow updatemem in the absence
of a bit file
--debug Hidden debug flag to output the bram init strings
Examples:
updatemem -meminfo top.mmi -data top.elf -bit top.bit -proc system_i/microblaze -out top_out.bit
updatemem -meminfo top.mmi -data top.mem -bit top.bit -proc system_i/microblaze -out top_out.bit
updatemem -meminfo top.mmi -data top.elf -bit top.bit -proc system_i/microblaze -out top_out.bit -force
Write out the translated elf file as a .mem file for third party simulators.
updatemem -writememfile top.mem -data top.elf
Write out the translated elf file as a .mem file(s) for third party simulators.
updatemem -meminfo top.smi -data top.elf -proc system_i/microblaze
