Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Запомнить адрес "зависания" софта


Запомнить адрес "зависания" софта

Сообщений 1 страница 20 из 20

1

Hi
Есть глюк и его охота поймать за хвост.
Что мы имеем на борту AVR ? ... WDT, естественно. Так вот, есть там 2 режима его работы: прерывание + ресет или просто ресет. Меня интересует режим прерывание + ресет.
Так вот собственно и вопрос: каким образом можно "выдернуть" значение счётчика команд PC в прерывании ???
Допустим, мы зависли по адресу 4422h. Вачдог сработал и отправил нас на вектор вачдога.

Останется ли в стёке адрес зависона или нет?
Если не выходить (к примеру) из вектора то и вачдог второй раз не сработает или сработает?
После "сработки" если мы вновь "входим" в вектор 0000h вачдог работает или нет?
Если из "софта" вызвать стандартный bootloader он же не выключает вачдог? Т.е. boot работать не будет.

Кто "бодался" или мне опять самому?

0

2

-NMi- написал(а):

вачдог второй раз не сработает или сработает?

Сам себе отвечаю  :rofl:
Пока!!! WDRF установлен! - WDE не сбрасывается!
Таким образом получаем "ловушку"из reset-ов, пока флаг WDRF не сбросим.
Благо, изначально инициализатор баскома это делает, так шо можно не очковать...
Осталось разобраться с бутлоадером и с вектором WDT  :flag:

0

3

Ух ты, не уж то даташит научился читать? :D МОЛОДЦА!!!

0

4

Прогресс  :D

0

5

Таааак......  А как тестить бутлоадер?
Какой дебаггер "понимает" фьюз bootrst???  Т.е. стартуем не с 0000h вектора.
Ибо если из софта вызвать бутлоадер и если он не уместится в "окно" вачдога - ресет и баста. Из ресета (hard, power on) в бут всё проходит пучком.
... хотя (если не париться) можно тупо дописать сброс WDRF и WDE секвенции в начало загрузчика и всё будет пучком. Наверное пока так и сделаю, если дебаггера не найду подходящего.
Кстати, а на авр тоже-ж есть Debug-Wire вроде... кто юзал? И с чем его юзать? Софт какой???

0

6

-NMi- написал(а):

Кстати, а на авр тоже-ж есть Debug-Wire вроде...

Не во всех МК и с ограничениями. https://ru.wikipedia.org/wiki/DebugWIRE Стоимость отладчика по моему сильно завышена. https://ru.aliexpress.com/wholesale?cat … =debugWIRE

На сайте баскома есть книга "BASCOM-AVR Debugging on MINI-MAX/AVR-C using JTAGICE mkII" в которой написано как отлаживать программы в AvrStudio.

0

7

Пётр написал(а):

как отлаживать программы в AvrStudio

Угу, там просто есть "эмулятор" камня. :)

0

8

В баскоме тоже есть, но в книге идет речь про отладку с помощью JTAGICE mkII.

0

9

Пётр написал(а):

как отлаживать программы в AvrStudio.

Студия вещь классная, да вот только она не поддерживает датчики и прочее.
В протеусе почему-то у меня ничего толком не эмулируется или зависает... хотя в железе всё ОК и даже оставлял работать на 10 суток --- проблем НЭТ!
Так шо нужна платформа для дебаггинга.  :flag:

0

10

Отладка производится аппаратным отладчиком JTAGICE mkII программы в МК, который должен поддерживать JTAG (ATmega16, ATmega32, ATmega64, ATmega128 и т. д.).
Иначе о какой отладке шла речь в 5 сообщении?

Схема отладчика. https://radiokot.ru/circuit/digital/pcmod/21/

0

11

Тогда мне проще его купить, отладчик этот.

Пётр написал(а):

Иначе о какой отладке шла речь

Желательно об аппаратной, шоб прям к макету подцеплять.

0

12

-NMi- написал(а):

Тогда мне проще его купить, отладчик этот.

На али цена около 100$. Точно проще купить?

-NMi- написал(а):

Желательно об аппаратной

Именно об этом уже несколько сообщений пишу. Но баском не поддерживает аппаратную отладку и необходимо использовать AvrStudio.
Ее поддерживают не все МК. Интерфейс JTAG  есть у ATmega16, ATmega32, ATmega64, ATmega128 и других.

0

13

Нее 100 баков в мордоре жалко на отладчик. Ищем альтернативу...

0

14

-NMi- написал(а):

Ищем альтернативу

Тогда сделать этот. https://radiokot.ru/circuit/digital/pcmod/21/

0

15

Парни, я вас вообще не понимаю, всю жизнь жил без всяких там дебагеров (в электронике: светодиод, порт и осцил - это все инструменты), о чем вообще спич? Мне порой кажется, что мы из разных миров. Здесь речь об элементарном этикете программирования и подходу к разработке. Идеология подхода элементарная, пошаговая (прежде чем переходить к следующему этапу, надо быть уверенным, что предыдущая часть корректна).

0

16

Это не повод отказываться от отладчика. Он позволит быстро найти проблему в коде.

0

17

Ну покупай отладчик за тучу денег, потом нам будешь рассказывать, как он тебе помогает. :)

0

18

Давно купил за 100 рублей, правда не для AVR.

RDW написал(а):

потом нам будешь рассказывать, как он тебе помогает.

Рассказываю. Отладка программы
Отладка МК разных производителей по большей части схожа. Как и отладка программ для компа.

0

19

Пётр написал(а):

Рассказываю

RDW написал(а):

покупай отладчик за тучу денег

Не вижу.

0

20

RDW написал(а):

Не вижу.

Что не видите?

Методика отладки независима от того что отлаживается - PIC, AVR, STM32 или программа для компа. И то что написано для STM32 можно применить для AVR.
Выше ссылка на Кота где простая схема отладчика состоящая из USB - USART конвертера и ATmega16. Если ее собрать, получится дешевый отладчик для AVR с JTAG интерфейсом (ATmega16, ATmega32, ATmega64, ATmega128 и т. д.).
Как отлаживать bascom-код в AvrStudio выше написал.

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Запомнить адрес "зависания" софта