Что то типа путевых записок, и размышлений об жизни, ну и о FreeBSD конечно, иногда какие нибудь новости и что то типа переводов.

27.06.2009

Загадочное слово Jtag

Собственно на идею написания поста натолкнула дискуссия, и доклад с последней линуксовки.
Если вы не только слышали слова микропроцессор, микроконтроллер, и другие СБИС, но и более менее представляете, как это работает, то вероятно вы не раз натыкались на такую аббревиатуру как Jtag, обычно этот протокол, передается через такой невзрачный разъемчик типа до предела упрошенного 4х-9ти контактного.

Например он может выглядеть примерно вот так, пример взят с сайта avrfreaks.net, хотя зачастую, отсутствует подпись, да и сами штырьки на плате, не распаяны, а существует только разводка.
Итак, казалось бы несколько невзрачных штырьков, или даже отверстий на плате, и какое нам до них дело. Ну если вы обычный пользователь, то абсолютно никакого, в сущности именно из за их полной бесполезности, на готовом девайсе, их обычно и не маркируют даже. Но вот если в вас завелся пылкий ум и желание его приложить и сотворить что нибудь неестественное, с каким то девайсом, и уж тем более какой то девайс разработать. То конечно же, сей интерфейс, пожалуй, стоит изучить и освоить, так как он дает практически безграничные возможности, вот не жали бы еще производители спецификации, и было бы вообще все замечательно.
Кому интересна сухая теория, тот может посетить статью Jtag в англоязычной википедии, статья довольно таки сухо повествует о сути явления, и главное содержит кучу разной полезности ссылок, так же есть русскоязычный аналог, наша статья сверх лаконична, но содержит симпатичную картинку :)
А я тут раскажу коротенько что запомнил со слов ораторов, ну может чего и привру по ходу.
Все началось в страшные годы когда чипы стали большими, а проверять их все одно, на выходе с конвейера, как то надо было. И вот для этого использовали специальные тесты, и контрольные площадки, на самом контроллере, ну и с усложнением конструкции их становилось все больше, ну и вообще как встарь нашли более простое решение, объединить их специальной шиной и по специальному протоколу опрашивать через несколько ножек. Вот собственно вкратце и вся предпосылка, к появлению, сего стандарта. Но до конца договорится так и не смогли и теперь мы имеем помимо стандарта IEEE 1149.1, принятого в 1990 году, кучу его реализаций, и дополнений, как говорят порой даже сложно совместимых в пределах одного семейства микроконтроллеров :( Так же имеется несильно открытая спецификация, и в основном проприетарные устройства и особенно софт для работы с ними, хотя в коллекции портов содержится по крайней мере два порта, на эту тему jtag и urjtag, так что поэкспериментировать можно и пользуясь свободным софтом ;)
Ну вот в принципе и все, надеюсь это кого то заинтересует, мне так жутко интересно, и может поборю лень и поэкспериментирую на эту тему, хотя тут нужна подготовка.
Да чуть не забыл о главном, фишка сего протокола - интерфейса, что он позволяет долезть до самых потрохов чипа, оснащенного им, вплоть до того что контроллер можно остановить, и управлять устройством через этот интерфейс эмулируя контроллер, или заливать данные напрямую в микросхемы памяти, или отлаживать по шагам код "на железе", в общем безграничные перспективы, препятствием может послужить только неполнота документации.

Вся эта чепуха вытекла из обсуждения девайса, который имеет сей интерфейс, производится русскоязычными разработчиками, имеет удобный форм фактор, практически заточен под линукс (судя по спецификации должен потянуть и FreeBSD) ну и вроде не заоблачных денег стоит.

2 комментария:

  1. Да, прикольный интерфейс! :)

    >интурфейс
    опечатка

    ОтветитьУдалить
  2. Мне тоже понравилось, я до этого, о нем тоже сильно вскользь слышал.

    Да зараза очепятка :)
    И ведь спелчекером вроде гоняю, и иногда все равно проскакивает.

    ОтветитьУдалить

Здесь можно записать свои мысли о посте :)
Если ваш ответ не появился сразу, не паникуйте, тут работает спамоловка, и вероятно вы угодили в неё, так как были анонимом или в вашем посте ссылка, ну или вас не любит google.
Я проснусь и одобрю комент ;)