Difference between revisions of "Multi-core"
Jump to navigation
Jump to search
(Created page with " * https://ostconf.com/system/attachments/files/000/001/688/original/Brodkin_Linux_Piter_presentation.pdf?1570035188") |
m (Zephyr sys init run levels) |
||
| Line 2: | Line 2: | ||
* https://ostconf.com/system/attachments/files/000/001/688/original/Brodkin_Linux_Piter_presentation.pdf?1570035188 | * https://ostconf.com/system/attachments/files/000/001/688/original/Brodkin_Linux_Piter_presentation.pdf?1570035188 | ||
| + | |||
| + | 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`: | ||
| + | |||
| + | <pre> | ||
| + | |||
| + | 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 | ||
| + | |||
| + | </pre> | ||
Revision as of 23:15, 30 November 2022
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