Общий рабочий процесс JTAG во встроенной системе разработки?
В моем встроенном проекте я использую интерфейс JTAG для загрузки кода и отладки загруженного приложения. Но я не знаю, что происходит внутри установки JTAG.
Может кто-нибудь, пожалуйста, дайте мне основную идею / представление (представление высокого уровня) о настройке JTAG, которая действительно поможет мне лучше понять мою систему разработки.
__Kanu
2 ответа
Чтобы добавить к ответу Клиффордса, здесь есть несколько картинок:
http://www.fpga4fun.com/JTAG2.html
Конечный контроллер конечного автомата - это то, что вы увидите опубликованным до тошноты. Это действительно ключ к JTAG. Как сказал Клиффорд, вы получаете доступ к регистрам отладки чипов. Конечный автомат контроллера отводов является общим для всех устройств, поддерживаемых JTAG, но адрес, длина и т. Д. Регистров, к которым можно получить доступ через JTAG. И последовательность вещей, которые вы должны прочитать или написать, чтобы сделать что-то полезное, широко варьируется от поставщика к поставщику. Например, в некоторых технических справочных руководствах ARM (для различных ядер) есть глава "Отладка TAP-контроллера" с этим изображением и подробными сведениями о процедуре чтения и записи регистра или памяти, остановки процессора и т. Д.
Применительно к отладке процессора (поскольку JTAG более широко используется в качестве интерфейса тестирования сканирования границы), JTAG является просто средством связи с блоком отладки на кристалле устройства и интерфейсом памяти.
JTAG сама по себе является простой синхронной последовательной шиной данных. Устройства JTAG в "цепочке JTAG" просто синхронизируют данные через сдвиговый регистр до тех пор, пока необходимые данные не войдут в регистр. Количество часов, необходимое для передачи данных в регистр (ы) отладки на кристалле, зависит от длины сдвигового регистра (ов) и длины регистров любых предшествующих устройств в той же цепочке отладки. JTAG работает в цикле, так что выход данных совпадает с входом данных с задержкой, равной общей битовой длине цепочки.