Главная arrow Программирование arrow AVR arrow Как отлаживать программу на C для ATmega16 с использованием AVR JTAGICE mkII Monday, September 25 2023  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

Как отлаживать программу на C для ATmega16 с использованием AVR JTAGICE mkII Версия для печати
Написал microsin   
05.04.2007

Паяем макетку
maket-ATmega16.GIF

На сей раз не нет такого удобства с подключением, как в случае ATtiny24 и ATtiny45. Пришлось поставить 2 коннектора - один U1 для программирования (ISP), а другой U4 для отладки (JTAG). Это, конечно, загромождает плату, и неприятно, что тратятся лишние ножки процессора - их, конечно, все-таки можно использовать, но для этого нужно напрягаться и правильно спроектировать схему.
Эта макетка работает как с AVR Studio 4, так и с IAR Embedded Workbench AVR V4, нужно просто выбрать тип процессора ATmega16. В режиме отладки подключаем AVR JTAGICE mkII через коннектор U4, а при программировании памяти и fuses - через U1 (с использованием переходничка 10 -> 6 pin, который идет в комплекте с AVR JTAGICE mkII). В остальном работа с макеткой не отличается от отладки ATtiny24 и ATtiny45 (см. советы Как отлаживать программу на C для ATtiny24 с использованием AVR JTAGICE mkII и Как отлаживать программу на C в IAR AVR Embedded Workbench 4.0).


[Решение проблем]

Не работает отладка по debugWire в IAR EWB AVR. Это у меня случилось с чипом AT90USB162. Симптомы:
1. JTAGICE mkII нормально работает, чип AT90USB162 по ISP виден и прошивается.
2. В AVR Studio отладка по debugWire с тем же чипом работает нормально.
3. При попытке запуске отладки в IAR выводятся следующие сообщения:
- "No contact with device when using debugWire. The DWEN fuse must be enabled to use debugWire. Do you want to program this fuse from JTAGICE mkII ? (All SPI lines must be connected before you click YES) Click NO to just retry making contact. (You might need to power the device off and on before clicking NO) Yes No Cancel" Кликаю Yes - типа давай разрешим debugWire. Выводится окно:
- "Programming the DWEN fuse completed. Now switch power off/on on the target device before continuing". Делаю что говорят, выключаю/включаю питание у чипа AT90USB162, и снова выводится первое сообщение ""No contact ...". Если жму там "No", то выводится следующее:
- "The debugging session could not be started. Either the debugger initialization failed, or else the file "C:\asm\if-receiver\Debug\Exe\if-rec.dbg" was corrupt or of an unsupported format. There might be more information in the Debug Log window".

Причина в неправильно установленном формате выходного файла для отладки. Решение проблемы: Project -> Options... -> Linker -> закладка Output -> переключить Format на "Debug information for C-SPY", поставить галочки "With runtime control modules" и "With I/O emulation modules". У меня ранее ошибочно стоял выбор формата Other ubrof 8 (forced).

Последнее обновление ( 28.11.2009 )
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2023