Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: debugWIRE и SPI
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Otshelnik
Всем доброго времени суток. Итак, на руках имеется плата на основе ATmega48, имеется прога. У меня встаёт вопрос о правильном порядке зашивания и отладки программы, если на руках имеется JTAGICE mk II. А именно, я не могу до конца понять, что такое debugWIRE и его хитрую роль? И можно ли просто работать через 6-контактный SPI?
Просто до сегодняшнего вечера (а это вчерашний день) порядок действий был такой: заходим в свойства прошивания, щёлкаем disable debugWIRE, выходим, коннектимся через ec, и JTAG ICE mkII к плате, зашиваем её. Далее запускаем дебагинг, выскакивает окошко, где можно выбрать либо что-то типа return to use debugWIRE, либо use SPI что-то там... выбираем как раз второе, жмакаем Ок, выскакивает предложение перевключить питание и отключить ненужные провода SPI, перевключаю питание, вуаля, всё работает, можно спокойно отлаживаться...
Что случилось после очередной попытки зашиться... Порядок действий такой же, абсолютно, только при попытке отключить debugWIRE выскакивает окошко с надписью: "Failed to ensure correct emulation mode debugWIRE was not disabled", хотя при этом кнопка отключения становится неактивной... При этом дальше спокойно зашиваемся и пытаемся запустить отладку - а хрен, после выбора SPI выскакивает окошко с надписью Failed to re-enter debugWIRE mode. Make sure the reset line is clear. И всё...
Вобщем прошу дать разъяснения вообще по вопросу прошивки атмеги, потому как всё как-то методом тыка, хелпарь как-то не сильно помогает=/
И ещё одно - можно ли по-русски услышать что-то про fuse bits... В частности сейчас во фьюзах режим дебагваера включён.... А как правильно настраивать их - хз=//

Спасибо...
МП41
А сигналы debugWIRE по линии RESET идут, вот он и просит удостовериться, что всё в порядке с этой линией. У меня из-за грязи (остатки флюса скорее всего) на контакте RESET проблемы были, не мог прошиться, покуда не промыл.
SasaVitebsk
Я так понимаю, что речь идёт об AVR Studio? Если да (а очень похоже), то ....
Что-то у вас слишком сложно всё.

Я работаю в связке - IAR - AVR Studio. В смысле пишу на Си в IARе, а отлаживаю в Студии. Выглядит так (для контроллеров DBW типа atmega48/88/168).

Создаю проект в IAR с выходом под студию. Пишу программу. Запускаю студию (для отладки). Выбираю - открыть проект. Залажу в папку и указываю на файл xxx.d90 (для другого компилятора может быть другое расширение). Выбираю кристал и выбираю JTAG ICE MKII. И всё!!! Проект создан.

При первом входе в кристал, студия сообщает что выключен DBW и предлагает включить его. Я подтверждаю (Используется один разъём ISP6. ТО есть никаких переключений делать ненадо). Студия сообщает что DBW разрешён. Передёрните питание. Выкл-вкл. И пошёл работать.

Ничего программировать не надо. Студия автоматом заливает туда весь код (если требуется изменить EEPROM, то она спросит). При втором и последующем запуске сразу по нажатию проекта - происходит загрузка кода.
Если работаешь, как я, то вообще можно из студии не выходить. Нашёл ошибку - подправил Сишный код - перекомпилил - перешёл в студию - остановил проц - она пишет - код был изменён. Перезалить? - отвечаешь "Да" и к следёющей ошибке. smile.gif


Теперь, по вашему сообщению. Очевидно, что один раз вы пытались залить прогу в кристал при выключеном питании (или что-то подобное). И не заметили, как зашли в режим симуляции. Поэтому теперь, при открытии проекта, вам опять надо выбрать JTAG.
BSVi
Сегдня превый раз баловался с драгоном. Вообщем написал программку (atmega48), отладил исполюзуя debugWire, потом решил фюзы поменять (с внутреннего RC переключиться на внешний кварц). Запустил программатор из avr studio, а он пишет

Entering programming mode... FAILED.

Запускаю отладчик. По debugwire шьет и отлаживает отлично. Как бы исправить это недорозумение и запрограммировать фузы по ISP?
SasaVitebsk
Цитата(BSVi @ Nov 6 2008, 01:16) *
Сегдня превый раз баловался с драгоном. Вообщем написал программку (atmega48), отладил исполюзуя debugWire, потом решил фюзы поменять (с внутреннего RC переключиться на внешний кварц). Запустил программатор из avr studio, а он пишет

Entering programming mode... FAILED.

Запускаю отладчик. По debugwire шьет и отлаживает отлично. Как бы исправить это недорозумение и запрограммировать фузы по ISP?

Запускаешь студию в отладке проекта. И там debug/JTAG mk2 options. Ну и там disable DBW.

А угадайте как я это узнал? Не поверите. Нажал кнопку Help в студии и прочитал.
BSVi
Спасибо большое, я эту кнопку видел, но думал, что и дебагвайр и SPI работают одновременно. Оказалось - нет.
wellcom
доброго времени суток! Просьба Подсказать где найти и как включить отладку в железе по debugWire. Для выбора доступны только интерфейсы JTAG, ISP, картинка ниже. Програматор-отладчик JTAGICE3. Прошивка заливается в камень без проблем.
Нажмите для просмотра прикрепленного файла
Пробовал и вручную включать фуз OCDEN - не помогло. Кто знает хде искать или как включить debugWire в Atmelstudio 6.2??? Спасибо.
_Артём_
Цитата(wellcom @ Mar 17 2014, 15:20) *
Пробовал и вручную включать фуз OCDEN - не помогло. Кто знает хде искать или как включить debugWire в Atmelstudio 6.2??? Спасибо.

А ваш МК поддерживает debugwire? Какой у вас МК?
wellcom
Цитата(_Артём_ @ Mar 17 2014, 14:22) *
А ваш МК поддерживает debugwire? Какой у вас МК?
Atmega128
_Артём_
Цитата(wellcom @ Mar 17 2014, 15:28) *
Atmega128

Нет у 128-й debugwire. JTAG только. Посмотрите в даташите.
wellcom
Цитата(_Артём_ @ Mar 17 2014, 14:30) *
Нет у 128-й debugwire. JTAG только. Посмотрите в даташите.

да, посмотрел нету sad.gif . Я почему то подумал что он есть во всех аврках.
paskal
debugwire задуман как дешевая замена JTAG-у, он есть в тиньках и самых мелких мегах. И естественно где есть JTAG, там нет debugwire.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.