微型Python 1.9.3 - 如何将.py @micropython.native代码编译为.mpy文件?

3
我正在使用Micropython 1.9.3。我知道如何使用mpy-cross.py文件编译成可以被Micropython虚拟机执行的已编译Python.mpy文件。
问题在于,如果我尝试使用@micropython.native编译Python脚本为本机代码而不是字节码,就会出现错误:
../../mpy-cross/mpy-cross -o build/frozen_mpy/./frozentest.mpy -s frozentest.py  frozentest.py

数值错误:只能保存字节码

在以下的.py文件中。

@micropython.native
def native_add(a,b):
    return (a+b)

c = native_add(2342,4542)

问题

是否不可能在.mpy格式中嵌入本地代码?我是否错过了mpy-cross/mpconfigport.h中的某些选项?

我改变的唯一一件事是:

#define MICROPY_EMIT_THUMB (0) // 将其更改为1

1个回答

1
我从micropython论坛上的某个人那里得到了答案:

你不能这样做。这是一个TODO项目。如果你想将其放入闪存中,可以将其作为冻结源代码嵌入到某些端口中。只需将这些文件放在名为scripts的子目录中,如esp8266/scripts或stm32/scripts。但它仍将在导入时编译并占用RAM。通常,当此变体的编码仅用于小型、时间关键性的代码段时,这不应该造成影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接