Versions Compared

Key

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

...

  • Command line is in first argument
  • Disable interrupts
  • Store command line
  • Call bsp_start()
  • Determine RTEMS work area and heap
  • Initialize RTEMS data structures
  • Initialize the C library
  • Call bsp_pretasking_hook()
  • Optional: Enable RTEMS debugging capabilities
  • RTEMS initialization before loading device drivers
  • Call bsp_predriver_hook()
  • Initialize device drivers
  • Call bsp_postdriver_hook()
  • Start multitasking
    • Thread with entry point Init runs
    • Not clear how this returns. Perhaps when the last task is deleted?
  • Call bsp_cleanup()
  • Return to start code
    • Not clear what's in the lr at this point, i.e., where do we return to?

RTEMS BSP

  • bsp_start()
    • Set up default character output function
    • Get CPU type and revision cached
    • Initialize device driver parameters
      • Rate of timer source for clock.c
      • bsp_timer_internal_clock (question)
      • bsp_timer_average_overhead (question)
      • bsp_timer_least_valid (question)
    • Initialize default raw exception handlers
    • Call app_bsp_start()
  • bsp_pretasking_hook()
  • bsp_predriver_hook()
  • bsp_postdriver_hook()
  • bsp_cleanup()

RCE BSP

  • app_bsp_start()
    • Replace the character output function with one that writes to the syslog
  • app_bsp_pretasking_hook()
    • Initialize RceDebug
    • Initialize RcePic
  • app_bsp_predriver_hook()
    • Initialize RceEthernet
    • Initialize RceBsdnet
  • app_bsp_postdriver_hook()
  • app_bsp_cleanup()