TA Development Modes
Comparison
no-std
-
Pros:
- Reuses standard Rust tier-1 toolchain targets (
aarch64-unknown-linux-gnu,arm-unknown-linux-gnueabihf). - Significant performance improvements.
- Substantial reduction in binary size.
- Reuses standard Rust tier-1 toolchain targets (
-
Cons:
- Limited support for third-party crates. In the no-std mode, Trusted Applications (TAs) are unable to utilize crates dependent on the standard library (std).
std
-
Pros:
- Enables the utilization of more third-party crates, including those
requiring
std, such asrustls, which are essential for functionality.
- Enables the utilization of more third-party crates, including those
requiring
-
Cons:
- Manual porting of
stdwith infrequent updates. Currently usingstdversion1.80.0andRustversionnightly-2024-05-14, which might not meet the MSRV requirements of some crates.
- Manual porting of
Supported Examples
-
Common: See Overview of OP-TEE Rust Examples.
-
no-std: Excludestest_tls_client,test_tls_server,test_secure_db_abstraction. -
std: Excludestest_mnist_rs,test_build_with_optee_utee_sys.