Перейти к содержанию
    

debugWIRE и SPI

Всем доброго времени суток. Итак, на руках имеется плата на основе 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... В частности сейчас во фьюзах режим дебагваера включён.... А как правильно настраивать их - хз=//

 

Спасибо...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А сигналы debugWIRE по линии RESET идут, вот он и просит удостовериться, что всё в порядке с этой линией. У меня из-за грязи (остатки флюса скорее всего) на контакте RESET проблемы были, не мог прошиться, покуда не промыл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю, что речь идёт об AVR Studio? Если да (а очень похоже), то ....

Что-то у вас слишком сложно всё.

 

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

 

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

 

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

 

Ничего программировать не надо. Студия автоматом заливает туда весь код (если требуется изменить EEPROM, то она спросит). При втором и последующем запуске сразу по нажатию проекта - происходит загрузка кода.

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

 

 

Теперь, по вашему сообщению. Очевидно, что один раз вы пытались залить прогу в кристал при выключеном питании (или что-то подобное). И не заметили, как зашли в режим симуляции. Поэтому теперь, при открытии проекта, вам опять надо выбрать JTAG.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Entering programming mode... FAILED.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Entering programming mode... FAILED.

 

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

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

 

А угадайте как я это узнал? Не поверите. Нажал кнопку Help в студии и прочитал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое, я эту кнопку видел, но думал, что и дебагвайр и SPI работают одновременно. Оказалось - нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

доброго времени суток! Просьба Подсказать где найти и как включить отладку в железе по debugWire. Для выбора доступны только интерфейсы JTAG, ISP, картинка ниже. Програматор-отладчик JTAGICE3. Прошивка заливается в камень без проблем.

post-69816-1395055161_thumb.jpg

Пробовал и вручную включать фуз OCDEN - не помогло. Кто знает хде искать или как включить debugWire в Atmelstudio 6.2??? Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал и вручную включать фуз OCDEN - не помогло. Кто знает хде искать или как включить debugWire в Atmelstudio 6.2??? Спасибо.

А ваш МК поддерживает debugwire? Какой у вас МК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваш МК поддерживает debugwire? Какой у вас МК?
Atmega128
Изменено пользователем wellcom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет у 128-й debugwire. JTAG только. Посмотрите в даташите.

да, посмотрел нету :( . Я почему то подумал что он есть во всех аврках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

debugwire задуман как дешевая замена JTAG-у, он есть в тиньках и самых мелких мегах. И естественно где есть JTAG, там нет debugwire.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...