| /* |
| * Copyright (c) 2013-2015 Wind River Systems, Inc. |
| * Copyright (c) 2016-2020 Intel Corporation. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /** |
| * @file |
| * @brief Measure time |
| * |
| */ |
| #include <zephyr/kernel.h> |
| #include <ksched.h> |
| #include <zephyr/sys/libc-hooks.h> |
| #include "footprint.h" |
| |
| #ifdef CONFIG_USERSPACE |
| K_APPMEM_PARTITION_DEFINE(footprint_mem_partition); |
| struct k_mem_domain footprint_mem_domain; |
| #endif |
| |
| K_THREAD_STACK_DEFINE(my_stack_area, STACK_SIZE); |
| K_THREAD_STACK_DEFINE(my_stack_area_0, STACK_SIZE); |
| |
| struct k_thread my_thread; |
| struct k_thread my_thread_0; |
| |
| extern void run_heap_malloc_free(void); |
| extern void run_libc(void); |
| extern void run_mutex(void); |
| extern void run_pm_device(void); |
| extern void run_semaphore(void); |
| extern void run_thread_system(void); |
| extern void run_timer(void); |
| extern void run_userspace(void); |
| extern void run_workq(void); |
| |
| int main(void) |
| { |
| printk("Hello from %s!\n", CONFIG_BOARD); |
| |
| #ifdef CONFIG_USERSPACE |
| int ret; |
| struct k_mem_partition *mem_parts[] = { |
| #if Z_LIBC_PARTITION_EXISTS |
| &z_libc_partition, |
| #endif |
| &footprint_mem_partition |
| }; |
| |
| ret = k_mem_domain_init(&footprint_mem_domain, |
| ARRAY_SIZE(mem_parts), mem_parts); |
| __ASSERT_NO_MSG(ret == 0); |
| ARG_UNUSED(ret); |
| #endif /* CONFIG_USERSPACE */ |
| |
| run_thread_system(); |
| |
| run_heap_malloc_free(); |
| |
| run_semaphore(); |
| |
| run_mutex(); |
| |
| run_timer(); |
| |
| run_libc(); |
| |
| run_workq(); |
| |
| #ifdef CONFIG_PM_DEVICE |
| run_pm_device(); |
| #endif |
| |
| #ifdef CONFIG_USERSPACE |
| run_userspace(); |
| #endif |
| |
| printk("PROJECT EXECUTION SUCCESSFUL\n"); |
| return 0; |
| } |