mynewt: Make sysinit() call configurable

In same cases (loging, hash, crypto) main function called
newt tool generated sysinit() function to create
uart device and crypto.

Now user can specify that sysinit should be called for
other cases if needed. This can be useful if some other
package should be included in the build and it has
package initialization function.

Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
This commit is contained in:
Jerzy Kasenberg 2023-07-14 09:17:53 +02:00 committed by Fabio Utzig
parent 8581168331
commit 52cac94c0e
2 changed files with 9 additions and 1 deletions

View File

@ -229,7 +229,7 @@ main(void)
#endif #endif
#if defined(MCUBOOT_SERIAL) || defined(MCUBOOT_HAVE_LOGGING) || \ #if defined(MCUBOOT_SERIAL) || defined(MCUBOOT_HAVE_LOGGING) || \
MYNEWT_VAL(CRYPTO) || MYNEWT_VAL(HASH) MYNEWT_VAL(CRYPTO) || MYNEWT_VAL(HASH) || MYNEWT_VAL(BOOT_MYNEWT_SYSINIT)
/* initialize uart/crypto without os */ /* initialize uart/crypto without os */
os_dev_initialize_all(OS_DEV_INIT_PRIMARY); os_dev_initialize_all(OS_DEV_INIT_PRIMARY);
os_dev_initialize_all(OS_DEV_INIT_SECONDARY); os_dev_initialize_all(OS_DEV_INIT_SECONDARY);

View File

@ -31,6 +31,14 @@ syscfg.defs:
BOOT_PREBOOT: BOOT_PREBOOT:
description: 'Call boot_preboot() function before booting application' description: 'Call boot_preboot() function before booting application'
value: value:
BOOT_MYNEWT_SYSINIT:
description: >
When not 0 performs device initialization and calls newt
generated sysinit() function.
Note: this functionality is implicitly turned on when one of the
following settings are not 0:
MCUBOOT_SERIAL, MCUBOOT_HAVE_LOGGING, CRYPTO, HASH
value: 0
syscfg.vals: syscfg.vals:
SYSINIT_CONSTRAIN_INIT: 0 SYSINIT_CONSTRAIN_INIT: 0