armv7-sony-vita-newlibeabihf
级别: 3
此级别支持在 PlayStation Vita 游戏机上运行的 ARM Cortex A9 处理器。
此目标平台的 Rust 支持与 Sony 无关,不是来自任何官方 Sony SDK,也没有使用任何官方 Sony SDK。
目标维护者
要求
此目标是交叉编译的,需要在您的系统上安装 VITASDK 工具链。不支持动态链接。
可以使用 build-std
构建 #![no_std]
crate,以构建 core
,以及可选的 alloc
和 panic_abort
。
部分支持 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"
要以 release 配置构建带有 ELF 的 VPK,请运行
cargo vita build vpk --release
构建 *.vpk 文件后,可以将其上传到 PlayStation Vita 并安装,或与 Vita3K 模拟器一起使用。
测试
支持默认的 Rust 测试运行器,并且可以使用 cargo-vita
工具将测试编译为 elf 并打包到 *.vpk 文件中。目前不支持过滤测试,因为 Vita 不支持将命令行参数传递给可执行文件,因此运行器将始终执行所有测试。
尚未支持 library/std
的 Rust 测试套件。
交叉编译
此目标可以从 Windows、MacOS 或 Linux 系统上的 x86_64
进行交叉编译。不支持其他主机进行交叉编译。