[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Driving DejaGNU from Linux for testing arm-none-eabi toolchain execu
From: |
Torbjorn SVENSSON |
Subject: |
RE: Driving DejaGNU from Linux for testing arm-none-eabi toolchain executed on Windows |
Date: |
Fri, 2 Oct 2020 19:29:47 +0000 |
Hello Rob,
Thanks for your answer!
There is no actual need of security on the connection between the Linux and the
Windows system as they are both on a simple network with only a single switch.
The network has just 3 hosts, one Linux(192.168.1.1), one Windows(192.168.1.2)
and one Macos(192.168.1.3).
For simplicity, lets say that we are using ssh as a communication channel.
How would the "mix of board files and the global site.exp" file look like?
My board file for the Cortex-a7 target contains this condensed content:
load_generic_config "sim"
process_multilib_options ""
set_board_info compiler "[find_gcc]"
set_board_info cflags "[libgloss_include_flags] [newlib_include_flags] "
set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]
--specs=rdimon.specs "
set_board_info ldscript "-T /build/files/cortex-a7.ld"
set_board_info needs_status_wrapper 1
set_board_info gcc,stack_size 1337
set_board_info gdb,nosignals 1
set_board_info gcc,timeout 800
set_board_info sim /build/files/qemu-remote.sh
set_board_info sim,options "-nographic -machine virt -cpu cortex-a7 -m 256
-semihosting -monitor /dev/null -kernel "
set_board_info is_simulator 1
The above (in the full form) works well on both the Linux host and the Cygwin
(Windows) host.
Lets say that I have the above as a skeleton, what would be needed for the
Canadian cross test where
build=x86_64-linux-gnu
host=x86_64-w64-mingw32
target=arm-none-eabi
The target part should be covered with the sim part, right? But how do I
configure DejaGNU to do scp/ssh to execute the toolchain?
If I would get the above working, I guess I can drop the custom qemu-remote.sh
script and just invoke qemu-system-arm directly as the execution test should be
executed from the Linux system then.
Regarding ABE; It might be a really good tool for building and managing
toolchains, but it's out of my scope. For various reasons, I cannot replace how
the toolchain is built. I can only control how the testing of the toolchain is
performed.
Looking forward to any example on how to do a Canadian cross toolchain test.
Kind regards,
Torbjörn
-----Original Message-----
From: Rob Savoye <rob@welcomehome.org>
Sent: den 2 oktober 2020 19:24
To: Torbjorn SVENSSON <torbjorn.svensson@st.com>; dejagnu@gnu.org
Subject: Re: Driving DejaGNU from Linux for testing arm-none-eabi toolchain
executed on Windows
On 10/2/20 9:29 AM, Torbjorn SVENSSON wrote:
> Is it possible to run DejaGNU on a Linux system for the Windows tests too,
> but use scp/ssh, or something similar, to connect to the Windows system to
> run the toolchain binaries?
Yes, DejaGnu has been able to do this since it was created. The rough
concept is called a Canadian Cross. We used to use telnet, to use ssh
you'd need an ssh server, but Cygwin works quite well.
> 1. Build the toolchain using the Arm provided scripts
I'd suggest using the ABE tool
(https://git.linaro.org/toolchain/abe.git/), not sure what ARM uses now,
but Linaro uses ABE. ABE does support build a windows hosted toolchain.
> 2. Copy the source tree to the Windows system. (Is this needed for includes
> to work...?)
You don't need to do this.
> Is this possible? If so, how do I configure DejaGNU to do this?
It's a mix of board files, and the global site.exp file.
> To reduce the risk of introducing different QEMU results on Linux and
> Windows, I have created a simulator script that transfers the built binary to
> the Linux system and executes QEMU on the Linux system.
DejaGnu handles all of this.
- rob -