|
|
@@ -5,10 +5,28 @@ This repository contains the description of a number of smart home devices as we
|
|
5
|
5
|
|
|
6
|
6
|
# Compiling
|
|
7
|
7
|
|
|
8
|
|
-Compiling the base station firmware requires a rust toolchain for ARMv6m:
|
|
|
8
|
+Compiling the display firmware requires a rust toolchain for ARMv6m:
|
|
9
|
9
|
|
|
10
|
10
|
rustup target add thumbv6m-none-eabi
|
|
11
|
11
|
|
|
|
12
|
+Compiling the base station software depends on the targeted board. The following steps can be used to cross-compile the software for an ARMv7 target from a Fedora host:
|
|
|
13
|
+
|
|
|
14
|
+1. Install the toolchain:
|
|
|
15
|
+
|
|
|
16
|
+ sudo dnf copr enable lantw44/arm-linux-gnueabi-toolchain
|
|
|
17
|
+ sudo dnf install arm-linux-gnueabi-gcc.x86_64
|
|
|
18
|
+ rustup target add arm-unknown-linux-gnueabi
|
|
|
19
|
+
|
|
|
20
|
+2. Configure Rust to use the ARM GCC:
|
|
|
21
|
+
|
|
|
22
|
+ cat > ~/.cargo/config
|
|
|
23
|
+ [target.arm-unknown-linux-gnueabi]
|
|
|
24
|
+ linker = "arm-linux-gnueabi-gcc"
|
|
|
25
|
+
|
|
|
26
|
+3. Compile the software using the newly installed toolchain:
|
|
|
27
|
+
|
|
|
28
|
+ cargo build --target=arm-unknown-linux-gnueabi
|
|
|
29
|
+
|
|
12
|
30
|
# License
|
|
13
|
31
|
|
|
14
|
32
|
The hardware contained in this repository is licensed under the [CERN Open Hardware Licence Version 2 - Weakly Reciprocal](cern_ohl_w_v2.txt), and the software is licensed under the [GNU General Public License v3](gpl-3.0.md).
|