Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование ATSAM-контроллеров через JTAG
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Pasha_a13
Добрый день!

Подскажите пожалуйста, имеется ли возможность программирования ATMEL ATSAM-контроллеров через JTAG ?
Я имею ввиду открытость и доступность информации по JTAG-командам. Я не нашел ничего полезного, к сожалению.
Мне необходимо сделать на микроконтроллере программатор, с помощью которого можно было бы шить установленные в изделии контроллеры ATSAM3N и подобные. Эти контроллеры можно прошить через встроенный бутлоадер, однако у меня наружу с изделия выведены только JTAG-и контроллеров.
Программатор должен быть именно автономный, без ПК.

Спасибо!

kovigor
Цитата(Pasha_a13 @ Feb 25 2014, 20:46) *
Программатор должен быть именно автономный, без ПК.

Взять какой-нибудь маленький нетбук, подключить к нему тот же JetLink и программировать. Автономность обеспечивается благодаря наличию в нетбуке аккумулятора ...
aaarrr
Цитата(kovigor @ Feb 25 2014, 21:38) *
Взять какой-нибудь маленький нетбук, подключить к нему тот же JetLink и программировать. Автономность обеспечивается благодаря наличию в нетбуке аккумулятора ...

ИМХО, сложно слишком. На производстве должна быть коробочка с одной кнопкой и двумя лампочками.
kovigor
Цитата(aaarrr @ Feb 25 2014, 21:44) *
ИМХО, сложно слишком. На производстве должна быть коробочка с одной кнопкой и двумя лампочками.

Для производства можно разориться на покупной автономный программатор, а не делать его самому. А для поездок по объектам и командировкам вариант с нетбуком очень даже привлекателен.
Еще вариант - предусмотреть в ПО возможность загрузки и прошивки новых версий по любому из удобных разработчику интерфейсов, например, UART, I2C, USB ...
Pasha_a13
Спасибо за предложенные варианты.
К сожалению такие варианты не подходят. Нужно сделать именно реализацию собственного программатора, т.к. в нем еще будет заложено удаленное обновление прошивки (обновление прошивки изделия, лежащей в памяти программатора).
Память в изделии уже забита под завязку, потому варианты чтобы контроллер изделия обновлял сам себя не подходят.
Forger
Цитата(Pasha_a13 @ Feb 25 2014, 20:46) *
Программатор должен быть именно автономный, без ПК.

Вот этот (он даже на батарейках), этот или его клоны: вот и вот.
Pasha_a13
Цитата(Forger @ Feb 26 2014, 07:16) *
Вот этот (он даже на батарейках), этот или его клоны: вот и вот.

Все это здорово конечно, проблема в том что у меня стоит задача что именно мое устройство должно шить изделия по JTAG (во-первых это устройство должно быть дешевым, чего не скажешь про покупные программаторы, во-вторых будут использовать свои уже имеющиеся протоколы удаленной загрузки прошивки в программатор. Также имеются еще другие нюансы.) и варианты покупного изделия не рассматриваются.
Потому я и прошу подсказать по поводу того есть ли описания атмеловского протокола работы через JTAG.
Golikov A.
JTAG - это стандарт. скорее надо читать его...
а в целом уверен, что ваша зарплата помноженная на врем разработки будет сильно перекрывать стоимость любого фабричного девайса.
Forger
Цитата(Pasha_a13 @ Feb 26 2014, 12:04) *
Все это здорово конечно, проблема в том что у меня стоит задача что именно мое устройство должно шить изделия по JTAG (во-первых это устройство должно быть дешевым, чего не скажешь про покупные программаторы, во-вторых будут использовать свои уже имеющиеся протоколы удаленной загрузки прошивки в программатор. Также имеются еще другие нюансы.) и варианты покупного изделия не рассматриваются.
Потому я и прошу подсказать по поводу того есть ли описания атмеловского протокола работы через JTAG.

Вы, похоже, ни разу не догоняете, во что ввязываетесь: попытка приладить к велосипеду колесо от трактора sm.gif
Во-первых, как я понял, на вашем девайсе вытащен наружу JTAG, за что уже нужно лишать премии ))
Во-вторых, через JTAG шьется прошивка открыто, т.е нешифрованная, поэтому при желании ее оттуда легко выколупать и сделать клон девайса, если дать в руки юзеру некую коробочку с торчащим оттуда JTAG.
Чтобы этого избежать, в девайсе выносится наружу UART, USB, ETH и др. интерфесы, внутри девайса крутится загрузчик с дешифровальщиком.
Юзеру передается зашифрованная прошивка и он уже обновляет пришивку либо через комп либо через вашу дополнит. самодельную коробочку (это для случая наступления 90-х годов прошлого века, когда ноутбук или планшет был тока у богатеев sm.gif).
Pasha_a13
Проблема создания клона девайса не беспокоит в данном случае, т.к. сама железка не автономная, она работает в составе комплекса и толку с нее никакого нет отдельно от всего остального оборудования.
Forger
Цитата(Pasha_a13 @ Feb 26 2014, 14:28) *
Проблема создания клона девайса не беспокоит в данном случае, т.к. сама железка не автономная, она работает в составе комплекса и толку с нее никакого нет отдельно от всего остального оборудования.

В таком случае вам нужно тока это. См. внимательно на цену.
Если и это очень дорого, то мой вам совет: увольняйтесь и ищите другую более адекватную фирму sm.gif

Скачиваете с сайта segger набор софта, устанавливаете.
Запускаете J-Flash, он используется для конфигурирования процесса программирования и создает файл конфига, который вместе с прошивкой заливается внутрь автономного программатора (см. первую ссылку).
В файле конфига можно добавить нужные поля, чтобы расширить возможности просто прошивки: например, хитрая залочка некоторых чипов, которая требует записи некоторых данных в некоторые регистры программируемого проца (с таким я столкнулся для семейства STM32Lxxx).
Pasha_a13
Не могу понять почему все так категорически настоены что нужно использовать готовые дебаггеры.
Меня лично прельщает мысль что кроме прошивки самого девайса я смогу проводить частичное тестирование изделия через JTAG-интерфейс (в этом случае нужно будет более внимательно продумать схему) даже не заливая в изделие прошивку а лишь обращаясь к выводам контролера через JTAG и опрашивая их.
В новых семействах атмеловских армов в документации как-то урезано очень написано по поводу JTAG...в документации на старые семейства получше, но не до конца все равно.
Golikov A.
Потому что надо конкретно ставить ваши цели.

Если цель сэкономить деньги - то нужно готовое устройство потому что это всегда дешевле разработки

Если цель создать свой жетаг ради жетага, то готовое устройство не подойдет

Если цель тестировать устройство шевеля его ногами, то гораздо правильнее и безопаснее делать это не через жетаг, а через доп интерефейс usb, uart, ethernet. Потому что можно организовать доп защиту и не надо перегружать устройство. JTAG дает слишком большую свободу, защиту организовать очень трудно и на лету не подключитесь. Такая же ситуация со сменой прошивки, JTAG не дает вам возможностей проверки, через него зальете что хотите. А бутлоадер дает возможность устройству проверить входной файл на совместимость.

В общем вы просто выпадаете из общей практике выводя наружу устройства слишком опасный инструмент. Пользователи могут спокойно через этот порт заливать программы, которые будут сжигать ваше устройство, и вы ничего никогда не докажете, а если докажете, пользователи не будут брать ваше устройство.
Pasha_a13
Спасибо за ответ!
С приведенными Вами аргументами действительно не поспоришь.
Я согласен что для целей тестирования лучше использовать отдельную программу заливаемую через какой-либо из интерфейсов...она лучше сможет протестировать все остальные узлы в изделии.

Тут есть еще один нюанс, который всплыл позже...к программатору также могут подключаться ( для смены прошивки или первичного программирования) изделия с другим типом контроллера (один из вариантов Microchip PIC32).

Потому и стоит задача использовать jtag, чтобы использовать один интерфейс программирования для разных типов контроллеров, потому как PIC32 не имеет (в отличии от атмела) встроенного бутлоадера, первичное программирование нужно производить программатором либо через ICSP(фактически тот же jtag) либо через JTAG.

Тестируемое-программируемое изделие будет подключаться к программатору через специфический разъем с кучей дополнительных контактов (для тестирования изделия), а прошивка в сам программатор будет заливаться удаленно нашими специалистами, пользователь не будет иметь возможности что-то там изменить.
JTAG в изделии выводиться не напрямую а через специальные коммутаторы и таким образом он фактически защищен снаружи.
alx2
Цитата(Pasha_a13 @ Mar 2 2014, 14:23) *
Я согласен что для целей тестирования лучше использовать отдельную программу заливаемую через какой-либо из интерфейсов...она лучше сможет протестировать все остальные узлы в изделии.

Если она заработает или вообще зальется. Потому что если на плате, например, замыкание проводов на шине данных, выполнять программу она не сможет...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.