Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 04 июн 2024, 00:27

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Отладка в AlgorithmBuilder
СообщениеДобавлено: 30 авг 2012, 11:26 
Не в сети
Аватара пользователя

Зарегистрирован: 09 сен 2011, 06:43
Сообщения: 294
Всем привет.. хотелось бы поподробнее узнать про процесс отладки с кристалла в AlgorithmBuilder.
Я просто стал разбирается более подробнее с AВ и не понял как работает отладка :( у меня спаян СОМ программатор с мануала
При нажатии на кнопку "Запуск с монитором кристалла" прошиваю кристалл и все весит.. "Waiting for breakpoint"... по надписи понятно что ждем прерывание, но вот какое прерывание мы ждем я так и не понял...лазил в настройках проекта выставлял там все возможные пины так и не запускается..... пните меня в нужную сторону :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Отладка в AlgorithmBuilder
СообщениеДобавлено: 30 авг 2012, 20:52 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
Во встроенном хелпе все неплохо описано. Но если хотите от меня , то пожалуйста (частями копипастил с хелпа):

Отладка алгоритма на кристалле (мониторная отладка)
При мониторной отладке, компилятор добавляет к программе небольшой (160 слов) скрытый фрагмент, обеспечивающий передачу всего внутреннего состояния микроконтроллера в компьютер для последующего отображения в соответствующих окнах. При этом, состояние любого регистра, ячейки памяти SRAM или EEPROM может быть модифицировано. Последнее очень помогает в разработке, так как можно работать с обособленным блоком программы просто задавая ему нужные входные данные через отладчик.
Для соединения микроконтроллера с компьютером используется только один вывод, определяемый пользователем. Дополнительно может быть использована цепь сброса (RESET) для перезапуска микроконтроллера.
Схема адаптера для мониторной отладки: Безимени-1.jpg
Безимени-1.jpg [ 14.42 КБ | Просмотров: 6097 ]
Если у Вас собран COM программатор, то отдельно собирать отладочный шнур не нужно, отладка будет работать через него (через линию, что идет на ногу MOSI). Более того, если в установках отладчика выбрать именно ногу MOSI в качестве линии отладки, то Вы получаете программирование и отладку одним кликом без отключения программатора от микроконтроллера - здорово экономит время.

Теперь подробнее как настроить отладку.
Для обеспечения работы мониторной отладки необходимо обеспечить следующее:
1. Определить используемый вывод микроконтроллера. Для этого необходимо раскрыть окно опций проекта (“Options/Project Options...”) на закладке “Monitor chip”: sshot-2.png
sshot-2.png [ 6.45 КБ | Просмотров: 6097 ]
Если нажать кнопку "Programmer Pin", то автоматически выберется вывод MOSI и Вы сможете вести отладку не дергая шнурок.
2. Точно указать тактовую частоту микроконтроллера: sshot-1.png
sshot-1.png [ 5.9 КБ | Просмотров: 6097 ]
Это очень важно, так как передача ведется асинхронно и неточность в частоте сделает невозможным работу отладки.
3. Расставить в нужных местах программы точки останова (F5). К моменту первой точки останова стек должен быть уже определен. sshot-3.png
sshot-3.png [ 9.34 КБ | Просмотров: 6097 ]

4. Запускаем кнопочку "запуск с монитором кристалла" программа откомпилируется и запишется в кристалл, далее она автоматически запустится и отладчик остановится в первой точке останова. Далее можно посмотреть/подкорректировать, то что нужно и продолжить выполнение программы кнопкой "исполнение до точки останова" sshot-4.png
sshot-4.png [ 19.24 КБ | Просмотров: 6097 ]
Как видно из рисунка отладчик довольно продвинутый и позволяет делать с микроконтроллером почти все.

При отладке важно учитывать следующее:
1. Подпрограмма монитора увеличивает размер создаваемой программы на 136 слов + 1 или 2 слова на каждую точку останова (один вызов подпрограммы).
2. Монитор требует 11 байт свободного стекового пространства.
3. При попадании в точку останова исполнение программы полностью останавливается и отключается глобальное прерывание (по выходу - восстанавливается).
4. Мониторная отладка невозможна для кристаллов не содержащих SRAM.
5. Используемый вывод не должен быть занят альтернативным выходным сигналом.
6. Программа, содержащая монитор непригодна для нормального использования, поэтому по завершении отладки, микроконтроллер необходимо запрограммировать обычным образом.

От себя добавлю, очень желательно иметь в устройстве кварц в качестве задающего генератора. Если микроконтроллер работает от внутреннего задающего генератора, то возможны сбои в работе отладчика (хотя случаются редко).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Отладка в AlgorithmBuilder
СообщениеДобавлено: 31 авг 2012, 05:05 
Не в сети
Аватара пользователя

Зарегистрирован: 09 сен 2011, 06:43
Сообщения: 294
спасибо большое за подробное описание. я вроде все так и делал как описано в хелпе. вся моя проблема и скрывалась во внутреннем задающем генераторе.... вот у меня и случился тот самый редкий случай... отладку вел на AT13 занизил частоту и все запело как надо :) еще раз спасибо...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB