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

 
 
> Linux и JTAGICE mkII, как подружить?
107
сообщение Feb 14 2008, 12:54
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 12-02-08
Пользователь №: 34 980



Народ! У кого-нибудь получилось подружить сабж?
Я пытаюсь через JTAG mkII зашить Atmega 64.

Запускаю (к примеру чтение или что-то еще):
$ avrdude -p m64 -c jtag2 -v -U flash:r:./a.out
Дает:
Код
avrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
avrdude: JTAGEN fuse disabled?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Кто-нибудь сталкивался с подобным? Что посоветуете?
JTAGEN выставлен в 1, в винде через Студию - шьется без проблем.

Сообщение отредактировал 107 - Feb 14 2008, 13:05
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andy Great
сообщение Feb 18 2008, 16:20
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Странно весьма, этот бит отвечает за отладку, а не за прошивку. Вы ничего в исходном вопросе не напутали? Например, используемые мной Меги16 поставляются с прошитым JTAGEN и снятым OCDEN, их можно прошивать через JTAG. Правда, только под Виндой пробовал.
Go to the top of the page
 
+Quote Post
107
сообщение Feb 19 2008, 08:23
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 12-02-08
Пользователь №: 34 980



Да, они так и пишут:
Цитата
The JTAG interface is only enabled by the JTAGEN
fuse, plus the JTD bit in MCUCR must not be set. OCDEN is only
required for on-chip debugging, and like AVR Studio, AVaRICE is
supposed to automatically handle setting this fuse when starting a
debugging session.

Типа для того чтобы работал JTAG - достаточно флага JTAGEN и снятого JDT, но выставление этого флага помогло, и чуваки предположили что:
Цитата
However, I've seen one scenario where a deactivated OCDEN fuse causes
similar JTAG connection issues as seen by the submitter of this bug
report: the device in question entered power-save sleep mode, and
while being in that kind of deep sleep, the JTAG communication cannot
be initiated. Setting the OCDEN fuse, however, effectively prevents
the device from entering a real power-save state, so JTAG still works.

Типа мой AVR ушел в глубокую спячку, и с ним невозомжно было установить коннект, а когда я выставил OCDEN - он начал работать нормально. И предложили:
Цитата
I think we should be able to handle that situation, probably by making
the ICE pull the nSRST line before trying to initiate the JTAG
communication. A device being in reset state is not supposed to
sleep, so JTAG comm ought to work. (This will also help in situations
where JTD is being set early within the application, but obviously
only until the application reaches the instruction that sets JTD.)

Может доделают такую штуку в следующей версии avarice...


---
Ха! Вот еще новости.
Я залил в AvrStudio4 в Windows в свою ATmeg-у другую программу. Пустую, чисто для теста с void main (void).
И теперь у меня устройство видится и шьется и в avarice и в avrdude в Linux даже _без_ OCDEN бита!
Следовательно причина бага кроется где-то в старом коде, видимо он на самом деле вгонял девайс в глубокую спячку.
Причем AvrStudio4 у меня все время спрашивало перед тем как залить:
Цитата
Failed to identify target. Would you like to retry with external reset enabled?

А теперь перестало.
Осталось чтобы этот "external reset" добавили в avarice или avrdude. smile.gif

Сообщение отредактировал 107 - Feb 19 2008, 08:25
Go to the top of the page
 
+Quote Post



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

 


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


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