реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Помогите По Avr Studio
sluge
сообщение Feb 24 2011, 13:46
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 24-02-11
Пользователь №: 63 221



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

Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 24 2011, 16:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



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


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

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


Сбросить бит I в SREG или остановить таймер (или настроить прерывания пореже).
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Feb 24 2011, 19:30
Сообщение #3


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



а можно не шагать, а расставить точки останова в интересных местах и вместо команды step давать команду run. Тогда проц будет успевать заскочить в прерывание и дальше до брэйкпоинта... ну а как по прерыванию тормознётся - посмотрите интересующие вас переменные и далее до следующего брэйка.... в общем как-то так делается в основном))


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Feb 28 2011, 01:40
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



В каком виде сабж соглашается видеть пожелание "BRPL через_один_шаг_прыгнуть"?

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

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

... ну вот как назвали тему, такой в ней и вопрос. А поиск по слову "через_один_шаг_прыгнуть" запретили.

Сообщение отредактировал нечитатель - Feb 28 2011, 01:58
Go to the top of the page
 
+Quote Post
SysRq
сообщение Feb 28 2011, 04:19
Сообщение #5


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Код
brpl pc+2
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Feb 28 2011, 12:52
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



Цитата(SysRq @ Feb 28 2011, 07:19) *
pc
Пытался что-нибудь типа "$" вместо.
Записал в отдельную бумажку наконец.

---

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

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

А иногда удобно же, когда одно значение в строке?

Сообщение отредактировал нечитатель - Feb 28 2011, 18:31
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Mar 5 2011, 19:06
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



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

Про .db в предыдущем так и не придумал. Срочной необходимости в нём и нет, просто для феншуя.
Когда оверпостинг - плохо.

Сообщение отредактировал нечитатель - Mar 5 2011, 19:07
Go to the top of the page
 
+Quote Post
V_G
сообщение Mar 5 2011, 23:48
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



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

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

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

Тока осторожно. а то иногда попадаются (или вставляются позже) двухсловные инструкции, портящие всю малину.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016