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
经验分享 程序员 微信小程序 职场和发展