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 core make definitions
|
||||||
include ../py/py.mk
|
include ../py/py.mk
|
||||||
|
|
||||||
|
MAKE_FROZEN = ../tools/make-frozen.py
|
||||||
|
|
||||||
|
SCRIPTDIR = scripts
|
||||||
PORT = /dev/ttyACM0
|
PORT = /dev/ttyACM0
|
||||||
CROSS_COMPILE = xtensa-lx106-elf-
|
CROSS_COMPILE = xtensa-lx106-elf-
|
||||||
ESP_SDK = $(shell $(CC) -print-sysroot)/usr
|
ESP_SDK = $(shell $(CC) -print-sysroot)/usr
|
||||||
@ -51,6 +54,7 @@ SRC_C = \
|
|||||||
modpybpin.c \
|
modpybpin.c \
|
||||||
modesp.c \
|
modesp.c \
|
||||||
utils.c \
|
utils.c \
|
||||||
|
$(BUILD)/frozen.c \
|
||||||
|
|
||||||
STM_SRC_C = $(addprefix stmhal/,\
|
STM_SRC_C = $(addprefix stmhal/,\
|
||||||
printf.c \
|
printf.c \
|
||||||
@ -77,6 +81,19 @@ OBJ += $(addprefix $(BUILD)/, $(LIB_SRC_C:.c=.o))
|
|||||||
|
|
||||||
all: $(BUILD)/firmware-combined.bin
|
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
|
.PHONY: deploy
|
||||||
|
|
||||||
deploy: $(BUILD)/firmware-combined.bin
|
deploy: $(BUILD)/firmware-combined.bin
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "py/runtime0.h"
|
#include "py/runtime0.h"
|
||||||
#include "py/runtime.h"
|
#include "py/runtime.h"
|
||||||
#include "py/stackctrl.h"
|
#include "py/stackctrl.h"
|
||||||
|
#include "py/frozenmod.h"
|
||||||
#include "py/gc.h"
|
#include "py/gc.h"
|
||||||
#include "pyexec.h"
|
#include "pyexec.h"
|
||||||
#include "gccollect.h"
|
#include "gccollect.h"
|
||||||
@ -46,6 +47,10 @@ STATIC void mp_reset(void) {
|
|||||||
mp_init();
|
mp_init();
|
||||||
mp_obj_list_init(mp_sys_path, 0);
|
mp_obj_list_init(mp_sys_path, 0);
|
||||||
mp_obj_list_init(mp_sys_argv, 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) {
|
void soft_reset(void) {
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_LONGLONG)
|
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_LONGLONG)
|
||||||
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_NONE)
|
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_NONE)
|
||||||
#define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_TERSE)
|
#define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_TERSE)
|
||||||
|
#define MICROPY_MODULE_FROZEN (1)
|
||||||
|
|
||||||
// type definitions for the specific machine
|
// type definitions for the specific machine
|
||||||
|
|
||||||
|
1
esp8266/scripts/main.py
Normal file
1
esp8266/scripts/main.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This script is run on boot
|
Loading…
x
Reference in New Issue
Block a user