在RISCV中使用Gdb进行调试(spike:无法识别的选项--gdb-port)

时间:2017-03-28 16:29:33

标签: gdb riscv

在构建RISCV工具和GCC(克隆from lowriscisa-simnot riscv-tools)之后,我陷入了使用Gdb阶段here的调试。

gdb超时的第二个终端目标远程。

在第一个终端,当我运行spike --gdb-port 9824 pk tests/debugspike --gdb-port 9824 pk hello.c时,它会产生:

spike: unrecognized option --gdb-port
usage: spike [host options] <target program> [target options]
Host Options:
  -p <n>             Simulate <n> processors
  -m <n>             Provide <n> MB of target memory
  -d                 Interactive debug mode
  -g                 Track histogram of PCs
  -h                 Print this help message
  --ic=<S>:<W>:<B>   Instantiate a cache model with S sets,
  --dc=<S>:<W>:<B>     W ways, and B-byte blocks (with S and
  --l2=<S>:<W>:<B>     B both powers of 2).
  --extension=<name> Specify RoCC Extension
  --extlib=<name>    Shared library to load

我不知道它是否与自己配置gdb有关?或者,当我为riscv工具运行./build.sh时,它是否已构建和配置。

如果没有,请你更正--gdb-port命令(我是linux的新手)我已尝试--gdb-port=9824--gdb-port:9824并且它是一样的。

谢谢

1 个答案:

答案 0 :(得分:0)

消息switch表示spike: unrecognized option --gdb-port,而非spike无法识别选项。 Spike来自riscv-isa-sim,而不是来自riscv-tools。 Spike的LowRisc变种 - https://github.com/lowRISC/riscv-isa-sim是很多提交者背后的主张:

  

这个分支提前3次提交,172次提交在riscv:master之后。   2016年5月19日最新提交e220bc4 @ wsong83 wsong83将提交'0d084d5'合并为更新

其中一个未移植的提交从https://github.com/riscv/riscv-isa-sim添加了gdb对spike的支持(并在https://github.com/riscv/riscv-isa-sim#debugging-with-gdb中记录了它),但它没有被提取到https://github.com/lowRISC/riscv-isa-sim(并且没有记录在{{3} }})。与gdb相关的提交是从2016年10月,2016年6月,2016年5月,并且在d1d8863086c57f04236418f21ef8a7fbfc184b0b(2016年3月19日)中添加了--gdb-port https://github.com/lowRISC/riscv-isa-sim

gdb

您可以在isa sims之间https://github.com/riscv/riscv-isa-sim/commit/d1d8863086c57f04236418f21ef8a7fbfc184b0b或要求lowRisc作者合并或只是尝试使用来自try merging changes 的尖峰...