Skip to content

Commit 66191cf

Browse files
committed
detail summary of armv7a-vex-v5's target support
1 parent e462204 commit 66191cf

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

src/doc/rustc/src/platform-support/armv7a-vex-v5.md

+18-3
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,27 @@ This target is maintained by members of the [vexide](https://github.com/vexide)
2020
This target is cross-compiled. Dynamic linking is unsupported.
2121

2222
`#![no_std]` crates can be built using `build-std` to build `core` and optionally
23-
`alloc`. Unwinding panics are not yet supported.
24-
25-
`std` is partially implemented, but many modules (such as `thread`, `process`, `net`, etc...) will return errors. An allocator is provided along with partial support for the `time`, `env` and `io` modules. Filesystem operations over SDCard through `std::fs` are partially supported within the restrictions of the user environment (e.g. directories cannot be created, filesystem objects cannot be removed).
23+
`alloc`. Unwinding panics are not yet supported. `std` is partially implemented, see below.
2624

2725
This target generates binaries in the ELF format that may uploaded to the brain with external tools.
2826

27+
## Standard Library Support
28+
29+
`armv7a-vex-v5` implements as much of the standard library as is possible using only public VEX SDK functions.
30+
This includes:
31+
32+
- `std::time`, not including `SystemTime` as the SDK does not provide absolute time information.
33+
- `std::io`, including `std::io::stdin()` and `std::io::stdout`, but not `std::stderr()`, as stderr does not exist on this platform.
34+
- `std::fs`, with the exception of directory reading and file deletion, due to public SDK limitations.
35+
- modules which do not need to interact with the OS beyond allocation,
36+
such as `std::collections`, `std::hash`, `std::future`, `std::sync`, etc.
37+
38+
Notable modules which are not implemented include:
39+
40+
- `std::process`
41+
- `std::thread`
42+
- `std::net`
43+
2944
## Building the target
3045

3146
Rust does not ship pre-compiled artifacts for this target. You can use the `build-std` feature to build ELF binaries with `std` support.

0 commit comments

Comments
 (0)