Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: stm32 бутлоадер, после прошивки не работает такой же код
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
10199
пишу под stm32f103vet6. память организовал так

"A1": place at 0x08000000 { ro section .intvec };
"P1": place in [from 0x08000000 to 0x0801ffff] { ro };
"P2": place in [from 0x20000000 to 0x20013fff] { rw, block CSTACK, block HEAP };
"P3": place in [from 0x08020000 to 0x080fffff] { section .REWRITESTUFF };

в P1 лежит библиотека stdperiph и код для приема-передачи информации, остальное в P3, это и перезаписываю. После перезаписи тот же код падает на инициализации GPIO.


По ссылке картинка, на ней слева код после прошивки бутлоадером, справа - после программатора. Вызов функции одинаков, однако переходит в разные места. Также вызов GPIO_Init до ошибочного перехода выполняется несколько раз успешно. После ошибочного перехода выполняется с десяток строк и в hardfault.

Не понимаю куда копать, разница в одном щелчке мыши. После программатора идет куда надо, после бутлоадера сразу по неверному адресу. Видно, что перезаписано все правильно.
Kabdim
У вас справа показан заход в функцию GPIO_Init, а слева в ?Subroutin4. То что они направляются в разные места из вроде бы одной строчки может быть глюком отладчика. Имхо продуктивней выяснять причину падения. Я так понимаю падает на инструкции BKPT?
10199
Извиняюсь за полубесполезную тему, нашел ошибку - отправлял немного некорректную инфу, которая при падении в этом месте не была заметна. Все же чудес не бывает. Поправил ошибку, все заработало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.