esp8266: Add support for frozen modules
This commit is contained in:
parent
d39d96b700
commit
bda7041294
|
@ -6,6 +6,9 @@ QSTR_DEFS = qstrdefsport.h #$(BUILD)/pins_qstr.h
|
|||
# include py core make definitions
|
||||
include ../py/py.mk
|
||||
|
||||
MAKE_FROZEN = ../tools/make-frozen.py
|
||||
|
||||
SCRIPTDIR = scripts
|
||||
PORT = /dev/ttyACM0
|
||||
CROSS_COMPILE = xtensa-lx106-elf-
|
||||
ESP_SDK = $(shell $(CC) -print-sysroot)/usr
|
||||
|
@ -51,6 +54,7 @@ SRC_C = \
|
|||
modpybpin.c \
|
||||
modesp.c \
|
||||
utils.c \
|
||||
$(BUILD)/frozen.c \
|
||||
|
||||
STM_SRC_C = $(addprefix stmhal/,\
|
||||
printf.c \
|
||||
|
@ -77,6 +81,19 @@ OBJ += $(addprefix $(BUILD)/, $(LIB_SRC_C:.c=.o))
|
|||
|
||||
all: $(BUILD)/firmware-combined.bin
|
||||
|
||||
SCRIPTDIR_FILE = $(BUILD)/scriptdir
|
||||
|
||||
ifeq ($(wildcard $(SCRIPTDIR_FILE)),)
|
||||
$(shell $(MKDIR) -p $(BUILD))
|
||||
$(shell echo $(SCRIPTDIR) > $(SCRIPTDIR_FILE))
|
||||
else ifneq ($(shell cat $(SCRIPTDIR_FILE)), $(SCRIPTDIR))
|
||||
$(shell echo $(SCRIPTDIR) > $(SCRIPTDIR_FILE))
|
||||
endif
|
||||
|
||||
$(BUILD)/frozen.c: $(wildcard $(SCRIPTDIR)/*) $(SCRIPTDIR_FILE)
|
||||
$(ECHO) "Generating $@"
|
||||
$(Q)$(MAKE_FROZEN) $(SCRIPTDIR) > $@
|
||||
|
||||
.PHONY: deploy
|
||||
|
||||
deploy: $(BUILD)/firmware-combined.bin
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "py/runtime0.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/stackctrl.h"
|
||||
#include "py/frozenmod.h"
|
||||
#include "py/gc.h"
|
||||
#include "pyexec.h"
|
||||
#include "gccollect.h"
|
||||
|
@ -46,6 +47,10 @@ STATIC void mp_reset(void) {
|
|||
mp_init();
|
||||
mp_obj_list_init(mp_sys_path, 0);
|
||||
mp_obj_list_init(mp_sys_argv, 0);
|
||||
#if MICROPY_MODULE_FROZEN
|
||||
mp_lexer_t *lex = mp_find_frozen_module("main", 4);
|
||||
mp_parse_compile_execute(lex, MP_PARSE_FILE_INPUT, mp_globals_get(), mp_locals_get());
|
||||
#endif
|
||||
}
|
||||
|
||||
void soft_reset(void) {
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_LONGLONG)
|
||||
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_NONE)
|
||||
#define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_TERSE)
|
||||
#define MICROPY_MODULE_FROZEN (1)
|
||||
|
||||
// type definitions for the specific machine
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
# This script is run on boot
|
Loading…
Reference in New Issue