1 个不稳定版本
0.1.0 | 2024年1月14日 |
---|
#2147 在 嵌入式开发
115KB
2.5K SLoC
riscv-semihosting
RISC-V 处理器的简单半主机模式
这是一个 cortex-m-semihosting
crate 的分支,对 RISC-V 半主机规范进行了修改,规范文档见这里
此 crate 可以(几乎)以与 cortex-m-semihosting 相同的方式使用,只需将调用 cortex_m_semihosting::*
的地方改为 riscv_semihosting::*
。鉴于这一点,cortex-m-semihosting 文档
通常足以使用此库。
与此库相比,cortex-m-semihosting
的一个主要区别是必须选择半主机调用执行的权限级别。启用 机器模式 (M-mode) 功能将导致 export
中的宏在无中断的上下文中执行半主机操作,而启用 用户模式 (U-mode) 则导致它们仅执行操作。默认情况下,使用 M-mode。您可以通过启用 u-mode
功能来激活 U-mode。
关于 semihosting
crate
riscv-semihosting
提供了一个简单的半主机 API,与 cortex-m-semihosting
相匹配。这允许从 Cortex-M 应用程序到 RISC-V 应用程序的简单移植。然而,semihosting
crate 提供了一个更高级的接口,该接口与 RISC-V 以及其他架构(例如 ARM 或 MIPS)兼容。虽然 riscv-semihosting
是开发半主机应用程序的好起点,但我们建议使用 semihosting
crate。
最低支持的 Rust 版本 (MSRV)
此 crate 保证可以在稳定 Rust 1.60.0 及以上版本上编译。它无法与较旧版本编译。
许可证
版权所有 2018-2023 RISC-V 团队
本软件的使用、复制、修改和/或以任何目的分发(无论是否收费)的权限在此授予,条件是上述版权声明和本许可声明出现在所有副本中。
软件按“原样”提供,并且作者对与该软件相关的所有保证(包括所有默示的适销性和适用性保证)均予以放弃。在任何情况下,作者均不对任何特殊、直接、间接或后果性损害或任何损害(包括使用、数据或利润的损失)承担责任,无论这些损害是否源于合同、疏忽或其他侵权行为,均与使用或性能有关。
贡献
除非您明确表示不同,否则根据Apache-2.0许可证定义的,您有意提交以供包含在本作品中的任何贡献,将按上述方式双重许可,不附加任何额外条款或条件。
行为准则
依赖项
~88KB