реклама на сайте
подробности

 
 
> STM32F103RB не работает startup в Keil 3.8, останавливается по адресу 0xBEAB BKPT 0xAB
Nikitoc
сообщение Oct 30 2010, 14:32
Сообщение #1


Местный
***

Группа: Validating
Сообщений: 207
Регистрация: 14-01-09
Из: Днепропетровск
Пользователь №: 43 367



Добрый день, уважаемый All. Очень нужна помощь по описанной выше проблеме. Замучился уже. Для отладки (программирования) использую MT-Link (J-link V5) как J-link/J-trace. Судя по логу в консоли, микроконтроллер нормально стирается, прошивается и верифицируется. Но основная программа не запускается. При включении debug'а оказалось что программа не доходит даже до main(), навечно останавливается на инструкции: 0x08002196 BEAB BKPT 0xAB. Стартап я использую тот, что Keil предлагает при создании нового проекта. В чем может быть дело?

Пробовал также стартап от ST (который в библиотеке идет) - та же ботва. Может MT-LINK не корректно работает с CORTEX-M3? Так вроде бы говорят (здесь же на форуме), что эта связка должна работать...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
AlexandrY
сообщение Oct 30 2010, 14:43
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Неправильный ретаргетинг сделали.
Т.е. наверно вообще не сделали при этом применяете фунции зависящие от платформы как printf, fread, gets, exit, system, ..
Если для таких функций не сделан ретаргетинг, то компилятор автоматом влючает заглушку на семихостинг который в Keil производится через JTAG.
Вот в эту заглушку и попадаете.
Go to the top of the page
 
+Quote Post
Nikitoc
сообщение Oct 30 2010, 15:18
Сообщение #3


Местный
***

Группа: Validating
Сообщений: 207
Регистрация: 14-01-09
Из: Днепропетровск
Пользователь №: 43 367



Цитата(AlexandrY @ Oct 30 2010, 17:43) *
Неправильный ретаргетинг сделали.
Т.е. наверно вообще не сделали при этом применяете фунции зависящие от платформы как printf, fread, gets, exit, system, ..
Если для таких функций не сделан ретаргетинг, то компилятор автоматом влючает заглушку на семихостинг который в Keil производится через JTAG.
Вот в эту заглушку и попадаете.

Спасибо, Вы оказались правы. Я использовал printf и ремапинг не сделал (хотя и помнил что нужно сделать), но я ее не вызывал в программе. Вся программа заключалась в пустом цикле while(1). Но до него дело не доходило. Программа зависала в стартапе. Это меня и сбивало с пантылыку. Честно говоря, я и до сих пор не понимаю, почему такое происходило. Неужели, это Keil'овский компилятор такой умный?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 10:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.0172 секунд с 7
ELECTRONIX ©2004-2016