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

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

Поделиться:

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

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

   Питание (VCC на схеме) должно быть +3.3..+5 вольт.
   Эта макетка позволяет не только отлаживать программу через debugWIRE (нужны провода с контактов разъема U1 - 2, 5, 6), но и использовать режим ISP (добавляются провода 1, 3, 4). Можно спокойно использовать порты PA4..PA6 как выходы в отлаживаемом устройстве (я, например, нагрузил на них светодиоды) - это никак не влияет на работоспособность ISP.
На верхней крышке JTAGICE mkII есть 3 светодиода, пронумеруем их, чтобы далее было проще ссылаться на них в тексте.
     1. GREEN, горит, когда на отладочной плате есть напряжение + 5в, поданное от внешнего источника (напряжение между выводами 2 и 6 6-штырькового коннектора JTAGICE mkII). Внимание! Использование внешнего напряжения очень важно, и должна быть удобная возможность его отключать - это единственный способ корректного перехода из режима ISP в режим debugWIRE!
     2. RED, горит, когда на JTAGICE mkII подано напряжение питания.
     3. RED/GREEN/YELLOW - трехцветный светодиод, индицирующий режим работы JTAGICE mkII.
- Горит красным, если только что подано питание.
- Гаснет, когда отладка остановлена (по точке останова, или сразу после входа в режим отладки).
- Мигает зеленым, когда запущена программа на постоянное выполнение.
- Подмигивает желтым при выходе из режима отладки и иногда в других случаях.

   Внутри JTAGICE mkII есть еще один зеленый светодиод (четвертый, пусть будет номер 4), он виден через полупрозрачный корпус JTAGICE mkII. Показывает горением и миганием активность на шине USB, если через неё подключен JTAGICE mkII.

2. Подключаем коннектор к отладочному разъему JTAGICE mkII через 6-штырьковый переходник, подключаем питание +5В к макетке, подключаем JTAGICE mkII кабелем USB к компьютеру. Если использовать кабель RS232 для подключения JTAGICE mkII к компьютеру, тогда придется подавать питание 9..12В еще и на JTAGICE mkII (полярность не имеет значения, внутри JTAGICE mkII стоит диодный мост). О подключенном питании +5В на макетке в эмуляторе JTAGICE mkII сигнализирует горение зеленого светодиода GREEN на верхней крышке. Два красных рядом с ним будут гореть.

3. Запускаем CodeVisionAVR V1.25.2 Beta 1. Меню File\New\Project, подтверждаем использование CodeWizardAVR, выбираем чип ATtiny24, тактовую частоту 8.000000 MHz, Crystal Oscillator Divider: 1, остальное можно оставить без изменения, или выбрать дополнительные опции для настройки портов и ресурсов ATtiny24.

4. В менюшке File у CodeWizardAVR выбираем Generate, Save and Exit. Создаем папку для проекта, в этой папке сохраняем файлы file1.c (основной код программы - там расположена функция main с бесконечным циклом), file2.prj (файл проекта) и file3.cwp (CodeWizardAVR project files).

5. Добавляем свои переменные и свой код - инициализация перед бесконечным циклом while(1) и код программы внутри цикла while(1).

6. Делаем Project\Make. В папке проекта появится файл file1.cof.

7. Идем в меню Settings\Debugger. Прописываем полный путь к exe-файлу AVR Studio 4 (у меня это было C:\Program Files\Atmel AVR Tools\AvrStudio4\AVRStudio.exe) и из выпадающего списка выбираем Atmel AVR Studio 4. Жмем OK, не обращаем внимания на предупреждение
CodeVisionAVR will produce an extended COFF object file.
Please make sure to use AVR Studio 4.06 or later.
Earlier versions of AVR Studio 4 do not support the
extended COFF object file format and will not work
properly.
   поскольку у нас само собой AVR Studio Version 4.12, Service Pack 4, Build 498 (или более новая).

8. Появится стартовое окошко Welcome to AVR Studio 4. Жмем кнопу Open, выбираем файл file1.cof в папке нашего проекта. AVR Studio предложит сохранить файл проекта file1_cof.aps, соглашаемся и сохраняем его в той же папке.

9. Появится окно Select debug platform and device, выбираем JTAGICE mkII, Device выбираем ATtiny24, Port выбираем USB. Жмем кнопу Finish.

10. Помигает зеленый светодиод внутри, а на верхней крышке красный крайний светодиод потухнет (останется на верхней крышке гореть зеленый светодиод и центральный красный). Появится окно проекта и исходный текст, по которому можно отлаживать программу - выполнять по шагам, ставить точки останова, просматривать переменные и регистры. Потом можно запускать сессию отладки, запуская файл file1_cof.aps.

11. Опишу методику, как включать режим debugWIRE. Напомню, что режим debugWIRE разрешается программированием fuse DWEN. Чтобы технология debugWIRE заработала, нужно запрограммировать debugWIRE Enable fuse DWEN (DWEN=0). С завода ATtiny24 поставляется с незапрограммированной DWEN (DWEN=1), и при этом debugWIRE запрещена.
   Таким образом, включена отладка или нет, запоминается в самой микросхеме.
- запускаем *.aps файл, или другим способом открываем сессию отладки в AVR Studio 4.
- если debugWIRE запрещена, появляется окошко
Unable to connect to device. This could be caused by reset line
circuitry or disabled debugWIRE interface. Make sure that the
reset line is free before continuing.
   В этом окне нужно выбрать "Use SPI to enable debugWIRE interface"
- помигают светодиодики на JTAGICE mkII, и появится окно
The debugWIRE interface is now enabled. Please
cycle target power to continue debugging. You may
now disconnect the additional SPI lines.
  Отключаем питание с макетки. на JTAGICE mkII гаснет зеленый светодиод на верхней панели. В окошке Message появляется сообщение "JTAGICE mkII: Target power lost.". Снова подаем питание на макетку. на JTAGICE mkII загорается зеленый светодиод на верхней панели. В окошке Message появляется сообщение
"JTAGICE mkII: Target power has been restored.".
  Жмем OK.
- Открываются отладочные окна, система готова к отладке.

12. Напоследок опишу методику, как переключаться из режима debugWIRE в режим ISP (чтобы, например, стереть микроконтроллер или установить биты защиты памяти). это переключение очень неочевидно, поскольку связано с восстановлением fuse DWEN в исходное состояние (DWEN=1).
- нажимаем Alt+O или заходим в меню Debug\JTAGICE mkII Options (это меню доступно только тогда, когда активна сессия отладки Debug\Start Debugging).
- на закладке Connection жмем кнопку Disable debugWIRE. В ответ вылезет окно
To disable the debugWIRE fuse, the SPI lines must be connected
according to "Connecting to Target through the debugWIRE
Interface" in the JTAGICE mkII online help.
Would you like to disable debugWIRE and close the project?
   Отвечаем Yes.
- pаскроются все окна отладки. Теперь можно программировать устройство через меню Tools\Program AVR\Auto Connect, доступны все программируемые ресурсы микроконтроллера, вплоть до его полного стирания.

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

Комментарии  

  1. #2 Алексей
    2010-09-0200:13:50 Нет, слоны не поддерживают DebugWire, только JTAG.
    Ищу схему отладчика по DebugWire (для AtTiny/Atmel)..
  2. #1 Алексей
    2010-08-3001:24:41 Если отсутствует JTAGICE mkII то существует ли ли какая схема или возможность использовать отладку DebugWire с JTAG-ICE Clone?

    microsin: я ни разу не имел дело с клонами JTAGICE mkII или JTAG-ICE, хотя много в Интернете про них читал. Если эти клоны поддерживают протокол DebugWire, то все должно работать.

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

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

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

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

Top of Page
 
microsin © 2017