Thank you for tipHwAoRrDk,
It's generated strange long code but i found the part of while(1) loop:
while(1)
{
// Turn on GPIO
GPIOD->BSHR = (1<<0x6);
2b6: 40078793 addi a5,a5,1024
GPIOD->CFGLR &= ~(0xf<<(4*6));
2ba: 8f75 and a4,a4,a3
2bc: c398 sw a4,0(a5)
GPIOD->CFGLR |= (GPIO_Speed_50MHz | GPIO_CNF_OUT_PP)<<(4*6);
2be: 4398 lw a4,0(a5)
2c0: 030006b7 lui a3,0x3000
2c4: 8f55 or a4,a4,a3
2c6: c398 sw a4,0(a5)
GPIOD->BSHR = (1<<0x6);
2c8: 04000693 li a3,64
// Turn off GPIO
GPIOD->BSHR = (1<<0x16);
2cc: 00400737 lui a4,0x400
GPIOD->BSHR = (1<<0x6);
2d0: /-> cb94 sw a3,16(a5)
GPIOD->BSHR = (1<<0x16);
2d2: | cb98 sw a4,16(a5)
2d4: \-- bff5 j 2d0 <main+0x3a>
It's means that in loopwe have only:
2d0:
sw a3,16(a5)
sw a4,16(a5)
j 2d0
it's very similar to code from @brucehoult
loop:
sw x11,(x10)
sw x12,(x10)
j loop
Need to check how to CLK is initialized in C language...
At this moment i bricked two devices - probably because during configuration PORTD i touched DIO pin... :-)