【Rust日报】2023-08-28 WASM 微运行时与 Rust

news2024/10/6 22:19:14

WASM 微运行时与 Rust

传统上,微控制器只能运行 C 代码。固件开发人员通常会使用 Eclipse 基于 IDE 以及定制的编译器工具链来编译代码。但是,MicroPython 最近变得流行起来。RaspberryPi Pico、ExpressIf 的 ESP32 是一些对 MicroPython 支持相当不错的微控制器。

可以将 WebAssembly (WASM) 二进制文件在浏览器外部运行。如果可以替代 Python,在微控制器上运行 WASM 二进制文件会怎样?这意味着我们可以使用 C++、Rust、Go 等编程语言进行微控制器编程!作为额外的好处,我们还可以获得 WASM 沙箱的安全性和灵活性。

Bytecode Alliance 构建的 WASM Micro Runtime(也称为 WAMR)是朝着这个方向迈出的一步。在本文中,我们尝试使用 WAMR 在 ESP32 板上运行 Rust 生成的 WASM 二进制文件

50cbc3e0469740066fbf76f87fd53a05.png 27f36642c466bf2858ccee0453f06613.jpeg

原文链接: https://anoopelias.github.io/posts/wasm-micro-runtime-with-rust/

Rust-Traverse

Rust traverse 是一个基于终端的文件资源管理器,它受到 NNN 文件管理器的启发。它使用 tatatui 作为终端用户界面,并使用 crossterm 作为终端后端

现在 v2 版本已经发布

f0db1053fab6b100198651938c74bde5.png

github 地址: https://github.com/dmcg310/Rust-Traverse

tinymarch

Tinymarch 是一个用 Rust 编写的 CPU 小型光线 Marcher

Tinymarch 的特点:

  • 使用 Rust 编写,可移植性强。

  • 使用 Rayon 进行多线程处理,可提高性能。

  • 支持 Signed Distance Fields (SDFs),可用于渲染复杂的几何图形。

  • 易于使用,可以快速上手。

Tinymarch 的用途

  • 可以用于创建逼真的 3D 图像

  • 可以用于创建动画。

  • 可以用于创建交互式 3D 应用程序。

  • 可以用于进行科学计算

4bd53137b00fa9e927dc4ae75b4373c7.png

github地址: https://github.com/TristanAntonsen/tinymarch

--

From 日报小组 FBI小白

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/947368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

直流电源开关TMI6240I/6250I——解决分立MOS开关易失效,安全更可靠

互联网时代带动了电子产品行业的发展,人们对电子产品的需求越来越高,TV、显示器、笔记本、智能家居、平板等产品只增不减,为生活提供了极大的便利。与此同时,随着拥有的电子产品增多也带来了不少”烦恼“——产品越多,…

标杆项目,获奖!

近日,第二届“光华杯”千兆光网应用创新大赛东部大区赛决赛在上海举行。天翼物联、南京港华燃气联合申报的“千兆光网融物赋智,赋能大型城市燃气安全及智慧运营”项目荣获三等奖并晋级全国总决赛。 今年以来,中国信息通信研究院联合中国通信标…

基于RabbitMQ的模拟消息队列之二---创建项目及核心类

一、创建项目 创建一个SpringBoot项目,环境:JDK8,添加依赖:Spring Web、MyBatis FrameWork(最主要) 二、创建核心类 1.项目分层 2.核心类 在mqserver包中添加一个包,名字为core,表示核心类…

2023最新Python重点知识万字汇总

这是一份来自于 SegmentFault 上的开发者 二十一 总结的 Python 重点。由于总结了太多的东西,所以篇幅有点长,这也是作者"缝缝补补"总结了好久的东西。 **Py2 VS Py3** * print成为了函数,python2是关键字* 不再有unicode对象…

赢得明星代言:邀请明星成为品牌代言人的步骤与注意事项

在品牌推广和营销中,与明星合作做代言人是一种常见的策略,可以有效地提升品牌知名度和形象。然而,找明星做代言人并不是一件轻松的事情,需要慎重考虑和策划。媒介易拥有3000多位一二线明星合作资源,为您提供专业的明星…

基于java+springboot+vue的简历系统

​ 系统介绍: 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,简历系统当然也不能排除在外。简历系统是以实际运用为开发背景,运用软件工程原理和开发方…

基于Java的基数排序(详述)

基于Java的基数排序(详述) 原理介绍Java实现文献参考 原理介绍 一、什么是基数排序 (1)通过键值得各个位的值,将要排序的元素分配至一些桶中,达到排序的作用 (2)基数排序法是属于稳…

Mybatis1.3 查询详情

1.3 查询详情 1.3.1 编写接口方法1.3.2 编写SQL语句1.3.3 编写测试方法1.3.4 参数占位符1.3.5 parameterType使用1.3.6 SQL语句中特殊字段处理 有些数据的属性比较多,在页面表格中无法全部实现,而只会显示部分,而其他属性数据的查询可以通过 …

常用免费 API 接口推荐与分享,收藏备用

写在最前 各类免费 API 接口整理,主要是 LuckyCola上和其他各类开放平台上的一些,有需要的赶紧收藏备用。 一、LuckyCola免费api系列: 官网地址:LuckyCola 免费图床 | 智能对话机器人AI | 网站监控与免费API费图床是一款提供高质量图片上传与分享的平…

风丘方案助力车企升级 解决“国六”标准新难题

一 背景 尾气排放指标是衡量汽车质量和品质的主要指标之一,且汽车的尾气排放必须达到相应的标准才准许出厂,因此,对汽车排放的尾气进行检测是汽车生产过程的重要环节。汽车尾气检测过程是在排放实验室里进行的,这需要模拟汽车实际…

MySQL8.0.30一主两从复制与配置(一)

MySQL8.0.30一主两从复制与配置(一)_蜗牛杨哥的博客-CSDN博客 MySQL8.xx一主两从复制安装与配置 MySQL8.XX随未生成随机密码解决方案 本文主要对: MySQL8.xx安装与配置 的完善与补充 一: 搭建环境 主机IP 端口 节点备注192.168.1.100 …

Gazebo打不开,报错process has died[pid 7798, exit code1]解决办法

Gazebo打不开,报错process has died[pid 7798, exit code1],如下图所示: 原因:可能是由于有gazebo进程没有终止,所以无法打开。 解决办法:依次执行下面两个命令 killall gzserver killall gzclient问题解…

算法通关村-----位运算的规则

1 数字在计算机中的表示 机器数:一个数在计算机中的二进制表示 真值:带符号位的机器数对应的真正数值 机器数可分为原码、反码和补码。 原码:符号位加上真值的绝对值 反码:正数的反码是其本身,负数的反码的在其原…

基于ssm医院在线挂号预约系统源码和论文

基于ssm医院在线挂号预约系统源码和论文072 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 课题研究的目的及意义: 专家号难求,是医院现场挂号存在的主要问题之一,每一名专…

【算法专题突破】双指针 - 有效三角形的个数(5)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:611. 有效三角形的个数 - 力扣(Leetcode) 我们可以根据示例1来理解这一道题目, 他说数组里面的数可以组成三角形三条边的个数&#x…

maven的依赖下载不下来的几种解决方法

前言 每次部署测试环境,从代码库拉取代码,都会出现缺少包的情况。然后找开发一通调试,到处拷包。 方案一:pom文件注释/取消注释 注释掉pom.xml里的报红色的依赖(同时可以把本地maven库repo里对应的包删除)&…

ealtek高清晰音频管理器(realtek高清晰音频管理器怎么设置win10)

本文为大家介绍realtek高清晰音频管理器(realtek高清晰音频管理器怎么设置win10),下面和小编一起看看详细内容吧。 我们都使用电脑来听音乐、看电影或者进行其他操作,但是如果我们觉得电脑产生的音效不够立体,我们就会想要去Realtek来设置音…

【Maven】如何发现,定位,解决依赖冲突

发现冲突 运行的时候可能报出错误xx类找不到xx方法,xx类找不到,很有可能就是冲突导致的。 定位冲突根因 通过idea maven插件 idea安装插件,maven helper 比如我有两个依赖,guava和findbug。 他们都用到了jsr305,…

jvm 新生代的区域划分

虚拟机将内存分为一块较大的 Eden 空间和两块较小的 Survivor 空间,每次分配内存只使用 Eden 和其中一块 Survivor。发生垃圾收集时,将 Eden 和 Survivor 中仍然存活的对象一次性复制到另外一块 Survivor 空间上,然后直接清理掉 Eden 和已用过…

Matlab图像处理-垂直镜像

垂直镜像 图像的垂直镜像操作是以原图像的水平中轴线为中心,将图像分为上下两部分进行对称变换。 设原始图像的宽为w,高为h,原始图像中的点为(𝑥0,𝑦0)(x_0,y_0),对称变换后的点为(𝑥1,&#…