dejagnu
[Top][All Lists]
Advanced

[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 -

reply via email to

[Prev in Thread] Current Thread [Next in Thread]