1. Cyg_RealTimeClokc rtc(timer)
    1. Cyg_Clock
      1. Cyg_counter
        1. alarm_list
        2. tick(count)
          1. for(alarm_list) alarm->alarm();
    2. Interrupt
      1. isr
        1. (Almost do nothing, except call dsr)
      2. dsr
        1. rtc->tick(count)
  2. Cyg_Thread
    1. Cyg_HardwareThread
    2. Cyg_SchedThread
    3. Cyg_ThreadTimer timer
      1. Cyg_Alarm(Cyg_Clock::real_time_clock, &alarm, CYG_ADDRWORD(this)
      2. alarm()
        1. Cyg_Scheduler::unlock
          1. unlock_inner
          2. HAL_THREAD_SWITCH_CONTEXT