Micropython 1.9.3 - Как скомпилировать.py @micropython.native код в.mpy?

Я нахожусь на Micropython 1.9.3. Я умею пользоваться mpy-cross повернуть .py в скомпилированный питон .mpy это может быть выполнено виртуальной машиной Micropython.

Проблема в том, что если я пытаюсь скомпилировать с помощью @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 ответ

Решение

Я получил ответ от кого-то на форуме micropython:

Ты не можешь. Это предмет TODO. Если вы хотите поместить его во флэш-память, вы можете встроить его в виде замороженного исходного кода в некоторые порты. Просто поместите эти файлы в подкаталог, называемый scripts, например esp8266/scripts или stm32/scripts. Но он все равно будет компилироваться во время импорта и потреблять оперативную память. Как правило, это не должно повредить, когда этот вариант кодирования используется только для небольших, критичных ко времени участков кода.

Другие вопросы по тегам