【问题标题】:Error on converting bit files to ace files将位文件转换为 ace 文件时出错
【发布时间】:2015-10-25 18:05:19
【问题描述】:

我想使用命令提示符将 .bit 文件转换为 .ace 文件。我尝试创建 .bat 文件来做到这一点。但是当我执行命令时,没有文件被添加到指定目录。

批处理文件名为makeace,代码如下:

@echo off
if "%1" == "" goto error
xmd -tcl ./genace.tcl -jprog -hw %1.bit -board ml505 -ace my_%1.ace
goto end
:error
echo Makeace - by FPGA Developer http://www.fpgadeveloper.com
echo.
echo Usage:   makeace bitfile (without .bit extension)
echo Example: makeace project
:end
echo.

我的测试中的 .bit 文件名为 comp.bit

用于测试的命令是:

makeace comp

它运行没有错误,但没有添加新文件。

上面的批处理代码有什么错误?

【问题讨论】:

  • 代码看起来没问题。尝试删除 @echo off 并再次运行。还可以尝试使用实际的comp 字符串而不是%1 在命令提示符下直接运行转换器
  • 我试了一下,结果一样。它是否存储在特定的位置?或在同一目录中?
  • 好吧,您的代码在当前目录中查找文件。
  • 问题依旧,没有创建文件
  • 如果直接在命令提示符下运行xmd ....行也不起作用,那么问题出在那个xmd实用程序上,可能是参数错误。

标签: batch-file xilinx xilinx-ise xilinx-edk


【解决方案1】:

我建议用于您的批处理文件:

@echo off
if "%~1" == "" goto ShowHelp
if "%~1" == "/?" goto ShowHelp

rem Get just file name without file extension and path.
set "BitFileName=%~n1"
rem Get drive and path of file ending with a backslash.
set "BitFilePath=%~dp1"

xmd.exe -tcl ./genace.tcl -jprog -hw "%BitFilePath%%BitFileName%.bit" -board ml505 -ace "%BitFilePath%my_%BitFileName%.ace"

set "BitFileName="
set "BitFilePath="
echo.
goto :EOF

:ShowHelp
echo Makeace - by FPGA Developer http://www.fpgadeveloper.com
echo.
echo Usage:   makeace bitfile
echo.
echo Example: makeace project
echo.
pause

现在调用批处理文件时是否使用附加.bit 的文件名都没有关系。它现在也适用于在命令提示符窗口中运行 cmd /? 在最后一个帮助页面输出中列出的具有 1 个或多个空格或其他字符的文件名。

:EOF 是一个预定义的标签,不能在批处理文件中明确定义。 goto :EOF 类似于exit /B,即退出此批处理文件并继续在父进程中进行命令处理,这意味着如果父进程是在没有/K 的情况下调用的命令进程cmd.exe 则退出命令处理器以保持命令提示符窗口在之后打开完成批处理。

要了解所使用的命令及其工作原理,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读每个命令显示的所有帮助页面。

  • call /? ... 解释了%~1%~n1%~dp1
  • echo /?
  • goto /?
  • if /?
  • pause /?
  • rem /?
  • set /?

【讨论】:

  • 同样的问题,没有改变:(
  • @sepeee 我同意wOxxOm。批处理文件本身可以工作。我们没有xmd.exe 来检查命令处理器是否完全找到了这个没有路径调用的可执行文件,并且参数是否适合这个实用程序。阅读此工具的文档或它的帮助。 ./genace.tcl 可能是问题所在。最好用双引号指定这个文件的完整路径,即"Drive:\Path to File\genace.tcl",因为这个文件可能不在当前目录中。
猜你喜欢
  • 2020-12-25
  • 2013-02-02
  • 2012-11-13
  • 1970-01-01
  • 2020-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-27
相关资源
最近更新 更多