__attribute__((section(".highcode")))
void emptyLoopInRam(void){
GPIOD->BSHR = GPIO_Pin_2;
for(uint32_t i=0;i<10000;i++){
__asm volatile("nop");
}
GPIOD->BCR = GPIO_Pin_2; 104uS
}
void emptyLoopInFlash(void){
GPIOD->BSHR = GPIO_Pin_2;
for(uint32_t i=0;i<10000;i++){
__asm volatile("nop");
}
GPIOD->BCR = GPIO_Pin_2; 37,85mS
}
static void startTask(void) {
while(1){
vTaskDelay(50);
emptyLoopInFlash();
vTaskDelay(1);
emptyLoopInRam();
}
}
Below is the dissemler code
emptyLoopInRam()
33: GPIOD->BSHR = GPIO_Pin_2;
0x200a204c lui a5,0x40011
0x200a2050 addi a5,a5,1024 # 0x40011400
0x200a2054 li a4,4
0x200a2056 sw a4,16(a5)
34: for(uint32_t i=0;i<10000;i++){
0x200a2058 lui a5,0x2
0x200a205a addi a5,a5,1808 # 0x2710
35: __asm volatile("nop");
0x200a205e nop
34: for(uint32_t i=0;i<10000;i++){
0x200a2060 addi a5,a5,-1
0x200a2062 bnez a5,0x200a205e <emptyLoopInRam+18>
37: GPIOD->BCR = GPIO_Pin_2;
0x200a2064 lui a5,0x40011
0x200a2068 addi a5,a5,1024 # 0x40011400
0x200a206c li a4,4
0x200a206e sw a4,20(a5)
emptyLoopInFlash()
41: GPIOD->BSHR = GPIO_Pin_2;
0x000123a8 lui a5,0x40011
0x000123ac addi a5,a5,1024 # 0x40011400
0x000123b0 li a4,4
0x000123b2 sw a4,16(a5)
42: for(uint32_t i=0;i<10000;i++){
0x000123b4 lui a5,0x2
0x000123b6 addi a5,a5,1808 # 0x2710
43: __asm volatile("nop");
0x000123ba nop
42: for(uint32_t i=0;i<10000;i++){
0x000123bc addi a5,a5,-1
0x000123be bnez a5,0x123ba <emptyLoopInFlash+18>
45: GPIOD->BCR = GPIO_Pin_2;
0x000123c0 lui a5,0x40011
0x000123c4 addi a5,a5,1024 # 0x40011400
0x000123c8 li a4,4
0x000123ca sw a4,20(a5)