|
Странное поведение Меги2560, после сброса от watchdog |
|
|
|
May 22 2008, 14:59
|
Участник

Группа: 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 и зачем?
|
|
|
|
|
 |
Ответов
|
May 23 2008, 07:26
|
Участник

Группа: 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?
|
|
|
|
Сообщений в этой теме
no_d@t@ Странное поведение Меги2560 May 22 2008, 14:59 SasaVitebsk Это поведение IAR и AVR Studio стандартно при поте... May 22 2008, 22:17 VladimirYU Цитата(SasaVitebsk @ May 23 2008, 02:17) ... May 23 2008, 05:20 Сергей Борщ Цитата(no_d@t@ @ May 23 2008, 10:26) Тако... May 23 2008, 10:42 SasaVitebsk 1) Почитайте описание на компилятор. Например на п... May 23 2008, 09:41 no_d@t@ TO SasaVitebsk:
подробно перечитал ваш пост, отчит... May 23 2008, 10:31 SasaVitebsk Цитата(no_d@t@ @ May 23 2008, 13:31) TO S... May 23 2008, 13:26 superbizzon сталкивался с такой штукой.
эта ботва бывает при н... May 23 2008, 11:00 no_d@t@ >> Сергей Борщ: Читайте в описании про функц... May 23 2008, 12:16 no_d@t@ >> Так посмотрите как его можно использовать... May 23 2008, 13:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|