Zephyr Project: RTOS Start-up and Initialization Flow
summary
Zephyr’s boot path traces reset through architecture-specific startup into a common z_start that runs kernel_init and arch kernel_init, creates a dummy thread, initializes devices by run levels, then prepares the scheduler and context-switches to the main thread. Run levels like pre-kernel 1/2 prevent kernel calls; post-kernel and application levels may call kernel APIs. Linker-constructed init sections and the map file determine init ordering; a surprising NXP bug shows same-level ordering can break boots and is fixed by changing priorities or moving a driver to post-kernel.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:38Zephyr Project Overview
- 2:06CortexM Flow Diagram
- 4:38Zephyr Early Startup
- 19:06Post Kernel
- 21:45Apis
- 22:41Initialization Levels
- 24:55Drivers
- 26:33Build Map
- 30:49Static Threads
related talks
34mZephyr Project: RTOS Start-up and Initialization Flow
41mFuture of Zephyr Device Model
50mZephyr Project: An RTOS to Change the Face of IoT
09mInto & Kick-off
49mThe Zephyr™ Project – An Updated Overview
34mZephyr and OpenAMP
42mTaking Your Hardware to Production with Zephyr RTOS
30mSoC Development: From ROM to Application
