armv7-sony-vita-newlibeabihf

层级:3

此层级支持在 PlayStation Vita 主机上运行的 ARM Cortex A9 处理器。

此目标的 Rust 支持与索尼无关,并且不源于也不与任何官方索尼 SDK 一起使用。

目标维护者

要求

此目标是交叉编译的,需要在您的系统上安装 VITASDK 工具链。不支持动态链接。

可以使用 build-std 构建 core,并可选地构建 allocpanic_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 上进行交叉编译。不支持其他主机进行交叉编译。