Skip to content
Snippets Groups Projects
  • David Sidrane's avatar
    88d0b163
    common:board_crashdump must end in reset! · 88d0b163
    David Sidrane authored
       Upstream changes defer the board reset based on the vaule of
       CONFIG_BOARD_RESET_ON_ASSERT
          0 (or not defined) Do not reset on assert
          >= 1 reset if assertion is in an interrupt handler or the idle task
          >= 2 on any asertion.
    
      up_assert is called from up_hardfault or an asertion failure.
      Part 1 of up_assert will call out to the board_crashdump
      Part 2 on return from board_crashdump will then perform
      the reset.
    
      board_crashdump needs a chunk of ram to save the complete
      context in. It uses  &_sdata which is the lowest memory and
      it will corrupt that memeory.  We can therfore can not allow
      return to the OS, as it could depend on that area of RAM.
    
      So all boards need to do a reset at the end of board_crashdump
    88d0b163
    History
    common:board_crashdump must end in reset!
    David Sidrane authored
       Upstream changes defer the board reset based on the vaule of
       CONFIG_BOARD_RESET_ON_ASSERT
          0 (or not defined) Do not reset on assert
          >= 1 reset if assertion is in an interrupt handler or the idle task
          >= 2 on any asertion.
    
      up_assert is called from up_hardfault or an asertion failure.
      Part 1 of up_assert will call out to the board_crashdump
      Part 2 on return from board_crashdump will then perform
      the reset.
    
      board_crashdump needs a chunk of ram to save the complete
      context in. It uses  &_sdata which is the lowest memory and
      it will corrupt that memeory.  We can therfore can not allow
      return to the OS, as it could depend on that area of RAM.
    
      So all boards need to do a reset at the end of board_crashdump