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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Программирование AVR через JTAG, Кто-нибудь имеет информацию конкретно о протоколе JTAG для AVR?
Diusha
сообщение Jan 4 2009, 14:55
Сообщение #16


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



А не знает ли кто, с какой частотой на АВР можно гнать сигналы? В ДШ ЖТАГовских характеристик нет sad.gif

Кстати, Polaris, получилось?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 4 2009, 19:40
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



В этом смысле DBW класс!!!
Один 6 pin разъём и на программирование и на отладку и ног у однокристалки не отнимает. И в режиме отладки работает устойчиво.
Go to the top of the page
 
+Quote Post
rvk
сообщение Jan 5 2009, 08:31
Сообщение #18


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

Группа: Свой
Сообщений: 165
Регистрация: 13-05-06
Из: Камышин
Пользователь №: 17 067



Цитата(Diusha @ Jan 4 2009, 17:55) *
А не знает ли кто, с какой частотой на АВР можно гнать сигналы? В ДШ ЖТАГовских характеристик нет sad.gif

Кстати, Polaris, получилось?

Для JTAG ICE в IAR стоит максимум 540KHz, а на практике JTAG ICE MKII однозначно быстрее работает.
Можно предположить что в районе 1MHz.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Jan 5 2009, 15:05
Сообщение #19


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Цитата(rvk @ Jan 5 2009, 11:31) *
Для JTAG ICE в IAR стоит максимум 540KHz, а на практике JTAG ICE MKII однозначно быстрее работает.
Можно предположить что в районе 1MHz.

Cпасибо! Уже информация
Go to the top of the page
 
+Quote Post
Diusha
сообщение Jan 6 2009, 04:47
Сообщение #20


Вечный студент
****

Группа: Участник
Сообщений: 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. А может я вообще что-то не так делаю?
Go to the top of the page
 
+Quote Post
rvk
сообщение Jan 6 2009, 05:29
Сообщение #21


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

Группа: Свой
Сообщений: 165
Регистрация: 13-05-06
Из: Камышин
Пользователь №: 17 067



Цитата(Diusha @ Jan 6 2009, 07:47) *
1. Каким концом в регистр PROG_COMMANDS (0x5) надо совать команды, которые даны в таблице «JTAG Programming Instruction», т.е. 1-й бит слева или справа? Пробовал по-всякому. Самое смешное, какое-то


As a definition in this datasheet, the LSB is shifted in and out first of all Shift Registers.

То есть младший бит первый.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Jan 6 2009, 07:42
Сообщение #22


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Цитата(rvk @ Jan 6 2009, 08:29) *
As a definition in this datasheet, the LSB is shifted in and out first of all Shift Registers.

То есть младший бит первый.

Но никто не говорил, с какого конца в записи 0110001_10000000 младший. Т.е. нигде не сказано, что эту запись следует воспринимать как двоичное число, а не просто последовательность, как, например
Цитата
• At the TMS input, apply the sequence 1, 1, 0, 0 at the rising edges of TCK...

В данном случае "младший бит" слева
Go to the top of the page
 
+Quote Post
rvk
сообщение Jan 6 2009, 09:02
Сообщение #23


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

Группа: Свой
Сообщений: 165
Регистрация: 13-05-06
Из: Камышин
Пользователь №: 17 067



Младший справа по тексту однозначно. Поэтому число 0110001_10000000 должно вдвигаться в проц в таком порядке,
(последовательность слева направо, левый ноль первый). Уж не знаю как еще сказать поточнее.
Итак слева направо последовательность вдвигания в JTAG:
первый бит 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 последний бит
Думаю вот так. Как вариант можно взять JTAG_ICE подключить его к процессору, и используя документ http://www.atmel.com/dyn/resources/prod_do...nts/doc2524.pdf это описание протокола между AVRSTUDIO и JTAG_ICE, подавать ему свои команды, и смотреть,что выдается на процессор.

Насчет справа слева, есть разница. Когда приводится просто число 0110001, младший бит справа, а когда стоит слово sequence,
что означает последовательность, тогда 1,0,0,1 первая цифра слева и есть то что вводится первым. Думаю в русском тексте
тоже все также примерно строится...

Сообщение отредактировал rvk - Jan 6 2009, 09:13
Go to the top of the page
 
+Quote Post
Diusha
сообщение Jan 6 2009, 09:43
Сообщение #24


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Цитата(rvk @ Jan 6 2009, 12:02) *
Младший справа по тексту однозначно.

Вы это знаете (если да, то откуда?) или предполагаете?

Цитата(rvk @ Jan 6 2009, 12:02) *
Как вариант можно взять JTAG_ICE ...

Взять негде

Цитата(rvk @ Jan 6 2009, 12:02) *
Насчет справа слева, есть разница. Когда приводится просто число 0110001, младший бит справа, а когда стоит слово sequence,
что означает последовательность, тогда 1,0,0,1 первая цифра слева и есть то что вводится первым.

Беда в том, что в таблице написно "0110001_10000000", о том, что это число нигде не сказано, графа называется "TDI Sequence"
Go to the top of the page
 
+Quote Post
singlskv
сообщение Jan 6 2009, 11:47
Сообщение #25


дятел
*****

Группа: Свой
Сообщений: 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, Вы можете просто потренироваться давать
разные команды из командной строки.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Jan 6 2009, 13:04
Сообщение #26


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Цитата(singlskv @ Jan 6 2009, 14:47) *
А Byte Blaster хотя бы есть ?
... Вы можете просто потренироваться давать
разные команды

Нету. Команды я и без него могу давать. Вопрос-то в другом
Go to the top of the page
 
+Quote Post
Polaris
сообщение Jan 6 2009, 13:09
Сообщение #27


Местный
***

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



Цитата(Diusha @ Jan 4 2009, 16:55) *
А не знает ли кто, с какой частотой на АВР можно гнать сигналы? В ДШ ЖТАГовских характеристик нет sad.gif

Кстати, Polaris, получилось?


Да, получилось, пока окончательно не отладил, потому что все делается в фоновом режиме (задача не основная, делается для собственного удобства), плюс там полный комплекс, пишется и по JTAG и по SPI, протокол STK500, плюс интерфейсная часть на компе со складированием прошивок и результатов в базу, но можно запустить AVR Studio, прошить через STK500 как бы (на самом деле через JTAG) фузы, считать сигнатуры, прошить флэш и EEPROM. Могу сбросит часть исходников, касающихся непосредственно работы с JTAG.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Jan 6 2009, 13:17
Сообщение #28


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Polaris,
может Вы тогда сможете ответить на мои вопросы?
Эх, не знаю, как дать ссылку непосредственно на пост... Короче, в этой ветке, послано сегодня в 7:47
Go to the top of the page
 
+Quote Post
Polaris
сообщение Jan 6 2009, 13:19
Сообщение #29


Местный
***

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



Цитата(Diusha @ Jan 6 2009, 15:17) *
Polaris,
может Вы тогда сможете ответить на мои вопросы?
Эх, не знаю, как дать ссылку непосредственно на пост... Короче, в этой ветке, послано сегодня в 7:47

Сейчас не смогу ответить, все исходники и доки на работе, а по памяти врать не хочу smile.gif Восьмого выйду на работу - отвечу. И куски кода с вычитыванием тоже смогу послать.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Jan 6 2009, 13:27
Сообщение #30


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Цитата(Polaris @ Jan 6 2009, 16:19) *
Восьмого выйду на работу - отвечу. И куски кода с вычитыванием тоже смогу послать.

ОК, спасибо, буду ждать!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:20
Рейтинг@Mail.ru


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