Есть идеи почему вот эта хуйня void flash_jump_to_app(void) { /* Function pointer to the address of the user application. */ volatile fnc_ptr jump_to_app; jump_to_app = (volatile fnc_ptr)(*(volatile uint32_t*) (FLASH_APP_START_ADDRESS+4u)); HAL_DeInit(); __disable_irq(); for (uint8_t i=0;i<3;i++) { NVIC->ICER[i]=0xFFFFFFFF; NVIC->ICPR[i]=0xFFFFFFFF; } __enable_irq(); /* Change the main stack pointer. */ __set_MSP(*(volatile uint32_t*)FLASH_APP_START_ADDRESS); jump_to_app(); } умирает при включении оптимизации. на О0 и О1 работает нормально
Комментарии: 6
Tiny
а что именно отьебывает?
Anonim
судя по всему отьебывает переход на адрес потому что больше там ничего нет
Tiny
вызов jump_to_app?
Anonim
да это прыжок из бута в приложение
W1ruus
Нет, тут сборка от балки оси "Ха"... Интересная команда, Ди выдумывает свой язык ? )))
Vga
а дизасм что кажет на -О1 ои -О2?