armv7-sony-vita-newlibeabihf
层级:3
此层级支持在 PlayStation Vita 主机上运行的 ARM Cortex A9 处理器。
此目标的 Rust 支持与索尼无关,并且不源于也不与任何官方索尼 SDK 一起使用。
目标维护者
要求
此目标是交叉编译的,需要在您的系统上安装 VITASDK 工具链。不支持动态链接。
可以使用 build-std
构建 core
,并可选地构建 alloc
和 panic_abort
,来构建 #![no_std]
箱。
std
部分支持,但大部分有效。一些 API 未实现,只会返回错误,例如 std::process
。
此目标默认生成使用 thumb ISA 的 ELF 格式二进制文件。
二进制文件与 VITASDK 工具链提供的 arm-vita-eabi-gcc
链接。
构建目标
Rust 不为此目标提供预编译的工件。您可以使用 build-std
标志构建带有 std
的 ELF 二进制文件
cargo build -Z build-std=std,panic_abort --target=armv7-sony-vita-newlibeabihf --release
构建 Rust 程序
构建可以在 PlayStation Vita 上安装和运行的工件的推荐方法是使用 cargo-vita 工具。此工具使用 build-std
和 VITASDK 工具链构建可在 Vita 上运行的工件。
要安装该工具,请运行
cargo install cargo-vita
必须安装 VITASDK 工具链,并且必须将 VITASDK
环境变量设置为其位置,例如
export VITASDK=/opt/vitasdk
将以下部分添加到您的项目的 Cargo.toml
中
[package.metadata.vita]
# A unique 9 character alphanumeric identifier of the app.
title_id = "RUSTAPP01"
# A title that will be used for the app. Optional, name will be used if not defined
title_name = "My application"
要构建带有 ELF 的 VPK,在发布配置文件中运行
cargo vita build vpk --release
构建 *.vpk 文件后,可以将其上传到 PlayStation Vita 并安装,或者与 Vita3K 模拟器一起使用。
测试
支持默认的 Rust 测试运行器,并且可以使用 cargo-vita
工具将测试编译为 elf 并打包到 *.vpk 文件中。由于目前不支持将命令行参数传递给可执行文件,因此不支持过滤测试,因此运行器将始终执行所有测试。
library/std
的 Rust 测试套件尚不支持。
交叉编译
此目标可以在 Windows、MacOS 或 Linux 系统上的 x86_64
上进行交叉编译。不支持其他主机进行交叉编译。