5 [SOLID] embedded development platform by Kyoto Microcomputer Co., Ltd.
7 [SOLID]: https://www.kmckk.co.jp/eng/SOLID/
9 The target names follow this format: `$ARCH-kmc-solid_$KERNEL-$ABI`, where `$ARCH` specifies the target processor architecture, `$KERNEL` the base kernel, and `$ABI` the target ABI (optional). The following targets are currently defined:
11 | Target name | `target_arch` | `target_vendor` | `target_os` |
12 |--------------------------------|---------------|-----------------|--------------|
13 | `aarch64-kmc-solid_asp3` | `aarch64` | `kmc` | `solid_asp3` |
14 | `armv7a-kmc-solid_asp3-eabi` | `arm` | `kmc` | `solid_asp3` |
15 | `armv7a-kmc-solid_asp3-eabihf` | `arm` | `kmc` | `solid_asp3` |
17 ## Designated Developers
19 - [@kawadakk](https://github.com/kawadakk)
23 This target is cross-compiled.
24 A platform-provided C compiler toolchain is required, though it can be substituted by [GNU Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm) for the purpose of building Rust and functional binaries.
28 The target can be built by enabling it for a `rustc` build.
32 target = ["aarch64-kmc-solid_asp3"]
35 Make sure `aarch64-kmc-elf-gcc` is included in `$PATH`. Alternatively, you can use GNU Arm Embedded Toolchain by adding the following to `config.toml`:
38 [target.aarch64-kmc-solid_asp3]
39 cc = "arm-none-eabi-gcc"
44 This target can be cross-compiled from any hosts.
48 Currently there is no support to run the rustc test suite for this target.
50 ## Building Rust programs
52 Building executables is not supported yet.
54 If `rustc` has support for that target and the library artifacts are available, then Rust static libraries can be built for that target:
57 $ rustc --target aarch64-kmc-solid_asp3 your-code.rs --crate-type staticlib
61 On Rust Nightly it's possible to build without the target artifacts available:
64 cargo build -Z build-std --target aarch64-kmc-solid_asp3