Function wakeupProcess1() не требует сохранения/восстановления регистров (prolog/epilog) и не возвращается в точку вызова.
Для сравнения, код, сгенерированный до изменений:
./SDK/misc/CMSIS/include/core_cmFunc.h:463:5: note: in expansion of macro '__ASM'
./SDK/misc/CMSIS/include/core_cm0.h:90:26: note: the value of the stack pointer after an 'asm' statement must
be the same as it was before the statement
Function wakeupProcess1() не требует сохранения/восстановления регистров (prolog/epilog) и не возвращается в точку вызова.
Для сравнения, код, сгенерированный до изменений:
Пролог
Эпилог
и после
Пролог
Эпилог
Это также избавляет от предупреждения от gcc: