Micropython 1.9.3 - 如何将.py @ micropython.native代码编译成.mpy?

时间:2017-11-05 23:18:03

标签: python micropython

我在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
  

ValueError:只能保存字节码

在以下.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) // changed it to 1

1 个答案:

答案 0 :(得分:1)

我从micropython forum上的某人那里得到了答案:

  

你做不到。这是一个TODO项目。如果你想把它放入闪存   内存,您可以将其作为冻结源代码嵌入某些端口。刚刚放   这些文件位于一个名为scripts的子目录中,如esp8266 / scripts或   STM32 /脚本。但它仍将在导入时编译   消耗RAM。通常,这不应该伤害,当这个变种   编码仅用于代码的小型,时间关键部分。