MicroPython: Switch C++ allocation mode in boot.py.

patch-frame-convert-heap
Phil Howard 2023-03-24 20:35:20 +00:00
rodzic 667faf70d1
commit 2c0310ca9a
9 zmienionych plików z 11 dodań i 11 usunięć

Wyświetl plik

@ -105,14 +105,4 @@ void operator delete(void *p, __unused std::size_t n) noexcept { stat_free(p); }
void operator delete[](void *p, __unused std::size_t n) noexcept { stat_free(p); }
#endif
namespace {
struct SwitchAllocatorMode {
public:
SwitchAllocatorMode() {
mode = MICROPYTHON;
}
};
SwitchAllocatorMode switchallocatormode __attribute__ ((init_priority (65535)));
}
#endif

Wyświetl plik

@ -40,6 +40,7 @@ include(motor/micropython)
# include(micropython-common)
include(modules_py/modules_py)
copy_module(boot.py)
# C++ Magic Memory
include(cppmem/micropython)

Wyświetl plik

@ -48,6 +48,7 @@ if(PICO_BOARD STREQUAL "pico_w")
copy_module(automation.py)
copy_module(inventor.py)
endif()
copy_module(boot.py)
# Must call `enable_ulab()` to enable
include(micropython-common-ulab)

Wyświetl plik

@ -35,6 +35,7 @@ include(micropython-common-ulab)
enable_ulab()
include(modules_py/modules_py)
copy_module(boot.py)
# C++ Magic Memory
include(cppmem/micropython)

Wyświetl plik

@ -45,6 +45,7 @@ include(motor/micropython)
# include(micropython-common)
include(modules_py/modules_py)
copy_module(boot.py)
# C++ Magic Memory
include(cppmem/micropython)

Wyświetl plik

@ -35,6 +35,7 @@ include(micropython-common-ulab)
enable_ulab()
include(modules_py/modules_py)
copy_module(boot.py)
# C++ Magic Memory
include(cppmem/micropython)

Wyświetl plik

@ -46,6 +46,7 @@ include(motor/micropython)
include(modules_py/modules_py)
copy_module(inky_frame.py)
copy_module(boot.py)
# C++ Magic Memory
include(cppmem/micropython)

Wyświetl plik

@ -40,6 +40,7 @@ include(micropython-common-ulab)
enable_ulab()
include(modules_py/modules_py)
copy_module(boot.py)
# C++ Magic Memory
include(cppmem/micropython)

Wyświetl plik

@ -0,0 +1,3 @@
import cppmem
# Switch C++ memory allocations to use MicroPython's heap
cppmem.set_mode(cppmem.MICROPYTHON)