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 模拟。
我正在尝试使用 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 模拟。