Skip to content
0:00 / 0:00

#zephyrrtos#nxp#boot-flow

Zephyr Project: RTOS Start-up and Initialization Flow - David Leach, NXP

The Linux Foundation

215K subscribers • 12 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by David Leach, NXP

Intermediate. Assumes working knowledge.

16K views4 years ago2 recommendations

Systems programmingHardwareEmbedded systemsOperating systems

David Leach explains the boot sequence, kernel initialization, and thread creation flow in the Zephyr RTOS.

Zephyr Project: RTOS Start-up and Initialization Flow - David Leach, NXP

Why it's here

2 people recommend this

What people say. Recommended for understanding how Zephyr initializes its kernel and manages threads before reaching the main function.

u/jumuju97in r/embedded • Recommends

On “why are threads created in zephyr os allowed to outlive main method? Why is this not the same on other OS'es?”

…ically defining data, and the subsystem will magically know data that user statically define) the main is also a thread. the “real main” is used to intialise the kernel. the main you define is a user defined main, a thread zephyr kernel creates and run at post-system initialization. you gotta watch this to understand a little more about zephyr. link to this video zephyr is a very complicated system but once you understand things, you’ll find how it makes everything easy!…

u/TibMonsterin r/embedded • Recommends

On “[Zephyr] How to tell which .c files will be ran?”

If I remember the zephyr os link to this video I watched about this, the call for main in main.c is the last of a bunch of steps that the zephyr os takes when the app runs on an mcu. There are a whole bunch of calls happening before that relating to the zephyr configuration files which results in certain threads, one of which may have been the one you mentioned, being created before main is called.

u/NaNpsychoin r/embedded • Mentions

On “why are threads created in zephyr os allowed to outlive main method? Why is this not the same on other OS'es?”

>the main is also a thread. the “real main” is used to intialise the kernel. the main you define is a user defined main, a thread zephyr kernel creates and run at post-system initialization. I see I never saw this info in the quick start guide or application development guide of zephyr. But then again I have just started with this. It's quite interesting that I can comment out the main method and still have my program function the same. > you gotta watch this to understand a little more about zephyr. >[video Thanks for the recommendation.

u/NaNpsychoin r/embedded • Mentions

On “why are threads created in zephyr os allowed to outlive main method? Why is this not the same on other OS'es?”

>the main is also a thread. the “real main” is used to intialise the kernel. the main you define is a user defined main, a thread zephyr kernel creates and run at post-system initialization. I see I never saw this info in the quick start guide or application development guide of zephyr. But then again I have just started with this. It's quite interesting that I can comment out the main method and still have my program function the same. > you gotta watch this to understand a little more about zephyr. >[video Thanks for the recommendation.