|
Программирование AVR через JTAG, Кто-нибудь имеет информацию конкретно о протоколе JTAG для AVR? |
|
|
|
Mar 13 2008, 11:15
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Уважаемые знатоки! С целью уменьшения числа коннекторов на плате озаботился следующим вопросом - можно ли программировать AVR через JTAG? Причем интересует не использование сторонних отладчиков, а конкретно протокол общения непосредственно с AVR - то есть, мне не нужен протокол работы JTAG ICE, я хочу попытаться реализовать программирование на логическом уровне. С чем это связано? Сейчас на платах устройств приходится иметь два коннектора - один под JTAG для отладки (а серии у нас небольшие, изменения в прошивке частые, поэтому отказаться от возможности отладки не могу), второй - под SPI, чтобы можно было шить устройства в партии. Причем шить не только с компьютера, но и в тестирующем устройстве, которое само сделано на AVR, в нем хранится актуальная прошивка, которая и загружается в контролируемое изделие, для нас это очень удобно. Но в итоге имеем на плате один лишний разъем, который занимает место, портит внешний вид и так далее. Хотелось бы свести программирование AVR к работе через JTAG. Я так полагаю, что раз JTAG ICE это умеет делать, то задача вполне реальная. Вопрос в том, что ковыряться в прошивке JTAG ICE не хочется, времени не хватает, а никто под эту задачу ресурсов не выделит  Возможно, что где-то в сети уже есть наработки. Сам я попробовал искать, но слишком уж много хлама, после нескольких десятков сайтов с одними и теми же клонами JTAG ICE и одной и той же прошивкой в хексе, я это дело бросил. Надеюсь, что найдется человек, который укажет, где этот протокол можно взять. С остальным я справлюсь сам. Заранее благодарен.
|
|
|
|
|
Mar 13 2008, 11:35
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(Polaris @ Mar 13 2008, 14:15)  Надеюсь, что найдется человек, который укажет, где этот протокол можно взять. С остальным я справлюсь сам. Например в книге Евстифеев "Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL" Находится в сети за 5 минут.
|
|
|
|
|
Mar 13 2008, 11:39
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата(Polaris @ Mar 13 2008, 14:15)  Уважаемые знатоки! С целью уменьшения числа коннекторов на плате озаботился следующим вопросом - можно ли программировать AVR через JTAG? Причем интересует не использование сторонних отладчиков, а конкретно протокол общения непосредственно с AVR - то есть, мне не нужен протокол работы JTAG ICE, я хочу попытаться реализовать программирование на логическом уровне. С чем это связано? Сейчас на платах устройств приходится иметь два коннектора - один под JTAG для отладки (а серии у нас небольшие, изменения в прошивке частые, поэтому отказаться от возможности отладки не могу), второй - под SPI, чтобы можно было шить устройства в партии. Причем шить не только с компьютера, но и в тестирующем устройстве, которое само сделано на AVR, в нем хранится актуальная прошивка, которая и загружается в контролируемое изделие, для нас это очень удобно. Но в итоге имеем на плате один лишний разъем, который занимает место, портит внешний вид и так далее. Хотелось бы свести программирование AVR к работе через JTAG. Я так полагаю, что раз JTAG ICE это умеет делать, то задача вполне реальная. Вопрос в том, что ковыряться в прошивке JTAG ICE не хочется, времени не хватает, а никто под эту задачу ресурсов не выделит  Возможно, что где-то в сети уже есть наработки. Сам я попробовал искать, но слишком уж много хлама, после нескольких десятков сайтов с одними и теми же клонами JTAG ICE и одной и той же прошивкой в хексе, я это дело бросил. Надеюсь, что найдется человек, который укажет, где этот протокол можно взять. С остальным я справлюсь сам. Заранее благодарен. DS на Мега128 начиная со страницы 306.Programming Via JTAG specific JTAG Interface P.S. Чтоб не ставить разъем JTAG на плату, я в процессе отладки устройства напиваю МГТФом JTAG-разъём непосредственно к ножкам процессора. Одна плата ведь у программиста есть всегда. Ну и пусть JTAG-разъём на проводах болтается!
|
|
|
|
|
Mar 13 2008, 11:45
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата можно ли программировать AVR через JTAG? Можно Цитата(Igor26 @ Mar 13 2008, 13:39)  P.S. Чтоб не ставить разъем JTAG на плату, я в процессе отладки устройства напиваю МГТФом JTAG-разъём непосредственно к ножкам процессора. Одна плата ведь у программиста есть всегда. Ну и пусть JTAG-разъём на проводах болтается! Я напротив предусматриваю JTAG разъем на всех устройствах. Занимает не так уж и много места на плате - всего 6 пинов (TDO, TDI, TMS, TCK, Vcc, GND). В конечных устройствах просто не запаиваются разъемы. Болтающиеся на МГФе конструкции - ненадежные (даже для программиста) ;>
|
|
|
|
|
Mar 13 2008, 12:16
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(Igor26 @ Mar 13 2008, 13:39)  DS на Мега128 начиная со страницы 306.Programming Via JTAG specific JTAG Interface
P.S. Чтоб не ставить разъем JTAG на плату, я в процессе отладки устройства напиваю МГТФом JTAG-разъём непосредственно к ножкам процессора. Одна плата ведь у программиста есть всегда. Ну и пусть JTAG-разъём на проводах болтается! Да, действительно все описано! Спасибо большое, буду разбираться!
|
|
|
|
|
Mar 14 2008, 07:31
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата Я напротив предусматриваю JTAG разъем на всех устройствах. Занимает не так уж и много места на плате - всего 6 пинов (TDO, TDI, TMS, TCK, Vcc, GND). В конечных устройствах просто не запаиваются разъемы.
Болтающиеся на МГФе конструкции - ненадежные (даже для программиста) ;> Если жесткие требования по габаритам, тогда ставить JTAG-разъём не пойдет. Вот на такие девайсы разъем на МГТФе - самое оно. Ну отвалился провод раз в месяц, ну подпаял его на место, делов то! Опять же, если в конечном устройстве используются все каналы АЦП, то JTAG работать не будет. Но это легко обходится. А вообще JTAG вещь часто просто не заменимая. И при отладке программы, и при ремонте сложного устройства. Лично я не ставлю этот разъем только в случае озвученном выше(габариты), в сложных устройствах ставлю ВСЕГДА.
|
|
|
|
|
Mar 17 2008, 16:03
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(GDI @ Mar 14 2008, 13:49)  Внесу свое имхо... заливать прошивку можно и через бутлоадер, т.е. через любой(!) интерфейс. на avrfreaks.net я встречал 1-wire бутлоадер, т.е. для него нужно вообще всего 2 провода, там была и программа для ПК. Т.е. можно оставить разъем JTAG и заливать через него программу при производстве и для отладки, а обновлять прошивку через бутлоадер. А каким образом в изначально девственно чистом кристалле материализуется бутлоадер?? Цитата(sensor_ua @ Mar 13 2008, 15:07)  Спасибо за ссылки! Через JTAG ICE рассматривать буду в последнюю очередь по указанном выше причинам...
|
|
|
|
|
Mar 18 2008, 07:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008

|
Цитата А каким образом в изначально девственно чистом кристалле материализуется бутлоадер?? Цитата Т.е. можно оставить разъем JTAG и заливать через него программу при производстве Внимательнее читать надо... а смысл всего мною ранее написанного сводится к тому, что не надо реализовывать отдельно программу и прошивку другого контроллера для того чтобы прошивать целевую систему используя JTAG, для этого придумали бутлоадеры. Т.е. чтобы Цитата шить не только с компьютера, но и в тестирующем устройстве, которое само сделано на AVR, в нем хранится актуальная прошивка, которая и загружается в контролируемое изделие вам нужен бутлоадер исходники которых открыты и в великом множестве лежат на просторах интернет.
--------------------
|
|
|
|
|
Mar 18 2008, 08:12
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(GDI @ Mar 18 2008, 09:17)  Внимательнее читать надо... а смысл всего мною ранее написанного сводится к тому, что не надо реализовывать отдельно программу и прошивку другого контроллера для того чтобы прошивать целевую систему используя JTAG, для этого придумали бутлоадеры. Т.е. чтобы вам нужен бутлоадер исходники которых открыты и в великом множестве лежат на просторах интернет. Это Вы внимательнее читайте. Откуда в чистом фабричном кристалле появится бутлоадер без использования сторонних средств программирования? Об этом и речь в теме. Как с минимальными затратами ресурсов загрузить в кристалл тот же Ваш бутлоадер. И исходники бутлоадеров мне не нужны, у меня свой есть, позволяет квалификация. Вас, извините, про Фому спросили, а Вы про Ерему.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|