romez777 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба Приветствую. Поясните plz чайнику, в чем принципиальная разница между аппаратными и программными брейкпоинтами. Например, JTAG поддерживают оба вида. Иногда работает какой-то один. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirYU 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба Приветствую. Поясните plz чайнику, в чем принципиальная разница между аппаратными и программными брейкпоинтами. Например, JTAG поддерживают оба вида. Иногда работает какой-то один. Спасибо. Применительно к какой платформе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 128 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба в чем принципиальная разница между аппаратными и программными брейкпоинтами.Аппаратные - в подсистеме JTAG имеются специальные регистры, в которые записываются условия останова (чтение инструкции с конкретного адреса, обращение к данным по какому-то адресу на чтение|запись и т.д.). При совпадении этого условия проц стопорится и посылается сигнал о падании в точку останова. Программные - на место реальной команды или нескольких команд записывается другая (или набор команд), сигналящая подсистеме JTAG. Попадая в это место проессор стопорится, JTAG получает управление.После прохода этой точки выполнение затертых инструкций эмулируются (тут я не совсем в курсе как именно это происходит, но суть именно такая - программные точки останова физически переписывают участок кода, подменяя команды). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 9 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба в чем принципиальная разница между аппаратными и программными брейкпоинтами.Аппаратные - предусмотрены разработчиком МК схемно, что усложняет и удорожает МК. В конкретном типе МК - могут отсутствовать, или их количество может быть небольшим. Тогда используют программные. Программные срабатывают только при попытке выполнить команду по определённому адресу; аппаратные имеют более широкие условия срабатывания (например, по обращению к определённому адресу или диапазону адресов ОЗУ или, например, порту) - удобно чтобы посмотреть: кто это портит ячейку ОЗУ? - но аппаратных брейкпоинтов в МК может и не быть... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться