Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Look at the logic in nuttx/sched/init/nx_bringup.c:

Code Block

  #elif defined(CONFIG_INIT_FILEPATH)
  static inline void nx_start_initthread(void)
  {
    int ret;
Code Block
  #ifdef CONFIG_BOARD_LATE_INITIALIZE
    /* Perform any last-minute, board-specific initialization, if so
   * configured.

...

Code Block
   */

  board_late_initialize();
  #endif
Code Block
    /* Start the application initialization program from a program in a
   * mounted file system.  Presumably the file system was mounted as

...

 part
   * of the board_late_initialize() operation.

...

Code Block
   */

  sinfo("Starting init task: %s\n", CONFIG_USER_INITPATH);
Code Block
    ret = exec(CONFIG_USER_INITPATH, NULL, CONFIG_INIT_SYMTAB,
               CONFIG_INIT_NEXPORTS);
    ASSERT(ret >= 0);
  }


Where exec() is an internal, more primitive function that is the basis for the POSIX standard functions execv() and friends.