Multi-core

From Wiki at Neela Nurseries
Revision as of 18:25, 14 December 2022 by Ted (talk | contribs) (NXP LPC55S69 system clock settings HAL source file)
Jump to: navigation, search

In Zephyr 3.2.0 see `zephyr/include/zephyr/drivers/ipm.h` for some starting points to understand inter-processor messaging.


One of two or three Zephyr 3.2.0 sample apps which touch on multi-core firmware design:

  • ./subsys/ipc/openamp/boards/lpcxpresso55s69_cpu0.overlay


^ Zephyr sys init run levels

Likely for another local article, excerpt from `zephyr/include/zephyr/init.h`:


 18 /*
 19  * System initialization levels. The PRE_KERNEL_1 and PRE_KERNEL_2 levels are
 20  * executed in the kernel's initialization context, which uses the interrupt
 21  * stack. The remaining levels are executed in the kernel's main task.
 22  */
 23 
 24 #define _SYS_INIT_LEVEL_PRE_KERNEL_1    0
 25 #define _SYS_INIT_LEVEL_PRE_KERNEL_2    1
 26 #define _SYS_INIT_LEVEL_POST_KERNEL     2
 27 #define _SYS_INIT_LEVEL_APPLICATION     3
 28 
 29 #ifdef CONFIG_SMP
 30 #define _SYS_INIT_LEVEL_SMP             4
 31 #endif


^ General MCU bring-up

NXP LPC55S69 system clock settings HAL source file:

$ vi ./hal/nxp/mcux/mcux-sdk/devices/LPC55S69/drivers/fsl_clock.h