1 /* 2 * Copyright (c) 2020 Intel Corporation 3 * Copyright (c) 2024 Nordic Semiconductor ASA 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 */ 7 8 #include <zephyr/kernel.h> 9 #include <zephyr/init.h> 10 #include <zephyr/device.h> 11 #include <zephyr/version.h> 12 #include <zephyr/app_version.h> 13 14 #if defined(CONFIG_BOOT_DELAY) && (CONFIG_BOOT_DELAY > 0) 15 #define DELAY_STR STRINGIFY(CONFIG_BOOT_DELAY) 16 #define BANNER_POSTFIX " (delayed boot " DELAY_STR "ms)" 17 #else 18 #define BANNER_POSTFIX "" 19 #endif /* defined(CONFIG_BOOT_DELAY) && (CONFIG_BOOT_DELAY > 0) */ 20 21 #ifndef BANNER_VERSION 22 #if defined(BUILD_VERSION) && !IS_EMPTY(BUILD_VERSION) 23 #define BANNER_VERSION STRINGIFY(BUILD_VERSION) 24 #else 25 #define BANNER_VERSION KERNEL_VERSION_STRING 26 #endif /* BUILD_VERSION */ 27 #endif /* !BANNER_VERSION */ 28 29 #if defined(APP_BUILD_VERSION) 30 #define APPLICATION_BANNER_VERSION STRINGIFY(APP_BUILD_VERSION) 31 #elif defined(APP_VERSION_EXTENDED_STRING) 32 #define APPLICATION_BANNER_VERSION APP_VERSION_EXTENDED_STRING 33 #endif 34 35 #if defined(APPLICATION_BANNER_VERSION) boot_banner(void)36void boot_banner(void) 37 { 38 #if defined(CONFIG_BOOT_DELAY) && (CONFIG_BOOT_DELAY > 0) 39 printk("***** delaying boot " DELAY_STR "ms (per build configuration) *****\n"); 40 k_busy_wait(CONFIG_BOOT_DELAY * USEC_PER_MSEC); 41 #endif /* defined(CONFIG_BOOT_DELAY) && (CONFIG_BOOT_DELAY > 0) */ 42 43 printk("*** Booting MCUboot " APPLICATION_BANNER_VERSION " ***\n"); 44 printk("*** " CONFIG_BOOT_BANNER_STRING " " BANNER_VERSION BANNER_POSTFIX " ***\n"); 45 } 46 #endif /* APP_BUILD_VERSION */ 47