реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> JTAG-программатор для прошивки приборов без компа
SanvaldYV
сообщение Sep 2 2008, 13:47
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371



Всем здравствуйте.

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

В связи с этими возник вопрос - "как?" smile.gif
Скачал из инета "ARM7TDMI-S (rev 4) Technical Reference Manual" (ARM DDI 0234A), где вроде бы (все еще не осилил, только бегло просмотрел) описана работа с ядром ARM7TDMI-S через JTAG interface.
Однако, там в основном речь о том как "дебажить", и ничего не говорится о собственно записи программы во флэш контроллера.

Если кто нибудь делал что то подобное, или просто "в курсе дела", буду благодарен за советы.


П.С. В принципе, в качестве альтернативы можно "заливать" прошивку и по УАРТу через встроенный бутлоадер. Команды ISP и работа с встроенным загрузчиком достаточно подробно описаны в ЮзерМануале на чип, но тем не менее хотелось бы разобраться с JTAG-ом...
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Sep 2 2008, 13:57
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



На PC достаточное количество программ, позволяющих залить firmware через jtag. В чем необходимость какого-то отдельного устройства? А в чем прелесть jtag для этих целей?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 2 2008, 13:59
Сообщение #3


Гуру
******

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



Цитата(Юрий Санвальд @ Sep 2 2008, 15:47) *
...но тем не менее хотелось бы разобраться с JTAG-ом...

Думаю, что никто не реализовывал у серийного девайса JTAG только для заливки оного неким прибором. Странно смотрится... Кроме того, внутренний Flash LPC Вы не запрограммируете ввиду отсутствия документированной процедуры программирования, которая в свою очередь осложняется 128битовостью и патентованым MAМ. Хотите, можно грузить в RAM программатор который будет через тот-же ISP шить...
Только зачем все эти приключения на свою голову?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SanvaldYV
сообщение Sep 2 2008, 14:28
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 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 шить...
Только зачем все эти приключения на свою голову?


Не, таких приключений нам не надо wacko.gif , остановимся наверное на прошивке по УАРТу через встроенный загрузчик smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 2 2008, 15:23
Сообщение #5


Гуру
******

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



Цитата(Юрий Санвальд @ Sep 2 2008, 16:28) *
...просто уже были сделаны подобные программаторы для AVR.

AVR? Автономно через JTAG?! Смысл??


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 2 2008, 20:46
Сообщение #6


Знающий
****

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



Цитата(zltigo @ Sep 2 2008, 21:23) *
AVR? Автономно через JTAG?! Смысл??

А смысл в том, что для серийного производства не надо иметь:
1. Комп + Венда + Программатор + Софт + еще какая-нибудь хрень == равносильно достаточно богато-укомплектованному рабочему месту.
2. Работника, который имеет соответствующий уровень подготовки.

При наличие коробочки с одной кнопочкой "Пуск" и двумя ЛЭДами (красный -- "брак", зеленый - "ОК") можно садить чела вообще без подготовки. Полчаса инструктажа и работа налажена. Разумеется, сложные вопросы программирования изделий такой работник-программаторист не должен решать.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 2 2008, 20:50
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Дык про коробочку все понятно, сама идея программировать AVR чарез JTAG кажется странной.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 2 2008, 21:23
Сообщение #8


Гуру
******

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



Цитата(aaarrr @ Sep 2 2008, 22:50) *
сама идея программировать AVR чарез JTAG кажется странной.

Именно так.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 2 2008, 21:33
Сообщение #9


Знающий
****

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



Цитата(zltigo @ Sep 3 2008, 03:23) *
Именно так.

Да, согласен. Для программирования в AVR имеются более другие интерфейсы, которые намного проще JTAG. Действительно, странно.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2008, 00:05
Сообщение #10


Местный
***

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



Цитата(Юрий Санвальд @ Sep 2 2008, 18:28) *
На производстве народ не желает разбираться с каким бы то ни было firmware и напрягать мозг. Он хочет - подключил к разъему на плате некую коробочку, ...

Коробочка ASUS900 Называется wink.gif.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Sep 3 2008, 04:13
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(Юрий Санвальд @ Sep 2 2008, 19:47) *
Для прошивки приборов (на базе LPC2132) на производстве есть необходимость сделать JTAG-программатор, в котором бы уже находилась рабочая прошивка, и который бы самостоятельно (по нажатию допустим кнопки) записывал бы ее в контроллер (подключенный по JTAGу).

В связи с этими возник вопрос - "как?" smile.gif
Скачал из инета "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.
Посмотрите как написаны загрузчики, исходники там прилигаются.
Go to the top of the page
 
+Quote Post
etoja
сообщение Sep 3 2008, 04:33
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 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 - текст на китайском языке, но диаграмма состояний, таблицы и коды возвратов - на английском.
Go to the top of the page
 
+Quote Post
SanvaldYV
сообщение Sep 3 2008, 06:49
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 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 Называется wink.gif.


Эээ, а можно чуть подробней? Поиск в гугле по такому запросу не дает ничего хоть отдаленно связанного с прошивкой МК....
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 3 2008, 07:25
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Я разрабатывал такой программатор.
Для SAM7S.
Через JTAG в режиме Embedded ICE.
В этом режиме процессор останавливается и ему "подсовываются" команды "считать/записать регистр/ячейку памяти".
Таким образом в оперативную память загружается флешлоадер и ему передается управление.
У меня была задача прошить только бутлоадер размером не более 8К.
По этому я ложил в оперативку флешлоадер и бутлоадер.
Затем управление передавалось флешлоадеру он стирал флеш и перепрошивал/проверял бут.
Затем заносил в ячейку код о успешном завершении.
Потом процессор останавливался и читалась ячейка памяти.
По результатам чтения зажигался светодиод годен/не годен
За основу был взят пример от АТМЕЛ для процессоров ARM без флеш.
Программатором выступал ATmega128.
Мне так и не удалось вовремя дописать программу, чтобы вначале процессор программировал PLL и переходил на работу от нее. Поэтому запись 8К занимает время около 30..45 секунд. Забыл сколько ;-)
Весь проект открыть не могу но кусок работы через Embedded ICE могу поискать.
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 3 2008, 07:27
Сообщение #15


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(etoja @ Sep 3 2008, 08:33) *
текст на китайском языке, но диаграмма состояний, таблицы и коды возвратов - на английском.

Полно же документов на английском. И от самого ARM и здесь лежат стандарты. Это полный изврат смотреть только картинки в этом документе.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.024 секунд с 7
ELECTRONIX ©2004-2016