问题描述
我正在使用以下工具在六边形模拟器上分析 c 代码:
Qualcomm/Hexagon_SDK/3.5.3/tools/HEXAGON_Tools/8.3.07/Tools/bin/hexagon-sim --timing --profile binary.hexagon
二进制文件是用六边形clang构建的:
Qualcomm/Hexagon_SDK/3.5.3/tools/HEXAGON_Tools/8.3.07/Tools/bin/hexagon-clang
但是,我在运行时无法将命令行参数传递给我的二进制文件 六边形-sim
有人知道怎么做吗?
我试过了:
Qualcomm/Hexagon_SDK/3.5.3/tools/HEXAGON_Tools/8.3.07/Tools/bin/hexagon-sim --timing --profile binary.hexagon argument1 argument2
Qualcomm/Hexagon_SDK/3.5.3/tools/HEXAGON_Tools/8.3.07/Tools/bin/hexagon-sim --timing --profile binary.hexagon 'argument1 argument2'
Qualcomm/Hexagon_SDK/3.5.3/tools/HEXAGON_Tools/8.3.07/Tools/bin/hexagon-sim --timing --profile 'binary.hexagon argument1 argument2'
但这一切都只是给出了错误:
More than one non-option on command line!
(binary.hexagon)
(argument1)
Cannot determine executable - aborting.
解决方法
您应该为此使用 --
。
像这样:
hexagon-sim --timing --profile binary.hexagon -- argument1 argument2
来自“Hexagon Simulator User Guide”,Qualcomm doc 80-N2040-17 P
:
运行模拟器
...
命令开关用于控制各种
模拟器选项。一个开关由一个或两个破折号组成
后跟开关名称和可选参数。注意开关
名称区分大小写。开关之间必须至少有一个
空间。命令开关 (--
) 以空格分隔时
side 用于分隔目标的命令参数
来自模拟器的应用程序。例如:
hexagon-sim --rtos q.cfg a.out -- 10 // 10 is target app arg
hexagon-sim --rtos q.cfg -- a.out 10 // alternate form