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

 
 
> Странное поведение Меги2560, после сброса от watchdog
no_d@t@
сообщение May 22 2008, 14:59
Сообщение #1


Участник
*

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736



Мега2560 + IAR + JTAGICE2.
Обратил внимание, что после сброса от watchdog Мега и IAR впадают в некую кому, причем в IARе вываливается сообщение, что target reset, т.е. reset проходит, но до breakpointа, поставленного в начале программы, дело не доходит, среда висит. если остановить выполнение программы, то IAR пишет странные вещи, типа: sleep mode или target busy, хотя sleep mode не включен. А вот Watchdog почему-то оказывается включен. В дизассемблере видно, что программа находится в теле функции __flashcpy, я так понимаю, что это что-то стартапное у IAR или нет?
Что делать? Как жить дальше? Где копать?

В IAR C/C++ Compiler Reference Guide упоминаний про __flashcpy не нашел. Саму __flashcpy нашел в src\lib\segment_init.c. Расскажите, что это за __flashcpy и зачем?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
no_d@t@
сообщение May 23 2008, 07:26
Сообщение #2


Участник
*

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736



>> Есть птица, в настройках которая говорит, что стартовать надо с 0 адреса. В противном случае, стандартная иаровская инициализация процессора проскакивает незаметно для глаза пользователя.

Убрал в IAR разделе Debugger галку Run to main и поставил точку останова но RESET. Провел эксперимент: контроллер сбросился по watchdog, IAR остановился на breakpoint RESET, флаг WDE в watchdog был установлен, в Debug Log появилось сообщение:
Вreakpoint hit: Code @ CODE:0x000000
The stack pointer for stack 'RStack' (currently DATA:0x0021FF) is outside the stack range (DATA:0x001500 to DATA:0x0015D2). Не совсем понятно, причем здесь RStack, если контроллер сброшен в исходное состояние, произошел ресет, да и программу я сократил до нескольких строк - остановка watchdog, запуск watchdog? Если нажать Run, контроллер будет продолжать непрерывно ресетиться, видимо из за того, что watchdog не выключен.

Такой вопрос (может быть и не совсем корректный): где в стартапном коде можно прописать остановку watchdog?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:48
Рейтинг@Mail.ru


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