From 4e54bf71868f2c848139911f0855ee856a98b4e2 Mon Sep 17 00:00:00 2001 From: Maureen Helm Date: Tue, 2 Jan 2024 14:21:37 -0600 Subject: [PATCH] zephyr: Link MicroPython with the Zephyr kernel library. Unlike most other Zephyr libraries, libkernel.a is not built as a whole-archive. This change also fixes a linker error observed on nucleo_wb55rg while preparing an upgrade to Zephyr v3.5.0, caused by an undefined reference to `z_impl_k_busy_wait'. Signed-off-by: Maureen Helm --- ports/zephyr/CMakeLists.txt | 1 + ports/zephyr/src/zephyr_start.c | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/ports/zephyr/CMakeLists.txt b/ports/zephyr/CMakeLists.txt index 743907e623..c048d92d2a 100644 --- a/ports/zephyr/CMakeLists.txt +++ b/ports/zephyr/CMakeLists.txt @@ -109,6 +109,7 @@ zephyr_library_compile_definitions( ) zephyr_library_sources(${MICROPY_SOURCE_QSTR}) +zephyr_library_link_libraries(kernel) add_dependencies(${MICROPY_TARGET} zephyr_generated_headers) diff --git a/ports/zephyr/src/zephyr_start.c b/ports/zephyr/src/zephyr_start.c index b24e501c33..bcd68f92ce 100644 --- a/ports/zephyr/src/zephyr_start.c +++ b/ports/zephyr/src/zephyr_start.c @@ -36,8 +36,4 @@ void main(void) { zephyr_getchar_init(); #endif real_main(); - - // This is needed so the linker includes k_timer_init, z_impl_k_timer_start - // and z_impl_k_timer_stop, as used by libmicropython.a. - k_timer_start(NULL, K_MSEC(0), K_MSEC(0)); }