任何 wasm 运行时是否支持 micropython(适用于 RPI_PICO 板)

问题描述 投票:0回答:1

我试图在支持 micropython 的 thonny 编辑器中导入 wasm 运行时(具体为 pywasm3),我收到一条错误,指出没有名为 pywasm3 的模块,是否有任何运行时可以作为 thonny 中的模块导入?或任何其他如何让 pywasm3 模块在 micrpython 中工作?我附上了下面的错误图像以供参考。

image

我希望 import 语句能够用于导入 wasm 运行时。

webassembly micropython raspberry-pi-pico thonny wasmtime
1个回答
0
投票

查看 wasm3 项目,我发现它声称支持 Pico,但我找不到任何关于此的进一步文档 - 例如,嵌入式平台部分中没有任何内容。可能这个支持是最近添加的,尚未成熟。

问题是 wasm3 是用 C 编写的,因此您需要将其制作为 Pico 上已编译的可执行二进制文件,以便您可以从 MicroPython 代码中调用。我不是从 Python 调用编译代码的专家,但我确信 pywasm3 Python 绑定 设计为使用

pip
安装在“桌面”Python 中,它在安装过程中为目标平台编译 C 代码。这不适用于 Pico!

我认为你有三个选择:

  • 在 Pico 上使用 wasm3 并用 C 而不是 MicroPython 编写其余代码。我猜你不想这样做,否则你就不会问这个问题:-)
  • 在 Pico 上构建您自己的 MicroPython 版本,其中包含 wasm3 作为外部模块。您需要首先熟悉构建过程,然后查看有关“扩展 MicroPython”的文档。如果您需要这方面的帮助,我建议您在 MicroPython's Github Discussions 上询问。 尝试使用替代的 wasm 实现,例如
  • pywasm
  • ,它是用纯 Python 编写的,您应该只需下载并复制包文件夹即可将其安装在 Pico 上。您可能需要做一些工作来使这个包适应 MicroPython,但它声称可以在 Python 3.6 上工作,因此可能不会有太多差异。这里的问题是,仅 pywasm 就会占用 Pico 一半以上的 RAM - 如果这是一个问题,您可能需要查看“冻结”它,以便将其存储在闪存中。
© www.soinside.com 2019 - 2024. All rights reserved.