2017-03-28 71 views
0

建設RISCV工具和GCC後(克隆from lowriscisa-simnot riscv-tools),我陷進用gdb階段here調試。用GDB進行調試在RISCV(秒殺:無法識別的選項--gdb端口)

在第二個終端目標遠程中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,它是一樣的。

謝謝

回答

0

消息spike: unrecognized option --gdb-portspike,不gdb無法識別選項。 Spike來自riscv-isa-sim,而不是來自riscv-tools。和斯派克的LowRisc變種 - https://github.com/lowRISC/riscv-isa-sim是許多落後提交高手:

這個分支是3犯提前,後面riscv 172個提交:主。 最新提交2016年5月19日,e220bc4 @ wsong83 wsong83合併提交「0d084d5」到更新

一個不移植犯添加GDB支持https://github.com/riscv/riscv-isa-sim秒殺(並記錄它https://github.com/riscv/riscv-isa-sim#debugging-with-gdb),但它不拉到https://github.com/lowRISC/riscv-isa-sim(並且沒有記錄在https://github.com/lowRISC/riscv-isa-sim)。 GDB相關的提交人從2016年10月,君2016年,2016年5月,並在d1d8863086c57f04236418f21ef8a7fbfc184b0b添加了--gdb端口(2016年3月19日)https://github.com/riscv/riscv-isa-sim/commit/d1d8863086c57f04236418f21ef8a7fbfc184b0b

+ fprintf(stderr, " --gdb-port=<port> Listen on <port> for gdb to connect\n"); 
+ parser.option(0, "gdb-port", 1, [&](const char* s){gdb_port = atoi(s);}); 

您可以ISA SIMS或詢問lowRisc作者之間try merging changes合併或riscv只是嘗試使用秒殺...

+0

你好,我試圖消除riscv-ISA-SIM卡電話簿,並與當前和重建一切替換它,但它仍然沒有奏效。 – ninode

+0

@ninode,目前從哪裏?使用https://github.com/riscv/riscv-isa-sim spike。 – osgx

+0

是的。我確實使用過那個。愚蠢的問題:我應該真的分開配置所有目錄嗎?或者只是在riscv-tools中運行./build做到這一點? – ninode