|
JTAG-программатор для прошивки приборов без компа |
|
|
|
Sep 2 2008, 13:47
|
Частый гость
 
Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371

|
Всем здравствуйте. Для прошивки приборов (на базе LPC2132) на производстве есть необходимость сделать JTAG-программатор, в котором бы уже находилась рабочая прошивка, и который бы самостоятельно (по нажатию допустим кнопки) записывал бы ее в контроллер (подключенный по JTAGу). В связи с этими возник вопрос - "как?"  Скачал из инета "ARM7TDMI-S (rev 4) Technical Reference Manual" (ARM DDI 0234A), где вроде бы (все еще не осилил, только бегло просмотрел) описана работа с ядром ARM7TDMI-S через JTAG interface. Однако, там в основном речь о том как "дебажить", и ничего не говорится о собственно записи программы во флэш контроллера. Если кто нибудь делал что то подобное, или просто "в курсе дела", буду благодарен за советы. П.С. В принципе, в качестве альтернативы можно "заливать" прошивку и по УАРТу через встроенный бутлоадер. Команды ISP и работа с встроенным загрузчиком достаточно подробно описаны в ЮзерМануале на чип, но тем не менее хотелось бы разобраться с JTAG-ом...
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 26)
|
Sep 2 2008, 14:28
|
Частый гость
 
Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371

|
Цитата(sergeeff @ Sep 2 2008, 17:57)  На PC достаточное количество программ, позволяющих залить firmware через jtag. В чем необходимость какого-то отдельного устройства? А в чем прелесть jtag для этих целей? На производстве народ не желает разбираться с каким бы то ни было firmware и напрягать мозг. Он хочет - подключил к разъему на плате некую коробочку, нажал кнопку - и она запрограммировала. "А в чем прелесть jtag для этих целей?" - если честно не знаю, просто уже были сделаны подобные программаторы для AVR. Цитата(zltigo @ Sep 2 2008, 17:59)  Хотите, можно грузить в RAM программатор который будет через тот-же ISP шить... Только зачем все эти приключения на свою голову? Не, таких приключений нам не надо  , остановимся наверное на прошивке по УАРТу через встроенный загрузчик
|
|
|
|
|
Sep 2 2008, 20:46
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(zltigo @ Sep 2 2008, 21:23)  AVR? Автономно через JTAG?! Смысл?? А смысл в том, что для серийного производства не надо иметь: 1. Комп + Венда + Программатор + Софт + еще какая-нибудь хрень == равносильно достаточно богато-укомплектованному рабочему месту. 2. Работника, который имеет соответствующий уровень подготовки. При наличие коробочки с одной кнопочкой "Пуск" и двумя ЛЭДами (красный -- "брак", зеленый - "ОК") можно садить чела вообще без подготовки. Полчаса инструктажа и работа налажена. Разумеется, сложные вопросы программирования изделий такой работник-программаторист не должен решать.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Sep 3 2008, 04:13
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(Юрий Санвальд @ Sep 2 2008, 19:47)  Для прошивки приборов (на базе LPC2132) на производстве есть необходимость сделать JTAG-программатор, в котором бы уже находилась рабочая прошивка, и который бы самостоятельно (по нажатию допустим кнопки) записывал бы ее в контроллер (подключенный по JTAGу). В связи с этими возник вопрос - "как?"  Скачал из инета "ARM7TDMI-S (rev 4) Technical Reference Manual" (ARM DDI 0234A), где вроде бы (все еще не осилил, только бегло просмотрел) описана работа с ядром ARM7TDMI-S через JTAG interface. Однако, там в основном речь о том как "дебажить", и ничего не говорится о собственно записи программы во флэш контроллера. В том же CrossWorks для разных процев имеются разные загрузчики, которые первоначально грузятся в RAM и запускаются, а уже потом эти загрузчики принимают команды/данные через JTAG (либо через определённые ячейки RAM, либо DCC(debug comms channel)) и производят запись во flash обращаясь либо к определённым регистрам проца, либо вызывая функции IAP как в LPC. Посмотрите как написаны загрузчики, исходники там прилигаются.
|
|
|
|
|
Sep 3 2008, 04:33
|

Профессионал
    
Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952

|
Флудерам:Читайте вопрос внимательно и отвечайте по делу. Программирование процессоров LPC213x возможно через интерфейс RS232 и через JTAG. При этом всегда происходит обращение к программе внутрисхемного программирования ISP, зашитой в процессор. Для решения поставленной вами задачи можно воспользоваться исходными текстами программы H-JTAG, работающей через JTAG программатор Wiggler. Исходные тексты короткие и понятные, находятся по адресу: http://www.hjtag.com/download/jtagsrc.rarАлгоритм работы JTAG описан в документе: http://www.hjtag.com/download/jtag.rar - текст на китайском языке, но диаграмма состояний, таблицы и коды возвратов - на английском.
|
|
|
|
|
Sep 3 2008, 06:49
|
Частый гость
 
Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371

|
Цитата(etoja @ Sep 3 2008, 08:33)  Программирование процессоров LPC213x возможно через интерфейс RS232 и через JTAG. При этом всегда происходит обращение к программе внутрисхемного программирования ISP, зашитой в процессор. Для решения поставленной вами задачи можно воспользоваться исходными текстами программы H-JTAG, работающей через JTAG программатор Wiggler. Исходные тексты короткие и понятные, находятся по адресу: http://www.hjtag.com/download/jtagsrc.rarАлгоритм работы JTAG описан в документе: http://www.hjtag.com/download/jtag.rar - текст на китайском языке, но диаграмма состояний, таблицы и коды возвратов - на английском. Спасибо, изучу. Хотя шить наверное все же будем через УАРТ... Цитата(Т.Достоевский @ Sep 3 2008, 04:05)  Коробочка ASUS900 Называется  . Эээ, а можно чуть подробней? Поиск в гугле по такому запросу не дает ничего хоть отдаленно связанного с прошивкой МК....
|
|
|
|
|
Sep 3 2008, 08:19
|

Местный
  
Группа: Свой
Сообщений: 304
Регистрация: 5-07-04
Из: г. Москва
Пользователь №: 259

|
Цитата(Юрий Санвальд @ Sep 2 2008, 17:47)  Всем здравствуйте. Для прошивки приборов (на базе LPC2132) на производстве есть необходимость сделать JTAG-программатор, в котором бы уже находилась рабочая прошивка, и который бы самостоятельно (по нажатию допустим кнопки) записывал бы ее в контроллер (подключенный по JTAGу). В связи с этими возник вопрос - "как?"  Скачал из инета "ARM7TDMI-S (rev 4) Technical Reference Manual" (ARM DDI 0234A), где вроде бы (все еще не осилил, только бегло просмотрел) описана работа с ядром ARM7TDMI-S через JTAG interface. Однако, там в основном речь о том как "дебажить", и ничего не говорится о собственно записи программы во флэш контроллера. Если кто нибудь делал что то подобное, или просто "в курсе дела", буду благодарен за советы. П.С. В принципе, в качестве альтернативы можно "заливать" прошивку и по УАРТу через встроенный бутлоадер. Команды ISP и работа с встроенным загрузчиком достаточно подробно описаны в ЮзерМануале на чип, но тем не менее хотелось бы разобраться с JTAG-ом... PEEDI умеет прошивать без компьютера. Но идея с ноутбуком мне нравиться больше - дешевый ноутбук с вигглером - дешевле, правда повозиться придеться побольше.
--------------------
Водку пьянствовать и безобразия нарушать!!!
|
|
|
|
|
Sep 3 2008, 11:47
|
Частый гость
 
Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371

|
Цитата(misyachniy @ Sep 3 2008, 11:25)  Я разрабатывал такой программатор. Для SAM7S. Через JTAG в режиме Embedded ICE. ... Весь проект открыть не могу но кусок работы через Embedded ICE могу поискать. За пример работы с JTAG Embedded ICE буду очень признателен. Мой е-мэйл: yurasanvald@yandex.ru
|
|
|
|
|
Sep 3 2008, 12:39
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(etoja @ Sep 3 2008, 06:33)  Флудерам:Читайте вопрос внимательно и отвечайте по делу. Парящим над поверхностью: Внимательно читайте ответы. Цитата(etoja @ Sep 3 2008, 10:08)  LPC2138 программируется через JTAG/H-JTAG со скоростью 45кбайт за 12 секунд. Через RS232 будет гораздо медленнее. На 115200 - ISP много быстрее  . Кроме того для поминаемого всуе H-JTAG нужно знание недокументированноой работы с FLASH NXP. Откуда его взять? Про загрузку своего боотлоадера я писал - можно, но к чему эти пляски.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 3 2008, 13:21
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(KRS @ Sep 3 2008, 15:10)  Это еще зачем H-JTAG использует тот же IAP. Очем и речь вместо прямого использования IAP через достаточно приличный по скорости ДВУХ ПРОВОДНЫЙ интерфейс городится огород - через ногомахание кучкой пинов грузится загрузчик, грузится блок и... вызывается IAP. Когда JTAG используется для отладки это нормально, ибо импользуется один интерфейс. Когда есть PC и нормальный USB-JTAG адаптер, это нормально, ибо скорость побольше. А вот когда делают штучную коробочку с каким-нибудь контроллером для автономной работы, то зачем???
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 3 2008, 17:14
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606

|
Цитата(etoja @ Sep 3 2008, 12:08)  Предлагая ASUS 900 вам пытались предложить мини-ноутбук ASUS EePC-900 http://ru.asus.com/products.aspx?l1=24&l2=164Да. И кнопочка "запрограммировать" реализованная через любые стандартные средства. По моему самый простой и дешёвый вариант
|
|
|
|
|
Sep 4 2008, 09:44
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

|
Часть исходников для прогрмаммирования AT91SAM7S128 через JTAG с помощью ATMEGA128. Описание внутри.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|