Rtems 5 BSP 测试失败

Rtems 5 BSP Test Failing

我正在尝试使用 QuickStart, everything is ok until section 2.7 中的说明在我的 ubuntu-19.04 机器上安装 rtems 5,但似乎构建的 gdb 缺少 "sim"目标。

完整的命令序列是:

 2022  mkdir -p $HOME/quick-start/src
 2023  cd $HOME/quick-start/src
 2024  git clone git://git.rtems.org/rtems-source-builder.git rsb
 2025  git clone git://git.rtems.org/rtems.git
 2026  cd $HOME/quick-start/src/rsb/rtems
 2027  ../source-builder/sb-set-builder --source-only-download 5/rtems-sparc
 2028  cd $HOME/quick-start/src/rsb/rtems
 2029  ../source-builder/sb-set-builder --prefix=$HOME/quick-start/rtems/5 5/rtems-sparc
 2030  $HOME/quick-start/rtems/5/bin/sparc-rtems5-gcc --version --verbose
 2031  cd $HOME/quick-start/src/rtems
 2032  export PATH=$HOME/quick-start/rtems/5/bin:"$PATH"
 2033  ./bootstrap -c
 2034  $HOME/quick-start/src/rsb/source-builder/sb-bootstrap
 2035  mkdir -p $HOME/quick-start/build/b-erc32
 2036  cd $HOME/quick-start/build/b-erc32
 2037  export PATH=$HOME/quick-start/rtems/5/bin:"$PATH"
 2038  $HOME/quick-start/src/rtems/configure     --prefix=$HOME/quick-start/rtems/5     --enable-maintainer-mode     --target=sparc-rtems5     --enable-rtemsbsp=erc32     --enable-tests
 2039  cd $HOME/quick-start/build/b-erc32
 2040  make
 2041  cd $HOME/quick-start/build/b-erc32
 2042  make install
 2043  cd $HOME/quick-start/build/b-erc32
 2044  rtems-test --rtems-bsp=erc32 --rtems-tools=$HOME/quick-start/rtems/5 .

源代码生成器的检查显示正常:

user@machine:~/quick-start/build/b-erc32$ $HOME/quick-start/src/rsb/source-builder/sb-check 
RTEMS Source Builder - Check, 5 (4a6f476c14aa)
Environment is ok

实际测试&输出:

user@machine:~/quick-start/build/b-erc32$ rtems-test --rtems-bsp=erc32 --rtems-tools=$HOME/quick-start/rtems/5 .
RTEMS Testing - Tester, 5.0.not_released
 Command Line: /home/user/quick-start/rtems/5/bin/rtems-test --rtems-bsp=erc32 --rtems-tools=/home/user/quick-start/rtems/5 .
 Host: Linux machine 5.0.0-31-generic #33-Ubuntu SMP Mon Sep 30 18:51:59 UTC 2019 x86_64
 Python: 3.7.3 (default, Aug 20 2019, 17:04:43) [GCC 8.3.0]
Host: Linux-5.0.0-31-generic-x86_64-with-Ubuntu-19.04-disco (Linux machine 5.0.0-31-generic #33-Ubuntu SMP Mon Sep 30 18:51:59 UTC 2019 x86_64 x86_64)
[  1/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: dhrystone.exe
[  4/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: fsbdpart01.exe
[  2/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: linpack.exe
[  3/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: whetstone.exe
[  6/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: fsdosfsformat01.exe
[  5/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: fsclose01.exe
[  7/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: fsdosfsname01.exe
[  8/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: fsdosfsname02.exe
[  1/601] p:0   f:0   u:0   e:0   I:0   B:0   t:0   i:0   W:0   | sparc/erc32: dhrystone.exe
Result: invalid    Time: 0:00:03.029451 dhrystone.exe
=>  gdb: /home/user/quick-start/rtems/5/bin/sparc-rtems5-gdb -i=mi --nx --quiet ./sparc-rtems5/c/erc32/testsuites/benchmarks/dhrystone.exe
=>  Reading symbols from ./sparc-rtems5/c/erc32/testsuites/benchmarks/dhrystone.exe...
=>  target sim
=>  Undefined target command: "sim".  Try "help target".
=>  quit
[SNIP]
[601/601] p:1   f:0   u:0   e:0   I:0   B:0   t:0   i:593 W:0   | sparc/erc32: tmtimer01.exe
Result: invalid    Time: 0:00:03.006092 tmtimer01.exe
=>  gdb: /home/user/quick-start/rtems/5/bin/sparc-rtems5-gdb -i=mi --nx --quiet ./sparc-rtems5/c/erc32/testsuites/tmtests/tmtimer01.exe
=>  Reading symbols from ./sparc-rtems5/c/erc32/testsuites/tmtests/tmtimer01.exe...
=>  target sim
=>  Undefined target command: "sim".  Try "help target".
=>  quit

Passed:          1
Failed:          0
User Input:      0
Expected Fail:   0
Indeterminate:   0
Benchmark:       0
Timeout:         0
Invalid:       600
Wrong Version:   0
Wrong Build:     0
Wrong Tools:     0
------------------
Total:         601

有没有对 rtems 更有经验的人知道如何正确构建 sparc-rtems5-gdb 以便更正这个问题?

SIS(软件指令模拟器)已从 GDB 中删除,现在可以作为名为 sis 的单独命令使用。请检查此命令是否已使用您的 RTEMS 工具集构建和安装。如果存在,请使用 --rtems-bsp=erc32-sis 作为测试命令 BSP:

rtems-test --rtems-bsp=erc32-sis --rtems-tools=$HOME/quick-start/rtems/5 .

GDB 中的 SIS 模拟器在 RTEMS 工具中作为 GDB 的补丁进行维护,这在我们每次更新 GDB 版本时都会产生影响。一个单独的程序更易于维护,并且可以通过远程协议与 GDB 一起使用,因此我们拥有的补丁的所有内容仍然存在,但我们不需要保留补丁。新的 sis 命令也支持 RISCV 模拟。