[][src]Function cortexm_threads::SysTick

#[no_mangle]pub extern "C" fn SysTick()

Handle a tick event. Typically, this would be called as SysTick handler, but can be called anytime. Call from thread handler code to yield and switch context.

  • updates sleep_ticks field in sleeping threads, decreses by 1
  • if a sleeping thread has sleep_ticks == 0, wake it, i.e., change status to idle
  • find next thread to schedule
  • if context switch is required, will pend the PendSV exception, which will do the actual thread switching