|
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-ом...
|
|
|
|
|
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 Называется  . Эээ, а можно чуть подробней? Поиск в гугле по такому запросу не дает ничего хоть отдаленно связанного с прошивкой МК....
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|