Personal tools
You are here: Home articles Отладка AVR под Линух. Отладка AVR под Линух.
Document Actions

Отладка AVR под Линух.

by dimon last modified 2007-05-07 06:52

Краткое описание как отлаживать проги написание для Atmel AVR 8-bit RISC CPU под Линух.

Для программной эмуляции AVR процессора запускаем его симулятор:

simulavr -g -p 4242 -d atmega128

в ключе -d указываем модель процессора. Симулятор поддерживает не все текущие модели, если модели в списке нет можно попробовать поставить at90s8515.

Для отладки в графической оболочки используем ddd плюс специальную версию gdb -> avr-gdb. После запуска симулятора запускаем отладчик:

ddd --debugger avr-gdb project.elf
Подключаемся к симулятору:

target remote 127.0.0.1:4242

Загружаем в симулятор отлаживаемую программу:

load
Устанавливаем точку останова на функции main:
break main
Breakpoint 1 at 0x5a: file main.c, line 16.
Запускаем на исполнение:

continue
Continuing.
Breakpoint 1, main () at main.c:16

В окне интерфейса с исходным текстом программы должен появится указатель текущего положения отладки в виде зеленой стрелки. Теперь можно отлаживать.


Для отлаживания МК в системе используется JTAG или DebugWire интерфейсы. Для отладки платы с МК ATmega128 через JTAG используем avarice, avr-gdb, ddd как фронтэнд к gdb.


Запускаем avarice он связывает gdb с аппаратной платформой через которую происходит отладка. Если надо обновить прошивку в отлаживаемом девайсе, запускаем avarice так:
 avarice --mkII -e -f project.hex -j usb -P atmega128 -p :4242
Если прошивку обновлять нет необходимости запускаем так:
avarice --mkII -j usb -P atmega128 :4242

Запускаем ddd + avr-gdb:
ddd --debugger avr-gdb project.elf

Подключаемся к удаленной системе:

target remote 127.0.0.1:4242


Ставим точку останова на начало программы:

break main
continue

После запуска, отладка остановится на самой первой строке и все можно не спеша спокойно отладить. Система может отлаживать обычный код и код в прерываниях.


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: