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

 
 
 
Reply to this topicStart new topic
> Не работают прерывания под отладкой, STM32F103 + ST-Util + GDB + Eclipse
Spider
сообщение Jan 5 2015, 07:20
Сообщение #1


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Всем привет!

Как-то так получилось, что отладкой почти не пользовался. Тут понадобилось и обратил внимание что к примеру SysTick не вызывает прерывание. т.е. если просто подать питание на проц - то всё работает, а если подключиться отладчиком и начать "отлаживать" то таймер замер и ничего не происходит.
Я что-то не так делаю?
Go to the top of the page
 
+Quote Post
1113
сообщение Jan 5 2015, 07:24
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



всё должно работать. оставьте точку останова только на прерывании SysTick, и ждите...

P.S. возможно вы его не там ставите... или оно не ставится...
Go to the top of the page
 
+Quote Post
Spider
сообщение Jan 5 2015, 07:30
Сообщение #3


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



в том-то и дело что уже всё перепробовал.
В этом прерывании уменьшаются софтовые таймеры, так вот и было замечено, что они перестали работать. "висят" с начальным значением.
Go to the top of the page
 
+Quote Post
1113
сообщение Jan 5 2015, 07:32
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



а оно как работает? только с отключенной отладкой, а с любым вариантом подключенной не работает вообще или с подключенной по командам ходит только в систик не заходит?
Go to the top of the page
 
+Quote Post
Spider
сообщение Jan 5 2015, 07:37
Сообщение #5


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Оно запускается, инициализируется. При этом я могу пройти по всем строкам F10 и ноги будут "дрыгаться" даже выплёвывает 1 байт в USART но до второго дело не доходит, потому что прерывание не вызывается чтобы выплюнуть следующий. Та же ситуация с таймером - я взвожу его и.... бесконечно кручусь в цикле ожидая его 0.
т.е. по коду ходится, исполняется, bp срабатываю если до них доходит дело.
Go to the top of the page
 
+Quote Post
1113
сообщение Jan 5 2015, 07:44
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



https://github.com/texane/stlink/issues/266
http://forum.easyelectronics.ru/viewtopic....60&p=329791

походу проблема действительно существует, по второй ссылке вроде разобрались...
Go to the top of the page
 
+Quote Post
Spider
сообщение Jan 5 2015, 08:22
Сообщение #7


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Ага! Именно так. Ноги растут из ST-Util, перешёл на OpenOCD (оно конечно странно как-то ходит по коду, такое ощущение что по ASM ходит вместо C)
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jan 5 2015, 10:28
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



оно всегда ходит по машинным кодам. И если оптимизация не стоит на 0, то обычно программа не совпадает с С кодом. А в кейле еще и переменные пропадают если оптимизация не 0, а там дефолтная оптимизация -1.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 01:15
Рейтинг@Mail.ru


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