Паяем макетку

На сей раз не нет такого удобства с подключением, как в случае 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).
|