Страница 1 из 1

Почему то работает то нет ISP?

Добавлено: Вс апр 14, 2013 19:38:15
axillent
осваиваю STK600 + JTAGICE3
почему-то постоянно перестает работать последовательный интерфейс, а без него отладка в принципе не возможна

причем бывает такое - работает, выключаешь включаешь - не работает, ничего не менял!

с atmega2560 по jtag вроде все четко работает, а вот пытаюсь тоже сделать с atmega328 по ISP - то работает то нет
ничего не понимаю

где копать?

форум поискал, не нашел, может плохо искал, просьба палками не бить за глупый вопрос

Re: Почему то работает то нет ISP?

Добавлено: Вс апр 14, 2013 20:15:01
axillent
разобрался )) сам виноват
для отладки atmega328 студия предложила включить бит debugwire, а после его включения ISP перестает работать
кажется так

никак не привыкну к stk600
что-то как-то заморочено все
схему простую которую отладил на макетке без stk никак не могу сделать стабильно работающей на stk
в схеме дисплейчик nokia5110 и ds18b20
дисплей начинает работать только после каких то шаманских танцев, хотя вчера на макетке работать как часы
в отладке видно, что значения с датчика температуры считываются верно, но дисплей пустой

Re: Почему то работает то нет ISP?

Добавлено: Пн апр 15, 2013 12:47:12
axillent
конечно впечатляет когда можешь в реальном времени на реальной железке делать отладку софта, ставить точки останова и видеть живые значения регистров и портов ввода-вывода!

как оказалось (из чтения документации я это не смог вынести) для отладки stk не подходит, не смотря на свою стоимость она отладку делать не умеет
stk хорош тем, что поддерживает работу с любыми (именно любыми) контроллерами от атмела, включая экзотических малышей tiny4/5/9/10

а вот для отладки нужны дебагеры - самый дешевый драгон, на сайте атмела стоит всего 49 баксов
я купил jtagice3 он там стоит 99
правда по политическим мотивам атмел в россию не шлет (редиски)
но чуть дороже можно купить в моусере или на фарнеле, оно того стоит

совершенно не понимаю цен в москве - тот же jtagice3 в чипдипе 16800р!!!!

вот и я пришел к тому, чтобы отказаться от удобных cvavr/microC и вернуться на atmel studio
почему нельзя было в студии сделать стандартные библиотеки?)

буду очень признателен за ссылки на готовые к применению в студии библиотеки
через поисковик нашел только некие куски и те приходится под себя допиливать

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 16:58:46
axillent
возник еще один вопрос в туже тему

для отладки debugWire (tiny и младщие меги можно отлаживать только так, они не умеют jtag)
нужны теже 6-ть проводов, что для iSP

но если включаешь бит отладки во в фьюзах, то ISP перестает работать
как тогда этот бит выключить обратно?

например спаял я схему с впаянным контроллером (например мега8 в tqfp корпусе)
отладил прошивку
как теперь снять бит во фьюзах?

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 19:13:29
uk8amk
axillent писал(а):как тогда этот бит выключить обратно?
Из встроенного хелпа:
Debug options
When debugging an AVR device using AVR Studio 4, the AVR Dragon options dialog contains some important configuration options. Those options which need further explanation are:
...
Disable debugWIRE

Disable debugWIRE: When the DWEN fuse is programmed, the debugWIRE OCD module takes control of the RESET line. This means that the SPI interface is no longer accessible. Using the disable debugWIRE button while debugging will instruct the debugWIRE module to temporarily disable itself, thus allowing SPI programming to take place.

Note that if target power is toggled before DWEN is cleared using SPI, the debugWIRE interface will be re-enabled.
Note that if the SPIEN fuse has been cleared, the disable debugWIRE button will disable debugWIRE temporarily, but the SPI interface will not be enabled.
axillent писал(а):как теперь снять бит во фьюзах?
Никак. У Атмега8 нету DebugWire и каких-либо отладочных интерфейсов.

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 19:33:11
axillent
uk8amk писал(а): Никак. У Атмега8 нету DebugWire и каких-либо отладочных интерфейсов
почему же оно у меня работает?)
в том то и прелесть!
после мучений со слепой отладкой в это сложно поверить - ставишь точки останова в реальном контроллере и в момент остановки видишь значения переменных, состояние портов и значение регистров контроллера
это же мега круто (ну и tiny круто :))

есть, не только у меги, но и у tiny тоже есть
у кого-то debugwire у кого то awire еще проще
OCD (модуль отладки встроенный в чип) есть у всех avr
если открыть хелп в студии
далее зайти в JTAGICE3
далее в JTAGICE Debuger то на этой страничке будет ссылка Atmel Studio device support table
в табличке полный перечень контроллеров и дебагеров что с чем работает
uk8amk писал(а): Disable debugWIRE

Disable debugWIRE: When the DWEN fuse is programmed, the debugWIRE OCD module takes control of the RESET line. This means that the SPI interface is no longer accessible. Using the disable debugWIRE button while debugging will instruct the debugWIRE module to temporarily disable itself, thus allowing SPI programming to take place.

Note that if target power is toggled before DWEN is cleared using SPI, the debugWIRE interface will be re-enabled.
Note that if the SPIEN fuse has been cleared, the disable debugWIRE button will disable debugWIRE temporarily, but the SPI interface will not be enabled.
а вот это супер интересно
значит debugwire сам умеет себя как-то отключать
только не понятно о какой кнопке идет речь

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 19:39:57
axillent
картинка из настройки проекта - в инструментах как раз настроен jtagice3 и выбран протокол - debugwire

чип в проекте у меня atmega328, но с atmega8 будет тоже самое
а вот с atmega2560 уже будет возможность выбрать jtag

при этом в случае изменений в программе при нажатии кнопки Run студия автоматически перед стартом загрузит через debugwire новую прошивку
очень удобно

Изображение
2013-04-16 08.45.41 pm.png
(23.23 КБ) 1601 скачивание

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 19:57:02
uk8amk
У вас студия сильно свежее, поэтому что-то конкретно сказать не могу. Только искать кнопку типа 'Disable debugWire' где-то в опциях проекта.

Про атмега8 - попробуйте найти хотя бы одно отличие в приложенных скринах с даташита.

(Исключение Atmega8 USB серии, но это другая песня)

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 20:07:22
axillent
uk8amk писал(а): Про атмега8 - попробуйте найти хотя бы одно отличие в приложенных скринах с даташита.
упс
подстава, а я ими обзавелся исходя из того, что очень много схем сделано под восьмерку :(

даташиты со своими тараканами, специально посмотрел даташит на мегу328 - там тоже нет ни слово про debugWire, однако в студии это работает
а вот с мега8 если выбрать ее в проекте в разделе Tools уже нет debugWire.....
Изображение
2013-04-16 09.12.23 pm.png
(53.71 КБ) 1561 скачивание

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 20:14:28
SmarTrunk
А ATmega88 вообще-то очень похожа на ATmega8.
У них вообще значительные отличия есть, кроме DebugWire?
Может, можно на Меге88 все отладить, потом для Меги8 перекомпилировать (с минимальными необходимыми изменениями, или вообще без них).

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 20:16:35
axillent
uk8amk писал(а):У вас студия сильно свежее, поэтому что-то конкретно сказать не могу. Только искать кнопку типа 'Disable debugWire' где-то в опциях проекта.
Нашел - все просто
Во время запущенной отладки нужно открыть меню сверху Debug и там будет пункт "Disable debugWire and close"
Если я правильно понял выдержку выше, то отключается debugWire до следующего отключения питания
поэтому если хочется его совсем отключить, после временного его отключения нужно через ISP перепрограмировать фьюзы

поправьте меня если я не верно понял

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 20:32:43
SergeBS
axillent писал(а): совершенно не понимаю цен в москве - тот же jtagice3 в чипдипе 16800р!!!!
Тут не в Москве дело. В моей деревне в "Радиолавке" резистор 0.25 Вт - 50 коп. А в чиподрале на остановку дальше - 5 руб. У них ВСЕГО в 2 раза цены выше, чем в другом месте - уже редко.
SmarTrunk писал(а):Может, можно на Меге88 все отладить, потом для Меги8 перекомпилировать (с минимальными необходимыми изменениями, или вообще без них).
Года 3 назад сделал 2 TransistorTester - ну тут лежит схема и тп. Так вот 1 сделан на ATmega8-DIP, а 2-й - на ATmega88 TQFP. Прошивка одинаковая (тогда вроде для 88-х и не было отдельных). Работа тестеров - тоже :). Вот такой опыт. В ветке про этот тестер можно посмотреть - вроде что-то было на эту тему: ATmega8 <-> ATmega88.

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 20:38:26
SmarTrunk
Вот о чем и речь, ATmega8 не выкидывать (шутка), а отладит все на ATmega88 (ее нужно будет купить 1 шт.), а дальше в ATmega8 прошивать.

Вот нашел какой-то документ по отличиям:
http://www.gaw.ru/pdf/Atmel/app/avr/AVR094.pdf

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 20:44:46
axillent
SmarTrunk писал(а):Вот о чем и речь, ATmega8 не выкидывать (шутка), а отладит все на ATmega88 (ее нужно будет купить 1 шт.), а дальше в ATmega8 прошивать.
да, как то так
в принципе мне хватит отладки и на 328-х, отличий больше, но для многих приложений может быть не критично

вся эта история такая подстава от атмела в которой они похоже не сильно хотят сознаваться
перечел тучу документов перед покупкой stk600 и ice3
нигде не было ссылок на то, что "некоторые чипы особенные"

наоборот везде пишется про то, что all AVR devices

типа attiny13 умеет, а мега8 нет ...

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 21:48:19
uk8amk
axillent писал(а):поправьте меня если я не верно понял
Чтобы включить DebugWire, надо в ISP-режиме записать фьюз DWEN(студия сама может предложить сделать автоматически). После этого передернуть питание. Затем можно коннектиться к таргету.
Когда таргет находится под отладкой, он работает не всегда как без отладки(особенно касается режимов сна).
Чтобы отключить DW, надо в режиме отладки пнуть ту кнопку "Disable debugWire and close", которая снимает фуз DWEN. После этого - это самая обычная атмега/аттини.
SmarTrunk писал(а):У них вообще значительные отличия есть, кроме DebugWire?
По большому счету прога для М8 может быть перенесена на М88 за полчаса практически без проблем(если на Си).
Обратно сложнее. Основные отличия:
-Система тактирования
-Режимы работы таймеров, ШИМы
-SPI, UART
-Система прерываний.
axillent писал(а):нигде не было ссылок на то, что "некоторые чипы особенные"
На сайте атмеля про JTAG ICE3
http://www.atmel.com/tools/JTAGICE3.aspx?tab=overview
Key Features
Supports JTAG, aWire, SPI and PDI interfaces
3 hardware program breakpoints and 1 maskable data breakpoint (depending on the OCD module on the AVR microcontroller)
Symbolic debug of complex data types including scope information
Так что все честно, Мега8 и прочее старье не отлаживается, но прошиваться может.

Re: Почему то работает то нет ISP?

Добавлено: Вт апр 16, 2013 22:53:56
SergeBS
Во елы. Меня начинают терзать сомнения - на чем все-таки я 2-й прибор сделал. Он у меня в коробке(корпусе) с хитрыми захлопушками. Записей не осталось - листал не нашел. Только вскрытие покажет - что там все же, не пора ли склероз лечить. Так что пока - считать что если и прошивал 88, то перед этим либо компилировал, либо все же лямзил прошивку под 88. Завтра пороюсь в хламчике, вскрою, определю.

Re: Почему то работает то нет ISP?

Добавлено: Чт апр 18, 2013 21:18:14
axillent
Воплотил частично отладенную на stk600 схему в железе с установленным 6ти контактным ISP разьемом
Сначала что то глючило, но после пары перезагрузки винды таки в моем железе отладка тоже заработала

Как же это классно. Отлаживаю плату, видя все порты в живую в отладке без дополнительных усилий