Перейти к содержанию
    

hardware и software точки останова

Приветствую.

 

Поясните plz чайнику, в чем принципиальная разница между аппаратными и программными брейкпоинтами. Например, JTAG поддерживают оба вида. Иногда работает какой-то один.

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую.

 

Поясните plz чайнику, в чем принципиальная разница между аппаратными и программными брейкпоинтами. Например, JTAG поддерживают оба вида. Иногда работает какой-то один.

 

Спасибо.

Применительно к какой платформе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в чем принципиальная разница между аппаратными и программными брейкпоинтами.
Аппаратные - в подсистеме JTAG имеются специальные регистры, в которые записываются условия останова (чтение инструкции с конкретного адреса, обращение к данным по какому-то адресу на чтение|запись и т.д.). При совпадении этого условия проц стопорится и посылается сигнал о падании в точку останова. Программные - на место реальной команды или нескольких команд записывается другая (или набор команд), сигналящая подсистеме JTAG. Попадая в это место проессор стопорится, JTAG получает управление.После прохода этой точки выполнение затертых инструкций эмулируются (тут я не совсем в курсе как именно это происходит, но суть именно такая - программные точки останова физически переписывают участок кода, подменяя команды).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...