Цитата:
Сообщение от bambarmia
Вы конечно не обижайтесь, но значит вы просто не понимаете суть интерфейса JTAG.
|
Какой бы ни был интерфейс суть его сводится к передаче данных и частично его отключить нельзя (можно только запретить доступ к определенной области памяти этому интерфейсу что в нашем случае и является проблемой), суть JTAG сводится к работе с процессором напрямую минуя стандартные шины данных, так что проблема не в JTAG, а в отсутствии нужной команды, лоадера (называйте как хотите) для открытия нужного доступа.
Цитата:
Сообщение от bambarmia
Чтобы что-то загрузить, как минимум в память адресуемую процессором (32-бит 4ГБ адресное пространство), надо для начала подключиться к ядру процессора через JTAG. Подключение к ядру это значит остановить ядро и получить доступ к его внутренним регистрам. Только после этого можно выполнять какие бы нибыло операции типа чтения или записи памяти (что выполняется принудительной загрузкой инструкций в конвейер ядра в обход обычной схемы). Т.е. чтоб загрузить любой лоадер через JTAG для начала надо выполнить действия предложением выше. И вообще то что касатеся лоадеров в JTAG смысле - как их не назови, лоадер или dcc loader или флешер или еще как - все это обычный скомпилированный ARM код который загружается в память процессора (после того как он был введен в режим отладки) и потом запускается на исполнение - все это возможно когда отладка не заблокирована в чипе (DGBEN сигнал).
"Блокирование JTAG" т.е. пережигание соотв. перемычки в MSM чипах вовсе не означает что после этого JTAG интерфейс вообще отвалится (не говоря уже об ICEPICK в OMAP3xxx процессорах).
Все ядра АРМ имеют внутренний сигнал DBGEN (что подробно описано во всех спецификациях ARM) - если этот сигнал установить в "0" - отладка ядра (а именно его остановка, доступ к его регистрам и конвейеру) станет невозможной. Именно этот сигнал и обрубается в MSM после пережигания перемычки.
Но только не следует путать "отключить отладку" и "отключить TAP контроллер".
Пережигание перемычек защиты например в микроконтроллерах Atmel SAM семейства именно отключает TAP - и в этом случае JTAG действительно перестает быть виден вообще. Но квалком пошел другим путем - они просто дают возможность заблокировать доступ к отладке, при этом TAP остается виден.
Тоже самое я уверен касается и OMAP процессоров.
|
Не обижайтесь, но явно пере читались сервисных мануалов, но сути так и не уловили, хотя что бы понять суть надо читать мануалы другого уровня которые предоставляют разработчикам программного обеспечения, а не сервисные мануалы предназначенные для общего развития.