【Rust日报】2020-10-28 RustSBI项目已进入RISC-V SBI标准

2024-06-22 23:58

本文主要是介绍【Rust日报】2020-10-28 RustSBI项目已进入RISC-V SBI标准,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RustSBI项目已进入RISC-V SBI标准

RISC-V指令集的SBI标准规定了类Unix平台下,操作系统运行环境的规范。目前,RustSBI项目已获得SBI编号4,代表它已经被收录入RISC-V SBI标准。

RISC-V架构中,存在着定义于操作系统之下的运行环境。这个运行环境不仅将引导启动RISC-V下的操作系统,还将常驻后台,为操作系统提供一系列二进制接口,以便其获取和操作硬件信息。RISC-V给出了此类环境和二进制接口的规范,称为“操作系统二进制接口”,即“SBI”。规范定义了跨核软中断IPI、跨核页表刷新RFENCE、硬件线程监视器HSM等模块,构成二进制接口的各个部分,以支持在其上的操作系统正常工作。

RustSBI项目发起于鹏城实验室的“rCore代码之夏”活动,它是完全由Rust语言开发的SBI实现。目前,它支持RISC-V SBI规范最新的v0.2版本,支持包含QEMU、勘智K210在内的多款平台。RustSBI有特殊的兼容性设计,以兼容以往版本的指令集和芯片。除了提供多款平台的二进制实现,RustSBI也可以作为组件库,帮助更多的SBI开发者适配自己的平台,或者开发更复杂的SBI实现。

参考链接:https://github.com/riscv/riscv-sbi-doc/pull/61 RustSBI项目主页:https://github.com/luojia65/rustsbihttps://crates.io/crates/pin-project)

有《我的世界》的粉丝吗? Rust和WASM在本地绘制Minecraft世界

它使用File API在浏览器中完全呈现一个世界。它永远不会将您的世界上传到任何地方进行任何处理,而一切都在浏览器中进行。

详情:https://www.reddit.com/r/rust/comments/jj6k9b/any_minecraft_fans_rust_and_wasm_to_map_minecraft/

run-script: Rust 文件和表达式作为脚本运行

使用rust-scriptRust文件和表达式可以像shell或Python脚本一样执行。功能包括:

  • 缓存已编译的工件以提高速度。

  • 读取嵌入Rust脚本的货运清单。

  • 通过Unix shebangs和Windows文件关联支持可执行的Rust脚本。

  • 使用表达式作为流过滤器(用于命令管道)。

  • 通过脚本运行单元测试和基准测试。

  • 命令行表达式和过滤器的自定义模板。

安装需要最新的稳定版Rust(1.47)。

cargo install --force rust-script

reddit:https://www.reddit.com/r/rust/comments/jjnyv1/rustscript_run_rust_files_and_expressions_as/

rust-script:https://rust-script.org/


From 日报小组 冰山上的 mook

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

这篇关于【Rust日报】2020-10-28 RustSBI项目已进入RISC-V SBI标准的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085771

相关文章

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar