Перейти к содержанию
    

Программирование ATSAM-контроллеров через JTAG

Добрый день!

 

Подскажите пожалуйста, имеется ли возможность программирования ATMEL ATSAM-контроллеров через JTAG ?

Я имею ввиду открытость и доступность информации по JTAG-командам. Я не нашел ничего полезного, к сожалению.

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

Программатор должен быть именно автономный, без ПК.

 

Спасибо!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Программатор должен быть именно автономный, без ПК.

Взять какой-нибудь маленький нетбук, подключить к нему тот же JetLink и программировать. Автономность обеспечивается благодаря наличию в нетбуке аккумулятора ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Взять какой-нибудь маленький нетбук, подключить к нему тот же JetLink и программировать. Автономность обеспечивается благодаря наличию в нетбуке аккумулятора ...

ИМХО, сложно слишком. На производстве должна быть коробочка с одной кнопкой и двумя лампочками.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО, сложно слишком. На производстве должна быть коробочка с одной кнопкой и двумя лампочками.

Для производства можно разориться на покупной автономный программатор, а не делать его самому. А для поездок по объектам и командировкам вариант с нетбуком очень даже привлекателен.

Еще вариант - предусмотреть в ПО возможность загрузки и прошивки новых версий по любому из удобных разработчику интерфейсов, например, UART, I2C, USB ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за предложенные варианты.

К сожалению такие варианты не подходят. Нужно сделать именно реализацию собственного программатора, т.к. в нем еще будет заложено удаленное обновление прошивки (обновление прошивки изделия, лежащей в памяти программатора).

Память в изделии уже забита под завязку, потому варианты чтобы контроллер изделия обновлял сам себя не подходят.

Изменено пользователем Pasha_a13

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Программатор должен быть именно автономный, без ПК.

Вот этот (он даже на батарейках), этот или его клоны: вот и вот.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот этот (он даже на батарейках), этот или его клоны: вот и вот.

Все это здорово конечно, проблема в том что у меня стоит задача что именно мое устройство должно шить изделия по JTAG (во-первых это устройство должно быть дешевым, чего не скажешь про покупные программаторы, во-вторых будут использовать свои уже имеющиеся протоколы удаленной загрузки прошивки в программатор. Также имеются еще другие нюансы.) и варианты покупного изделия не рассматриваются.

Потому я и прошу подсказать по поводу того есть ли описания атмеловского протокола работы через JTAG.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

JTAG - это стандарт. скорее надо читать его...

а в целом уверен, что ваша зарплата помноженная на врем разработки будет сильно перекрывать стоимость любого фабричного девайса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все это здорово конечно, проблема в том что у меня стоит задача что именно мое устройство должно шить изделия по JTAG (во-первых это устройство должно быть дешевым, чего не скажешь про покупные программаторы, во-вторых будут использовать свои уже имеющиеся протоколы удаленной загрузки прошивки в программатор. Также имеются еще другие нюансы.) и варианты покупного изделия не рассматриваются.

Потому я и прошу подсказать по поводу того есть ли описания атмеловского протокола работы через JTAG.

Вы, похоже, ни разу не догоняете, во что ввязываетесь: попытка приладить к велосипеду колесо от трактора :)

Во-первых, как я понял, на вашем девайсе вытащен наружу JTAG, за что уже нужно лишать премии ))

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

Чтобы этого избежать, в девайсе выносится наружу UART, USB, ETH и др. интерфесы, внутри девайса крутится загрузчик с дешифровальщиком.

Юзеру передается зашифрованная прошивка и он уже обновляет пришивку либо через комп либо через вашу дополнит. самодельную коробочку (это для случая наступления 90-х годов прошлого века, когда ноутбук или планшет был тока у богатеев :)).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема создания клона девайса не беспокоит в данном случае, т.к. сама железка не автономная, она работает в составе комплекса и толку с нее никакого нет отдельно от всего остального оборудования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема создания клона девайса не беспокоит в данном случае, т.к. сама железка не автономная, она работает в составе комплекса и толку с нее никакого нет отдельно от всего остального оборудования.

В таком случае вам нужно тока это. См. внимательно на цену.

Если и это очень дорого, то мой вам совет: увольняйтесь и ищите другую более адекватную фирму :)

 

Скачиваете с сайта segger набор софта, устанавливаете.

Запускаете J-Flash, он используется для конфигурирования процесса программирования и создает файл конфига, который вместе с прошивкой заливается внутрь автономного программатора (см. первую ссылку).

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не могу понять почему все так категорически настоены что нужно использовать готовые дебаггеры.

Меня лично прельщает мысль что кроме прошивки самого девайса я смогу проводить частичное тестирование изделия через JTAG-интерфейс (в этом случае нужно будет более внимательно продумать схему) даже не заливая в изделие прошивку а лишь обращаясь к выводам контролера через JTAG и опрашивая их.

В новых семействах атмеловских армов в документации как-то урезано очень написано по поводу JTAG...в документации на старые семейства получше, но не до конца все равно.

Изменено пользователем Pasha_a13

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому что надо конкретно ставить ваши цели.

 

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

 

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

 

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

 

В общем вы просто выпадаете из общей практике выводя наружу устройства слишком опасный инструмент. Пользователи могут спокойно через этот порт заливать программы, которые будут сжигать ваше устройство, и вы ничего никогда не докажете, а если докажете, пользователи не будут брать ваше устройство.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ!

С приведенными Вами аргументами действительно не поспоришь.

Я согласен что для целей тестирования лучше использовать отдельную программу заливаемую через какой-либо из интерфейсов...она лучше сможет протестировать все остальные узлы в изделии.

 

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

 

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

 

Тестируемое-программируемое изделие будет подключаться к программатору через специфический разъем с кучей дополнительных контактов (для тестирования изделия), а прошивка в сам программатор будет заливаться удаленно нашими специалистами, пользователь не будет иметь возможности что-то там изменить.

JTAG в изделии выводиться не напрямую а через специальные коммутаторы и таким образом он фактически защищен снаружи.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я согласен что для целей тестирования лучше использовать отдельную программу заливаемую через какой-либо из интерфейсов...она лучше сможет протестировать все остальные узлы в изделии.

Если она заработает или вообще зальется. Потому что если на плате, например, замыкание проводов на шине данных, выполнять программу она не сможет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...