diff --git a/bare-arm/main.c b/bare-arm/main.c index bdaded436242b03ba5ab9004b87ef6b3dc148ce5..286e41cd4d8984d91d9d849dae2638f2df042284 100644 --- a/bare-arm/main.c +++ b/bare-arm/main.c @@ -53,7 +53,6 @@ void do_str(const char *src) { } int main(int argc, char **argv) { - qstr_init(); mp_init(); do_str("print('hello world!', list(x+1 for x in range(10)), end='eol\n')"); mp_deinit(); diff --git a/py/runtime.c b/py/runtime.c index a478bb62fce715cbd8e5bad0161367d1f9a04296..59e47c7ff79811d8850e9230d981df8db6c3927e 100644 --- a/py/runtime.c +++ b/py/runtime.c @@ -70,8 +70,13 @@ const mp_obj_module_t mp_module___main__ = { }; void mp_init(void) { + qstr_init(); mp_stack_ctrl_init(); +#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF + mp_init_emergency_exception_buf(); +#endif + // call port specific initialization if any #ifdef MICROPY_PORT_INIT_FUNC MICROPY_PORT_INIT_FUNC; diff --git a/qemu-arm/main.c b/qemu-arm/main.c index 91c096289ecae6f9440395acd3fa5bf6dd2ad117..7ba818f5823674399cfd1d54a360e9f2e347ca5b 100644 --- a/qemu-arm/main.c +++ b/qemu-arm/main.c @@ -53,7 +53,6 @@ void do_str(const char *src) { } int main(int argc, char **argv) { - qstr_init(); mp_init(); do_str("print('hello world!')"); mp_deinit(); diff --git a/qemu-arm/test_main.c b/qemu-arm/test_main.c index 709bcf2f1b59642e6684515df61c9f6fea5a9dff..63f7e3f0c81c89f1c8f109fdd04192c34155a746 100644 --- a/qemu-arm/test_main.c +++ b/qemu-arm/test_main.c @@ -59,7 +59,6 @@ end: int main() { const char a[] = {"sim"}; - qstr_init(); mp_init(); int r = tinytest_main(1, (const char **) a, groups); mp_deinit(); diff --git a/stmhal/main.c b/stmhal/main.c index 183f11b7a09c738c815cb03aa8f89425c94011a9..442ff99347cde595f1d9c4e5a4e55d7a6402678a 100644 --- a/stmhal/main.c +++ b/stmhal/main.c @@ -310,9 +310,14 @@ soft_reset: // GC init gc_init(&_heap_start, &_heap_end); -#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF - mp_init_emergency_exception_buf(); -#endif + + // Micro Python init + mp_init(); + mp_obj_list_init(mp_sys_path, 0); + mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_)); // current dir (or base dir of the script) + mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash)); + mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash_slash_lib)); + mp_obj_list_init(mp_sys_argv, 0); // Change #if 0 to #if 1 if you want REPL on UART_6 (or another uart) // as well as on USB VCP @@ -328,17 +333,7 @@ soft_reset: pyb_stdio_uart = NULL; #endif - // Micro Python init - qstr_init(); - mp_init(); - mp_obj_list_init(mp_sys_path, 0); - mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_)); // current dir (or base dir of the script) - mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash)); - mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash_slash_lib)); - mp_obj_list_init(mp_sys_argv, 0); - readline_init(); - pin_init(); extint_init(); diff --git a/teensy/main.c b/teensy/main.c index a5b2d5b52c4782e1897cbe0af657f27180d8b2a0..e00c3ff3092d2910125e4e717ed5a442b1b5731d 100644 --- a/teensy/main.c +++ b/teensy/main.c @@ -267,7 +267,7 @@ soft_reset: // GC init gc_init(&_heap_start, (void*)HEAP_END); - qstr_init(); + // Micro Python init mp_init(); readline_init(); diff --git a/unix-cpy/main.c b/unix-cpy/main.c index 4a04aa4e81b8df9a183f038389c9d994bb5ae89c..ac142f50ff0becc16c0fc7206136e98112e8de90 100644 --- a/unix-cpy/main.c +++ b/unix-cpy/main.c @@ -87,7 +87,6 @@ void do_file(const char *file) { } int main(int argc, char **argv) { - qstr_init(); mp_init(); if (argc == 2) { diff --git a/unix/main.c b/unix/main.c index 936d7a13a0063dcf8049268f0e1421372cec0fb7..9f9f07c255d549d89586a16c74986d48d9e4255c 100644 --- a/unix/main.c +++ b/unix/main.c @@ -278,11 +278,7 @@ int main(int argc, char **argv) { char *heap = malloc(heap_size); gc_init(heap, heap + heap_size); #endif -#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF - mp_init_emergency_exception_buf(); -#endif - qstr_init(); mp_init(); char *home = getenv("HOME");