|
Программирование 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 и одной и той же прошивкой в хексе, я это дело бросил. Надеюсь, что найдется человек, который укажет, где этот протокол можно взять. С остальным я справлюсь сам. Заранее благодарен.
|
|
|
|
|
 |
Ответов
|
Jan 6 2009, 04:47
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Сразу оговорюсь: JTAG ICE и т.п. просьба не предлагать, мне надо свое В ДШ программирование по JTAG описано (мягко говоря) сжато, есть неоднозначности. Короче, не получилось. Вообще, связь с АВРкой есть: (1) при записи команды в Instruction Register (TAP в состоянии Shift-IR) с TDO читается 0х01, как и должно быть; (2) чип нормально ресетится и выходит из этого состояния соотв. командами. А теперь пытаюсь что-нибудь прочитать из чипа (Flash, EEPROM, Signature). Дейсвую по ДШ: Цитата 28.7.13 Entering Programming Mode 1. Enter JTAG instruction AVR_RESET and shift 1 in the Reset Register. 2. Enter instruction PROG_ENABLE and shift 0b1010_0011_0111_0000 in the Program- ming Enable Register Цитата 28.7.23 Reading the Signature Bytes 1. Enter JTAG instruction PROG_COMMANDS. 2. Enable Signature byte read using programming instruction 9a. 3. Load address 0x00 using programming instruction 9b. 4. Read first signature byte using programming instruction 9c. … Цитата 28.7.14 Leaving Programming Mode 1. Enter JTAG instruction PROG_COMMANDS. 2. Disable all programming instructions by using no operation instruction 11a. 3. Enter instruction PROG_ENABLE and shift 0b0000_0000_0000_0000 in the program- ming Enable Register. 4. Enter JTAG instruction AVR_RESET and shift 0 in the Reset Register. Вопросы: 1. Каким концом в регистр PROG_COMMANDS (0x5) надо совать команды, которые даны в таблице «JTAG Programming Instruction», т.е. 1-й бит слева или справа? Пробовал по-всякому. Самое смешное, какое-то шевеление (но не то) появилось, когда (случайно) «9a. Enter Signature Byte Read» я посылал первым левый бит, а все остальное – 1-м правый 2. Запись в таблице в графе "TDI Sequence" (в одной ячейке) вроде 0100011_10000000 0110001_10000000 0110011_10000000 0110011_10000000 следует понимать, что отправлять надо все приведенные TDI Sequence или любую из них? 3. А может я вообще что-то не так делаю?
|
|
|
|
|
Jan 6 2009, 11:47
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Diusha @ Jan 6 2009, 07:47)  Сразу оговорюсь: JTAG ICE и т.п. просьба не предлагать, мне надо свое А Byte Blaster хотя бы есть ? Можете скачать вот эти исходники: http://www.urjtag.org/это реинкарнация вот этого: http://openwince.sourceforge.net/jtag/Вам от туда понадобятся TAP драйвер и описание регистров mega128. Ну и при наличии Byte Blaster, Вы можете просто потренироваться давать разные команды из командной строки.
|
|
|
|
Сообщений в этой теме
Polaris Программирование AVR через JTAG Mar 13 2008, 11:15 Qwertty Цитата(Polaris @ Mar 13 2008, 14:15) Наде... Mar 13 2008, 11:35 Igor26 Цитата(Polaris @ Mar 13 2008, 14:15) Уваж... Mar 13 2008, 11:39 defunct Цитатаможно ли программировать AVR через JTAG?
Мож... Mar 13 2008, 11:45 Polaris Цитата(Igor26 @ Mar 13 2008, 13:39) DS на... Mar 13 2008, 12:16 Qwertty Если оставить только JTAG, то его будет не отключи... Mar 13 2008, 11:52 sensor_ua Вообще-то такое уже делалось
http://home.telkomsa... Mar 13 2008, 13:07 Igor26 ЦитатаЯ напротив предусматриваю JTAG разъем на все... Mar 14 2008, 07:31 GDI Внесу свое имхо... заливать прошивку можно и через... Mar 14 2008, 11:49 Polaris Цитата(GDI @ Mar 14 2008, 13:49) Внесу св... Mar 17 2008, 16:03 GDI ЦитатаА каким образом в изначально девственно чист... Mar 18 2008, 07:17 Polaris Цитата(GDI @ Mar 18 2008, 09:17) Внимател... Mar 18 2008, 08:12 GDI На то и форум, чтобы предлагать и другие пути реше... Mar 18 2008, 08:40 Polaris Цитата(GDI @ Mar 18 2008, 10:40) На то и ... Mar 18 2008, 09:13  Diusha А не знает ли кто, с какой частотой на АВР можно г... Jan 4 2009, 14:55   rvk Цитата(Diusha @ Jan 4 2009, 17:55) А не з... Jan 5 2009, 08:31    Diusha Цитата(rvk @ Jan 5 2009, 11:31) Для JTAG ... Jan 5 2009, 15:05   Polaris Цитата(Diusha @ Jan 4 2009, 16:55) А не з... Jan 6 2009, 13:09    Diusha Polaris,
может Вы тогда сможете ответить на мои во... Jan 6 2009, 13:17     Polaris Цитата(Diusha @ Jan 6 2009, 15:17) Polari... Jan 6 2009, 13:19      Diusha Цитата(Polaris @ Jan 6 2009, 16:19) Восьм... Jan 6 2009, 13:27      Diusha Цитата(Polaris @ Jan 6 2009, 16:19) Восьм... Jan 9 2009, 12:59       Polaris Цитата(Diusha @ Jan 9 2009, 14:59) Я прош... Jan 11 2009, 21:58 GDI У нас видал подобную плату, как раз с 2 коробка, т... Mar 18 2008, 09:47 SasaVitebsk В этом смысле DBW класс!!!
Один 6 pin ... Jan 4 2009, 19:40 rvk Цитата(Diusha @ Jan 6 2009, 07:47) 1. Как... Jan 6 2009, 05:29  Diusha Цитата(rvk @ Jan 6 2009, 08:29) As a defi... Jan 6 2009, 07:42  Diusha Цитата(singlskv @ Jan 6 2009, 14:47) А By... Jan 6 2009, 13:04 Polaris Цитата(Diusha @ Jan 6 2009, 06:47) 1. Как... Jan 13 2009, 07:18  Diusha Цитата(Polaris @ Jan 13 2009, 10:18) JTAG... Jan 15 2009, 16:36   Polaris Цитата(Diusha @ Jan 15 2009, 18:36) А это... Jan 16 2009, 07:49    Diusha Цитата(Polaris @ Jan 16 2009, 10:49) void... Jan 17 2009, 05:10     Polaris Цитата(Diusha @ Jan 17 2009, 07:10) Да я ... Jan 17 2009, 12:40      Diusha Цитата(Polaris @ Jan 17 2009, 15:40) прав... Jan 18 2009, 08:05       Polaris Цитата(Diusha @ Jan 18 2009, 10:05) Вы пр... Jan 22 2009, 14:10    Diusha Все-таки вопросы продолжаются… не работает…
1. (Н... Jan 17 2009, 11:42 Diusha Вот много времени прошло, снова взялся за JTAG. Бл... Dec 11 2010, 14:48 rvk Младший справа по тексту однозначно. Поэтому число... Jan 6 2009, 09:02 Diusha Цитата(rvk @ Jan 6 2009, 12:02) Младший с... Jan 6 2009, 09:43 Maik-vs Цитата(Polaris @ Mar 13 2008, 14:15) Уваж... Jan 7 2009, 11:11 _kp Есть, еще не упомянутый тут, кроссплатформенный па... Jan 11 2009, 14:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|