Qualcomm DSP:带有命令行参数的 hexagon-sim

Qualcomm DSP: hexagon-sim with command line arguments

我正在使用以下工具在六边形模拟器上分析 C 代码:

Qualcomm/Hexagon_SDK/3.5.3/tools/HEXAGON_Tools/8.3.07/Tools/bin/hexagon-sim --timing --profile binary.hexagon

二进制文件是用 hexagon-clang 构建的:

Qualcomm/Hexagon_SDK/3.5.3/tools/HEXAGON_Tools/8.3.07/Tools/bin/hexagon-clang

但是,当 运行 时,我无法将命令行参数传递给我的二进制文件 六边形模拟

有人知道怎么做吗?

我试过了:

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 模拟器用户指南”,Qualcomm 文档80-N2040-17 P

Running the simulator ... Command switches are used to control various simulator options. A switch consists of one or two dash characters followed by a switch name and optional parameter. Note that switch names are case-sensitive. Switches must be separated by at least one space. The command switch (--) when delimited by spaces on either side is used to separate the command arguments of the target application from those of the simulator. For example:

hexagon-sim --rtos q.cfg a.out -- 10 // 10 is target app arg
hexagon-sim --rtos q.cfg -- a.out 10 // alternate form