Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SAM7 + IAR + L-Link + включеный Watchdog
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
KAlex
При попытке запуска в режиме отладки, J-Link в поцессе загрузки камня, через какое-то время зависает. Поигрался с битами AT91C_SYSC_WDDBGHLT | AT91C_SYSC_WDIDLEHLT, нет эффекта.
Может я чего не учел, или это баг?
Самое противное, что после первой прошивки с включенной собакой, дальнейшая перепрошивка стала невозможной. Вылечил только с помощью J-Flash ARM.
Сергей Борщ
Цитата(KAlex @ Aug 8 2007, 11:15) *
Может я чего не учел, или это баг?
Мммм.... это не баг. Попробую пояснить. Перед программированием IAR формирует аппаратный ресет. После этого начинает работать зашитая вами программа во флеш и одновременно (а может чуть позже) через JTAG начинается перехват управления и остановка исполнения программы. К моменту перехвата ваша программа успевает выполнить некоторое количество операций и, возможно, включить watchdog (который после этого переинициализировать невозможно и скрипт c-spy не сможет его остановить). Если вы его настраивали с WDDBGHLT, то во время ожидания в точках останова собака будет спать и не мешать отладке. Но процесс прошивки представляет из себя исполнение процессором некоей программы из ОЗУ, с которой IAR общается через JTAG (тот самый загрузчик, который iar/config/flashloader/atmel). И во время исполнения этого кода собака успевает сработать. Мне приходят в голову следующие решения:
- поставить в вашу программу перед инициализацией собаки задержку, чтобы IAR успевал перехватить управление до инициализации собаки.
- перекомпилировать загрузчик, вставив в него периодический сброс собаки. Но для этого потребуется полная версия IAR (или взять от 4.20, которая есть на местном FTP, со всеми глюками которые они могли к последней версии исправить).
KAlex
Спасибо за обстоятельный ответ.
Посмотрел flashloader. Там есть закомментареная строчка с отключением Watchdog. Это она?
И как его перекомпилить? Может проще на IAR-Systems собаку спустить. maniac.gif

В принципе я уже отладился, правда с извращениями.
Типа так: компилю с выключеной собакой, прошиваю через J-Flash. Компилю с включеной, запускаю под дебагом.
Сергей Борщ
Цитата(KAlex @ Aug 16 2007, 10:31) *
Посмотрел flashloader. Там есть закомментареная строчка с отключением Watchdog. Это она?
Если это именно отключение, а не сброс собаки - то нет. Дело в том, что запрограммировать собаку можно только один раз, и если это уже сделала ваша программа, то загрузчик ничего не сможет изменить.
Цитата(KAlex @ Aug 16 2007, 10:31) *
И как его перекомпилить?
В папке документации полной версии есть файл FlashLoaderGuide.pdf, в нем все подробно расписано.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.