pvvx
Активный участник сообщества
Так уж и быть, раз копаюсь счас в CH592F… Но это RISC-V. А про STM32 сами найдете 
Вам так сложно самому измерить то, что вам требуется

У CH592F на первой странице PDF в графе про Flash написано:
Вот для сравнения время старта SoC после sleep с отключением внутренних питаний из примера “WCH\ch592\EVT\EXAM\BLE\Broadcaster”:

В данный пример “ Broadcaster ” вкорячил скопированную процедуру из примера для ESP:
Исполнение идет из Flash, после старта SoC:

Время подписано желтеньким... 8.56 us - в этом интервале и вывод в GPIO в десяток нс и можно не учитывать.
Вам так сложно самому измерить то, что вам требуется
У CH592F на первой странице PDF в графе про Flash написано:
- Basically, zero-wait at the system frequency of 20MHz
Вот для сравнения время старта SoC после sleep с отключением внутренних питаний из примера “WCH\ch592\EVT\EXAM\BLE\Broadcaster”:

В данный пример “ Broadcaster ” вкорячил скопированную процедуру из примера для ESP:
C:
int speed_test(int a) {
volatile int b = 0;
volatile int c;
a++;
b++;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
c = a + b;
a = c + b;
b = a - c;
b = b * c;
return b;
}
...
GPIOA_SetBits(bRXD1);
GPIOA_ResetBits(bRXD1);
GPIOA_SetBits(bRXD1);
speed_test(22);
GPIOA_ResetBits(bRXD1);
GPIOA_SetBits(bRXD1);
...
Исполнение идет из Flash, после старта SoC:

Время подписано желтеньким... 8.56 us - в этом интервале и вывод в GPIO в десяток нс и можно не учитывать.