Программирование AVR AVR JTAGICE mkII: отладка программы ATmega16 на C Thu, March 28 2024  

Поделиться

Нашли опечатку?

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

AVR JTAGICE mkII: отладка программы ATmega16 на C Печать
Добавил(а) microsin   

Описание процедуры отладки программы C для ATmega16.

Спаяйте макетную плату:

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 (см. [2, 3]).

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

1. Не работает отладка по debugWire в IAR EWB AVR. Это у меня случилось с чипом AT90USB162. Симптомы:

- JTAGICE mkII нормально работает, чип AT90USB162 по ISP виден и прошивается.

- В AVR Studio отладка по debugWire с тем же чипом работает нормально.

- При попытке запуске отладки в 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).

2. Отладка не запускается с ошибкой регистрации SComm.dll, DebuggerProxy.dll.

Проблема возникла, после того как удалил AVR Studio версии 4.18 и установил версию 4.19. Отладка перестала запускаться, AVR Studio начала выдавать ошибки:

The following files did not self-register or unregister:
1. C:\Program Files\Atmel\AVR Tools\usb\SComm.dll
He нaйдeн yкaзaнный модуль.
To continue, click OK; otherwise, click Cancel.

The following files did not self-register or unregister:
1. C:\Program Files\Atmel\AVR Studio 5.0\AVR Qtouch Studio\DebuggerProxy.dll
Heдoпycтимoe для peecтpa знaчeниe
To continue, click OK; otherwise, click Cancel.

Проблема решается путем полного удаления всех компонентов AVR Studio (включая AVR Jungo USB) и повторной установкой AVR Studio при отключенном JTAGICE mkII.

[Ссылки]

1AVR Studio 4.13, 4.14, 4.19, 5.0 и не только.
2AVR JTAGICE mkII: отладка программы ATtiny24, ATtiny45 на C.
3. AVR JTAGICE mkII: отладка программы на C в IAR AVR Embedded Workbench 4.0

 

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


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

Top of Page