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

 
 
> отладка scmrtos
сарматъ
сообщение Aug 20 2013, 09:32
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 19-11-12
Пользователь №: 74 463



добрый день

подскажите кто пользуется эклипсом возможно ли нормально отлаживать задачку с scmrtos

у меня в коде на с++ точки остановки криво устанавливаются - остановка происходит не в тех местах где где в эклипсе установлены брекпойнты, при пошаговом исполнении какие то непонятные скачки по коду, при этом в частях написанных на чистом с в этой же задачке отладка проходит нормально

черезназад отлаживать конечно можно но вдруг есть нормальное решение этой проблемы
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
сарматъ
сообщение Oct 19 2013, 08:23
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 19-11-12
Пользователь №: 74 463



наехал телнетом на опеносд посмотрел значения регистров связанных с таймером систик

0xE000E010 - 0х00010007 - прерывания разрешены (не понял пока назначение 16-го бита пробовал его сбрасывать с помощью mww команды, этот бит все равно устанавливается в единицу)
0хЕ000Е014 - 0х0002903f - значение регистра перезагрузки
0хЕ000Е018 - все время разные значения - таймер тикает

это прерывание не вызывается
CODE
extern "C" OS_INTERRUPT void Default_SystemTimer_ISR()
{
scmRTOS_ISRW_TYPE ISR;

#if scmRTOS_SYSTIMER_HOOK_ENABLE == 1
system_timer_user_hook();
#endif

Kernel.system_timer();

#if scmRTOS_SYSTIMER_NEST_INTS_ENABLE == 0
DISABLE_NESTED_INTERRUPTS();
#endif
}


нашел разницу между работающей и нерабочей системой

в работающей системе регистр 0xe000ed04 равен 0
когда система залипла то значение 1400e84d выходит что pendsv, равно как и систик отложены поэтому прерывание систик больше не генерируется, так? и что с этим делать?

Сообщение отредактировал сарматъ - Oct 19 2013, 17:11
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 19 2013, 20:43
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (сарматъ @ Oct 19 2013, 11:23) *
в работающей системе регистр 0xe000ed04 равен 0
когда система залипла то значение 1400e84d выходит что pendsv, равно как и систик отложены поэтому прерывание систик больше не генерируется, так? и что с этим делать?
Вот честно - совершенно не хочется лопатить документацию ST чтобы найти, что за регистр живет по адресу 0xe000ed04.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- сарматъ   отладка scmrtos   Aug 20 2013, 09:32
- - dxp   Так проблема в поддержке клипсой плюсов при отладк...   Aug 21 2013, 03:04
- - Сергей Борщ   Полагаю, проблема в оптимизации. Ось компилируется...   Aug 21 2013, 05:32
- - сарматъ   проблема не в оси а в системе отладки еклипса плюс...   Aug 21 2013, 06:54
|- - Сергей Борщ   Не вижу у себя таких проблем с отладкой. Да, он ск...   Aug 21 2013, 08:18
- - сарматъ   да я посмотрел код дизасемблера, там все перемешан...   Aug 21 2013, 15:52
- - сарматъ   добрый день, подскажите как правильно использовать...   Sep 22 2013, 06:34
- - сарматъ   продолжаю тему начатую тут платка работает под уп...   Oct 18 2013, 10:49
|- - Сергей Борщ   Здесь я вижу только три возможные проблемы: 1) Пер...   Oct 18 2013, 13:33
- - сарматъ   да в этом месте Кодvoid OS::TKernel:...   Oct 18 2013, 15:50
|- - Сергей Борщ   QUOTE (сарматъ @ Oct 18 2013, 18:50) точк...   Oct 18 2013, 17:54
- - сарматъ   да,я погорячился, это ICSR, таблица 8.6 из книжки ...   Oct 19 2013, 22:41
- - Сергей Борщ   Тогда, если я ничего не путаю, 4D в младших битах ...   Oct 19 2013, 23:27
- - сарматъ   сравнивая с работающей системой получил что 4d это...   Oct 20 2013, 11:09
|- - Сергей Борщ   Возможно вы списывали значение из регистра в тот м...   Oct 20 2013, 16:39
- - сарматъ   что то я совсем запутался, короче все сбросил жду ...   Oct 20 2013, 17:15
- - сарматъ   похоже, дело в кривой обработке мною прерываний се...   Oct 23 2013, 12:13
|- - Сергей Борщ   Поздравляю с нахождением причины. Значит чудес не ...   Oct 23 2013, 13:52
- - сарматъ   спасибо   Oct 23 2013, 14:44
|- - AHTOXA   Ура! Я тоже за вас болел   Oct 23 2013, 15:28
- - сарматъ   ))   Oct 23 2013, 15:32


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

 


RSS Текстовая версия Сейчас: 2nd September 2025 - 16:09
Рейтинг@Mail.ru


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