Суть проблемы в следующем, прошиваю stm32f103 своей прошивкой, в режиме дебага по openocd все ок, все работает, когда заливаю прошивку по st-flash ничего не работает.
Пробовал чистить/удалять всю сборку и собирать заново, все также. Заливаю бинарник по правильному адресу 0x8000000.
Как мне кажется проблема с линковщиком, так как залил пример с blink все прошло хорошо и светодиод мигает, а моя прошивка не воспроизводится. Эта же прошивка, скомпиленная и залитая через Keil работает на ура.
Память проверил и флешах тоже, все ок
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K
CCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 0
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64K
FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0
MEMORY_ARRAY (xrw) : ORIGIN = 0x00000000, LENGTH = 0
}
UPD: оказалось, что прошивка занимала больше места, чем вмещается на флеш памяти и в режиме дебага как-то могли это обойти, а в режиме релиза требовалась оптимизация, при этом темплейт проекта в эклипсе никак не обработал данную ошибку и, не обращая внимания на финальный размер файла, я его пытался шить. Вылечилось рефакторингом, оптимизацией кода и компилятора