YuraFCZ 0 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба Всем здравствуйте. Для прошивки приборов (на базе LPC2132) на производстве есть необходимость сделать JTAG-программатор, в котором бы уже находилась рабочая прошивка, и который бы самостоятельно (по нажатию допустим кнопки) записывал бы ее в контроллер (подключенный по JTAGу). В связи с этими возник вопрос - "как?" :) Скачал из инета "ARM7TDMI-S (rev 4) Technical Reference Manual" (ARM DDI 0234A), где вроде бы (все еще не осилил, только бегло просмотрел) описана работа с ядром ARM7TDMI-S через JTAG interface. Однако, там в основном речь о том как "дебажить", и ничего не говорится о собственно записи программы во флэш контроллера. Если кто нибудь делал что то подобное, или просто "в курсе дела", буду благодарен за советы. П.С. В принципе, в качестве альтернативы можно "заливать" прошивку и по УАРТу через встроенный бутлоадер. Команды ISP и работа с встроенным загрузчиком достаточно подробно описаны в ЮзерМануале на чип, но тем не менее хотелось бы разобраться с JTAG-ом... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба На PC достаточное количество программ, позволяющих залить firmware через jtag. В чем необходимость какого-то отдельного устройства? А в чем прелесть jtag для этих целей? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба ...но тем не менее хотелось бы разобраться с JTAG-ом... Думаю, что никто не реализовывал у серийного девайса JTAG только для заливки оного неким прибором. Странно смотрится... Кроме того, внутренний Flash LPC Вы не запрограммируете ввиду отсутствия документированной процедуры программирования, которая в свою очередь осложняется 128битовостью и патентованым MAМ. Хотите, можно грузить в RAM программатор который будет через тот-же ISP шить... Только зачем все эти приключения на свою голову? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YuraFCZ 0 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба На PC достаточное количество программ, позволяющих залить firmware через jtag. В чем необходимость какого-то отдельного устройства? А в чем прелесть jtag для этих целей? На производстве народ не желает разбираться с каким бы то ни было firmware и напрягать мозг. Он хочет - подключил к разъему на плате некую коробочку, нажал кнопку - и она запрограммировала. "А в чем прелесть jtag для этих целей?" - если честно не знаю, просто уже были сделаны подобные программаторы для AVR. Хотите, можно грузить в RAM программатор который будет через тот-же ISP шить... Только зачем все эти приключения на свою голову? Не, таких приключений нам не надо , остановимся наверное на прошивке по УАРТу через встроенный загрузчик :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба ...просто уже были сделаны подобные программаторы для AVR. AVR? Автономно через JTAG?! Смысл?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба AVR? Автономно через JTAG?! Смысл?? А смысл в том, что для серийного производства не надо иметь: 1. Комп + Венда + Программатор + Софт + еще какая-нибудь хрень == равносильно достаточно богато-укомплектованному рабочему месту. 2. Работника, который имеет соответствующий уровень подготовки. При наличие коробочки с одной кнопочкой "Пуск" и двумя ЛЭДами (красный -- "брак", зеленый - "ОК") можно садить чела вообще без подготовки. Полчаса инструктажа и работа налажена. Разумеется, сложные вопросы программирования изделий такой работник-программаторист не должен решать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 61 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба Дык про коробочку все понятно, сама идея программировать AVR чарез JTAG кажется странной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба сама идея программировать AVR чарез JTAG кажется странной. Именно так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 2 сентября, 2008 Опубликовано 2 сентября, 2008 · Жалоба Именно так. Да, согласен. Для программирования в AVR имеются более другие интерфейсы, которые намного проще JTAG. Действительно, странно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fmdost 0 3 сентября, 2008 Опубликовано 3 сентября, 2008 · Жалоба На производстве народ не желает разбираться с каким бы то ни было firmware и напрягать мозг. Он хочет - подключил к разъему на плате некую коробочку, ... Коробочка ASUS900 Называется ;). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex03 0 3 сентября, 2008 Опубликовано 3 сентября, 2008 · Жалоба Для прошивки приборов (на базе 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. Посмотрите как написаны загрузчики, исходники там прилигаются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 3 сентября, 2008 Опубликовано 3 сентября, 2008 · Жалоба Флудерам:Читайте вопрос внимательно и отвечайте по делу. Программирование процессоров LPC213x возможно через интерфейс RS232 и через JTAG. При этом всегда происходит обращение к программе внутрисхемного программирования ISP, зашитой в процессор. Для решения поставленной вами задачи можно воспользоваться исходными текстами программы H-JTAG, работающей через JTAG программатор Wiggler. Исходные тексты короткие и понятные, находятся по адресу: http://www.hjtag.com/download/jtagsrc.rar Алгоритм работы JTAG описан в документе: http://www.hjtag.com/download/jtag.rar - текст на китайском языке, но диаграмма состояний, таблицы и коды возвратов - на английском. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YuraFCZ 0 3 сентября, 2008 Опубликовано 3 сентября, 2008 · Жалоба Программирование процессоров LPC213x возможно через интерфейс RS232 и через JTAG. При этом всегда происходит обращение к программе внутрисхемного программирования ISP, зашитой в процессор. Для решения поставленной вами задачи можно воспользоваться исходными текстами программы H-JTAG, работающей через JTAG программатор Wiggler. Исходные тексты короткие и понятные, находятся по адресу: http://www.hjtag.com/download/jtagsrc.rar Алгоритм работы JTAG описан в документе: http://www.hjtag.com/download/jtag.rar - текст на китайском языке, но диаграмма состояний, таблицы и коды возвратов - на английском. Спасибо, изучу. Хотя шить наверное все же будем через УАРТ... Коробочка ASUS900 Называется ;). Эээ, а можно чуть подробней? Поиск в гугле по такому запросу не дает ничего хоть отдаленно связанного с прошивкой МК.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
misyachniy 0 3 сентября, 2008 Опубликовано 3 сентября, 2008 · Жалоба Я разрабатывал такой программатор. Для SAM7S. Через JTAG в режиме Embedded ICE. В этом режиме процессор останавливается и ему "подсовываются" команды "считать/записать регистр/ячейку памяти". Таким образом в оперативную память загружается флешлоадер и ему передается управление. У меня была задача прошить только бутлоадер размером не более 8К. По этому я ложил в оперативку флешлоадер и бутлоадер. Затем управление передавалось флешлоадеру он стирал флеш и перепрошивал/проверял бут. Затем заносил в ячейку код о успешном завершении. Потом процессор останавливался и читалась ячейка памяти. По результатам чтения зажигался светодиод годен/не годен За основу был взят пример от АТМЕЛ для процессоров ARM без флеш. Программатором выступал ATmega128. Мне так и не удалось вовремя дописать программу, чтобы вначале процессор программировал PLL и переходил на работу от нее. Поэтому запись 8К занимает время около 30..45 секунд. Забыл сколько ;-) Весь проект открыть не могу но кусок работы через Embedded ICE могу поискать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 3 сентября, 2008 Опубликовано 3 сентября, 2008 · Жалоба текст на китайском языке, но диаграмма состояний, таблицы и коды возвратов - на английском. Полно же документов на английском. И от самого ARM и здесь лежат стандарты. Это полный изврат смотреть только картинки в этом документе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться