Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: остановка отладки (break debug)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
buletz
можно ли сделать так, чтобы при отладке если производится остановка (break debug) то программа перед остановкой выполняла бы опред. процедуру (набор команд) ?
как это сделать ?
DASM
Мне такое неизвестно
buletz
ну или сделать так, чтобы прога после нажатия break debug останавливалась дойдя до определенного места программы
в IAR нет таких возможностей ? Не знаете ?
DASM
нет такого ни в ИАР ни в Кейле
scifi
Цитата(asdjkasdjkalsdjkl @ Apr 8 2007, 16:21) *
ну или сделать так, чтобы прога после нажатия break debug останавливалась дойдя до определенного места программы
в IAR нет таких возможностей ? Не знаете ?

Можно сделать так: прицепить кнопку к одному из неиспользуемых входов микроконтроллера (назовём его BRK) и для постановки точки останова написать такой код:
Код
if ( BRK == 0 )
{
    __no_operation();
}

Теперь можно поставить точку останова на строчке __no_operation(), и при нажатии на кнопку программа остановится на этой строчке.
Tahoe
Цитата(asdjkasdjkalsdjkl @ Apr 8 2007, 16:21) *
ну или сделать так, чтобы прога после нажатия break debug останавливалась дойдя до определенного места программы
в IAR нет таких возможностей ? Не знаете ?

Может я чего не понял в вопросе, но собсно breakpoint для этого и придумана. Именно что бы "прога ... останавливалась дойдя до определенного места программы" (с). smile.gif
AlexandrY
Можно, но только на определенных процах.

Например это возможно в STR91x.
В ядре ARM966E-S можно включить такой режим - Monitor mode debug
В этом режиме на точке останова прога не останавливается, а вызывает прерывание Prefetch или Data Abort. Тут и можете делать че хотите, потом сменить режим отладки и мертво встать на следующей точке останова или не вставать, а использовать DCC и т.д.
buletz
4Tahoe: breakpoint это несколько другое. На breakpoint отладчик останавливается в любом случае, как только доходит до такой строчки. А мне нужно чтоб отладчик останавливался на такой строчке только если я нажал "break debug" . Чувствуете разницу ?

Повесить кнопку - в принципе это тож мысль, но довольно извращенное решение.
scifi
Цитата(asdjkasdjkalsdjkl @ Apr 9 2007, 10:21) *
Повесить кнопку - в принципе это тож мысль, но довольно извращенное решение.

На безрыбье и рак рыба. При отладке все средства хороши.
AlexandrY
Это сомнительное средство.
Цель точек останова в минимизации воздействия на программу.
Постоянная же вставка лишних отладочных кусков принуждает к постоянной перекомпиляции программы, и ранее обнаруженные баги будут с большой вероятностью постоянно изменять свое поведение.
Тут видимо непреднамеренная подмена понятий отладочного монитора и точек останова.

Цитата(scifi @ Apr 9 2007, 10:10) *
На безрыбье и рак рыба. При отладке все средства хороши.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.