разобрался )) сам виноват
для отладки atmega328 студия предложила включить бит debugwire, а после его включения ISP перестает работать
кажется так
никак не привыкну к stk600
что-то как-то заморочено все
схему простую которую отладил на макетке без stk никак не могу сделать стабильно работающей на stk
в схеме дисплейчик nokia5110 и ds18b20
дисплей начинает работать только после каких то шаманских танцев, хотя вчера на макетке работать как часы
в отладке видно, что значения с датчика температуры считываются верно, но дисплей пустой
конечно впечатляет когда можешь в реальном времени на реальной железке делать отладку софта, ставить точки останова и видеть живые значения регистров и портов ввода-вывода!
как оказалось (из чтения документации я это не смог вынести) для отладки stk не подходит, не смотря на свою стоимость она отладку делать не умеет
stk хорош тем, что поддерживает работу с любыми (именно любыми) контроллерами от атмела, включая экзотических малышей tiny4/5/9/10
а вот для отладки нужны дебагеры - самый дешевый драгон, на сайте атмела стоит всего 49 баксов
я купил jtagice3 он там стоит 99
правда по политическим мотивам атмел в россию не шлет (редиски)
но чуть дороже можно купить в моусере или на фарнеле, оно того стоит
совершенно не понимаю цен в москве - тот же jtagice3 в чипдипе 16800р!!!!
вот и я пришел к тому, чтобы отказаться от удобных cvavr/microC и вернуться на atmel studio
почему нельзя было в студии сделать стандартные библиотеки?)
буду очень признателен за ссылки на готовые к применению в студии библиотеки
через поисковик нашел только некие куски и те приходится под себя допиливать
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 и каких-либо отладочных интерфейсов.
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 сам умеет себя как-то отключать
только не понятно о какой кнопке идет речь
uk8amk писал(а):
Про атмега8 - попробуйте найти хотя бы одно отличие в приложенных скринах с даташита.
упс
подстава, а я ими обзавелся исходя из того, что очень много схем сделано под восьмерку
даташиты со своими тараканами, специально посмотрел даташит на мегу328 - там тоже нет ни слово про debugWire, однако в студии это работает
а вот с мега8 если выбрать ее в проекте в разделе Tools уже нет debugWire.....
А ATmega88 вообще-то очень похожа на ATmega8.
У них вообще значительные отличия есть, кроме DebugWire?
Может, можно на Меге88 все отладить, потом для Меги8 перекомпилировать (с минимальными необходимыми изменениями, или вообще без них).
uk8amk писал(а):У вас студия сильно свежее, поэтому что-то конкретно сказать не могу. Только искать кнопку типа 'Disable debugWire' где-то в опциях проекта.
Нашел - все просто
Во время запущенной отладки нужно открыть меню сверху Debug и там будет пункт "Disable debugWire and close"
Если я правильно понял выдержку выше, то отключается debugWire до следующего отключения питания
поэтому если хочется его совсем отключить, после временного его отключения нужно через ISP перепрограмировать фьюзы
axillent писал(а):
совершенно не понимаю цен в москве - тот же jtagice3 в чипдипе 16800р!!!!
Тут не в Москве дело. В моей деревне в "Радиолавке" резистор 0.25 Вт - 50 коп. А в чиподрале на остановку дальше - 5 руб. У них ВСЕГО в 2 раза цены выше, чем в другом месте - уже редко.
SmarTrunk писал(а):Может, можно на Меге88 все отладить, потом для Меги8 перекомпилировать (с минимальными необходимыми изменениями, или вообще без них).
Года 3 назад сделал 2 TransistorTester - ну тут лежит схема и тп. Так вот 1 сделан на ATmega8-DIP, а 2-й - на ATmega88 TQFP. Прошивка одинаковая (тогда вроде для 88-х и не было отдельных). Работа тестеров - тоже . Вот такой опыт. В ветке про этот тестер можно посмотреть - вроде что-то было на эту тему: ATmega8 <-> ATmega88.
Человек - это звучит гордо, а обезьяна - объективно...
SmarTrunk писал(а):Вот о чем и речь, ATmega8 не выкидывать (шутка), а отладит все на ATmega88 (ее нужно будет купить 1 шт.), а дальше в ATmega8 прошивать.
да, как то так
в принципе мне хватит отладки и на 328-х, отличий больше, но для многих приложений может быть не критично
вся эта история такая подстава от атмела в которой они похоже не сильно хотят сознаваться
перечел тучу документов перед покупкой stk600 и ice3
нигде не было ссылок на то, что "некоторые чипы особенные"
наоборот везде пишется про то, что all AVR devices
axillent писал(а):поправьте меня если я не верно понял
Чтобы включить DebugWire, надо в ISP-режиме записать фьюз DWEN(студия сама может предложить сделать автоматически). После этого передернуть питание. Затем можно коннектиться к таргету.
Когда таргет находится под отладкой, он работает не всегда как без отладки(особенно касается режимов сна).
Чтобы отключить DW, надо в режиме отладки пнуть ту кнопку "Disable debugWire and close", которая снимает фуз DWEN. После этого - это самая обычная атмега/аттини.
SmarTrunk писал(а):У них вообще значительные отличия есть, кроме DebugWire?
По большому счету прога для М8 может быть перенесена на М88 за полчаса практически без проблем(если на Си).
Обратно сложнее. Основные отличия:
-Система тактирования
-Режимы работы таймеров, ШИМы
-SPI, UART
-Система прерываний.
axillent писал(а):нигде не было ссылок на то, что "некоторые чипы особенные"
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 и прочее старье не отлаживается, но прошиваться может.
Во елы. Меня начинают терзать сомнения - на чем все-таки я 2-й прибор сделал. Он у меня в коробке(корпусе) с хитрыми захлопушками. Записей не осталось - листал не нашел. Только вскрытие покажет - что там все же, не пора ли склероз лечить. Так что пока - считать что если и прошивал 88, то перед этим либо компилировал, либо все же лямзил прошивку под 88. Завтра пороюсь в хламчике, вскрою, определю.
Человек - это звучит гордо, а обезьяна - объективно...
Воплотил частично отладенную на stk600 схему в железе с установленным 6ти контактным ISP разьемом
Сначала что то глючило, но после пары перезагрузки винды таки в моем железе отладка тоже заработала
Как же это классно. Отлаживаю плату, видя все порты в живую в отладке без дополнительных усилий