Base repository to cross-compile Rust applications for the Q7S
Go to file Use this template
2021-08-14 17:26:23 +02:00
.cargo init commit 2021-08-14 17:13:45 +02:00
src init commit 2021-08-14 17:13:45 +02:00
.gitignore init commit 2021-08-14 17:13:45 +02:00
Cargo.lock init commit 2021-08-14 17:13:45 +02:00
Cargo.toml init commit 2021-08-14 17:13:45 +02:00
deploy-q7s.sh extended README 2021-08-14 17:26:23 +02:00
README.md extended README 2021-08-14 17:26:23 +02:00

Cross-compiling Rust for the Q7S

Build with cargo

Build debug image:

cargo build --target armv7-unknown-linux-gnueabihf

You can then transfer the application with scp. It is recommended to use the q7s-cp.py utility which is part of the EIVE OBSW script folder.

If you use this script, you can use the deploy-q7s.sh script to deploy the binary conveniently.

Prerequisites

  1. Install rust on your development machine using rustup

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  2. Install standard library for target architecture

    rustup target add armv7-unknown-linux-gnueabihf
    
  3. Install a cross-compile toolchain for the Cortex-A9 target and add it to your path. It is recommended to take the same toolchain used to compile the Q7S primary OBSW. See the dedicated README for more details and download links.

  4. Install sshpass

    sudo apt-get install sshpass
    
  5. Specify the ssh password as the SSHPASS variable

    export SSHPASS="<sshPassword>"