Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите По Avr Studio
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
sluge
недавно начал с ней работать...
работаю с проктом на с
подскажите-как посмотреть в ней стек вызовов функций.
и еще-постоянно вызывется обработчик прерывания от таймера, при каждом шаге при пошаговой отладке. как его временно отрубить?

_Артём_
Цитата
подскажите-как посмотреть в ней стек вызовов функций.


Никак.
Можно посмотреть состояние SP, X, Y и Z.

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


Сбросить бит I в SREG или остановить таймер (или настроить прерывания пореже).
sigmaN
а можно не шагать, а расставить точки останова в интересных местах и вместо команды step давать команду run. Тогда проц будет успевать заскочить в прерывание и дальше до брэйкпоинта... ну а как по прерыванию тормознётся - посмотрите интересующие вас переменные и далее до следующего брэйка.... в общем как-то так делается в основном))
нечитатель
В каком виде сабж соглашается видеть пожелание "BRPL через_один_шаг_прыгнуть"?

Код
dec    Temp1
brpl    notzero_117; ну лень печатать очередное "AEtoMoePonyatnoeNazvanieMetki_117"
ldi    Temp1, 32
notzero_117:

По идее notzero_117 суть есть число (причём в опкоде и хранящееся как "на плюс-минус сколько шагов отсюда прыгнуть") - а как его записать-то относительно места, в котором находимся, не создавая именованную метку для? О любом из пришедших в голову вариантов от умной машины имел я разъяснение "relative branch out of reach".

... ну вот как назвали тему, такой в ней и вопрос. А поиск по слову "через_один_шаг_прыгнуть" запретили.
SysRq
Код
brpl pc+2
нечитатель
Цитата(SysRq @ Feb 28 2011, 07:19) *
pc
Пытался что-нибудь типа "$" вместо.
Записал в отдельную бумажку наконец.

---

Ещё придумал:
Код
.db    значение1, значение2   ; правильно, в одну инструкцию помещается 2х8 бит

.db    значение1              ; это одна инструкция: значение1 + восемь нулей (padding zero byte)
.db    значение2              ; а это уже другая инструкция: значение2 + восемь нулей (padding zero byte)

А иногда удобно же, когда одно значение в строке?
нечитатель
Код
    lds    Temp1, Counter
    cpi    Temp1, Counter_OffValue
    breq    pc + 3  ; краткость - сестра, но внимательнее с калькулятором!!! называется "AVR Instruction Set", номер 0856
    inc    Temp1
    sts    Counter, Temp1
сюда пытались прыгнуть:

Про .db в предыдущем так и не придумал. Срочной необходимости в нём и нет, просто для феншуя.
Когда оверпостинг - плохо.
V_G
Цитата(sluge @ Feb 24 2011, 23:46) *
и еще-постоянно вызывется обработчик прерывания от таймера, при каждом шаге при пошаговой отладке. как его временно отрубить?

Помимо перечисленных рецептов, можно посоветовать:
1. На время пошаговой отладки записать ручками либо больший предделитель в таймере, либо больший коэффициент пересчета (если это не влияет на работу отлаживаемого участка)
2. При заходе в прерывание тут же нажимать кнопочку "Step out"

Цитата(SysRq @ Feb 28 2011, 14:19) *
Код
brpl pc+2

Тока осторожно. а то иногда попадаются (или вставляются позже) двухсловные инструкции, портящие всю малину.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.