|
@@ -32,7 +32,17 @@ void busyWaitUntil (USER_MODE_ const uint32_t inDeadLineMS) {
|
|
|
}
|
|
|
|
|
|
void systickInterruptServiceRoutine (SECTION_MODE) {
|
|
|
- gUptime += 1;
|
|
|
+ const uint32_t newUptime = gUptime + 1 ;
|
|
|
+ gUptime = newUptime ;
|
|
|
+
|
|
|
+ // Run every section routines in real.time.interrupt.routine.array
|
|
|
+ extern void (* __real_time_interrupt_routine_array_start) (SECTION_MODE_ const uint32_t inUptime) ;
|
|
|
+ extern void (* __real_time_interrupt_routine_array_end) (SECTION_MODE_ const uint32_t inUptime) ;
|
|
|
+ void (** ptr) (SECTION_MODE_ const uint32_t) = & __real_time_interrupt_routine_array_start ;
|
|
|
+ while (ptr != & __real_time_interrupt_routine_array_end) {
|
|
|
+ (* ptr) (MODE_ newUptime) ;
|
|
|
+ ptr ++ ;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
uint32_t millis(ANY_MODE) {
|