1 /* 2 * Copyright (c) 2024 Intel Corporation 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #include <zephyr/kernel.h> 8 #include <zephyr/llext/symbol.h> 9 10 #include <app_api.h> 11 start(void)12int start(void) 13 { 14 /* Inside extensions, all kobjects need to be dynamically allocated */ 15 struct k_event *tick_evt = k_object_alloc(K_OBJ_EVENT); 16 17 k_event_init(tick_evt); 18 19 register_subscriber(CHAN_TICK, tick_evt); 20 21 while (true) { 22 long l; 23 24 printk("[ext1]Waiting event\n"); 25 k_event_wait(tick_evt, CHAN_TICK, true, K_FOREVER); 26 27 printk("[ext1]Got event, reading channel\n"); 28 receive(CHAN_TICK, &l, sizeof(l)); 29 printk("[ext1]Read val: %ld\n", l); 30 } 31 32 return 0; 33 } 34 EXPORT_SYMBOL(start); 35