Dimonira 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба SPI вообще-то синхронный интерфейс - ему пофиг какая частота, до определнных значений, конечно. Гораздо важнее, и про что я говорю - задержки после команд типа стирания, запист страницы и т.д. И вот в этих случаях, особенно, если запаса никакого не предусмотрели, времянку нарушать не хотелось бы, чтобы не получить недозашитый чип. Да ему то пофиг. Я говорил о том, чтобы было соответствие частоты, которую показывает Студия частоте, которая есть на самом деле. Хотя если готовность определяется опросом, то сие тоже не существенно. Готовность определяется так, как запросила Студия. В соответствии с протоколом есть три способа ожидания. ------------------------------------------------------------------------------------------------------------------ Сори, что сразу не ответил: А у Вас есть уверенность, что точно прошьет?... Что Atmel не добавит какой-нить костыль на Host'e, не изменит сам STK протокол на v.3, и т.д.? Этот вопрос касается ВСЕХ программаторов, ранее обсуждавшихся. А у вас есть уверенность, что фирменный AVRISP точно прошьёт? А вот у меня нет. Если не прошьёт, вы будете ждать от "фирмы" решения проблемы неизвестно сколько. А я не буду, - сам быстро решу проблему. Что касается моего варианта, то я уже говорил, что я не проверял работу с кристаллами, у которых памяти больше 64КБ. Так что с ними уверенности нет, тем более что по этому поводу протокол STK500 неоднозначен. Так же нет уверенности с работой универсальных команд протокола, т.к. Студия их не применяет и когда применяет (и для чего)неизвестно. Только страшного я тут ничего не вижу, - будут траблы, преодолеем. Что касаемо Атмела с его протоколом. Он опубликован для сторонних производителей. Так что фактически Атмел обязал сам себя его "держать" незыблемым. Если же их потянет что-то менять, то они так же вынуждены будут это сразу опубликовать (иначе эти производители с них спросят шозанах). Поэтому коли будут изменения, то и будут исправления. Но я почему-то думаю, что ничего не поменяется - нет смысла. Да и судя по поведению Атмела (имхо дурью маятся), они скорее сделают какой-нибудь новый интерфейс, как в ХМЕГА сделали. Знаете, что мне очень не понравилось и прямо сказать задело в ваших первых 15-ти постах - то что вы напрочь отметаете все что было до вас - как "дерьмое", хреново сделанное и т.п., причем даже как следует не покурив, как стандартное так и нестандартное. Во-первых, не надо преувеличивать. Я говорил лишь, что мне не понравилось и не подходит (и почему тоже говорил!). Во-вторых, у меня есть такое право - делать то, что я хочу. Равно как не повторять то, что кто-то делал до меня. Захотел сделать своё - сделал. Какие претензии у вас к ОРИГИНАЛЬНОМУ AVRISP? (кроме цены, т.к. я уже показал что цена его == цене m8535). Никаких! Пусть живёт :) Но не у меня. Мне он не нужен (даже даром). Да конечно, если работать только с Pony-Prog, то появляется необходимость сделать что-то лучше. Pony-Prog лет 15 назад по сути был единственным вариантом для "нищих". Правда я им так и не воспользовался. В своём варианте я "вставил" такую возможность только для целей первичного программирования. Но это не значит, что надо варганить свое с нуля... Вот я и хочу предостеречь от такого подхода. Не надо навязывать свои критерии и считать всех остальных за дураков. Каждый сам решает для себя как ему поступить: делать с нуля, повторить чьё-то или купить готовое. Зачем вообще что-то коробить. Вы не будете, но другие возможно будут. Доработка стандатного программатора HW фичами - это одно - от этого есть польза. Написание своего софта, к стандартному программатору - тоже прекрасно. Ну это же не ваше дело, кто и что будет. Другие сами решат что им делать (если не смогут - спросят у вас :) ). Изобретение своего программатора тоже прекрасно. И что прекраснее другого каждый сам решает для себя. Изобретение велосипеда, без дальнейшей поддержки и развития - это совсем другое. Почему без поддержки и развития? Всё открыто, какие проблемы? Каждый может "поддержать и развить". Да и я не отказывался. как разработчику вам зачет. как маркетологу - незачет (практическая ценность разработки невысока). Ну спасибо, последний раз зачёты получал лет 25 назад :) И вот опять... Маркетинг - это совсем из другой области (и форум другой). Я бизнес на своём программаторе делать не собирался (потому и выложил). Просто я сделал годный мне программатор и выложил информацию для тех (только), кому это нужно. И ВСЁ. Так что на зачёт не сдавал. Если Вы знаете ошибки в проекте "AvrUsb500 by Petka". Прошу о них сообщить. Разумеется в соответствующем топике. Сожалею, но я "пометок" не делал. Я сейчас даже не помню у какого именно варианта я замечал ошибки. Мне тогда нужно снова всё "перелопачивать", но на это нужно время. Будет время, посмотрю ещё раз. так программатор и есть конвертер, обычный СОМ порт , работает и со старыми программами программирования, и с новыми, в Win/Lin/Mac (а как с этим обстоят дела с софтовыми типа протосса ?). Задействуется и в других целях - напр. для вывода отладочной информации. Зачем там еще угребищный DB9 ? не согласен, иногда бывает трудно найти поблизости доп.розетку, плюс можно перепрограммировать вообще при отсутствии электричества с заряженным ноутом. зачем насиловать выводы контроллера ? через защ.диоды он будет запитывать всю программируемую систему. просмотрите ветку http://electronix.ru/forum/index.php?showtopic=18676 - там куча вопросов и воплей из-за проблем с различным питанием программатора и программируемого, плюс проблемы с надежностью самого софтового USB. и это ради экономии 4$ и отсутствии последовательного канала ? Полностью разделяю. кстати, тот же FT232R может работать в режиме Async bit bang, частота обновления выводов определяется как 16 х baud rate (вряд ли для программирования нужна частота больше нескольких мегагерцев), плюс VCCIO поддерживает напряжения 1.8..5.5В. Учитывая что задействовать одновременно последовательный и параллельный ввод-вывод не нужно, то получается что FT2232 - излишество, тем более в 3 раза более дорогое. заказал FT232R, попробую собрать на нем Serial+ISP, возможно и с опторазвязкой (как раз нужен будет программатор AT45DBxx/AT25xx). хех, решается вопрос переноса софта на хост. Вот как раз сейчас и занимаюсь реализацией идеи программатора на одной FT232R (если отбросить изоляцию и питание). Причём не только программатора, но и, возможно, JTAG. Пока буду по возможности реализовывать такую идею: сделаю драйвер + программу, которая будет создавать виртуальный СОМ-порт с одной стороны (его задавать в Студии как порт программатора AVRISP), а с другой - работать через FT232R в режиме bit-bang. Таким же макаром можно будет потом и JTAG соорудить. Скорее всего софт сделаю на "каникулах", не раньше (времени мало). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Сожалею, но я "пометок" не делал. Я сейчас даже не помню у какого именно варианта я замечал ошибки. Мне тогда нужно снова всё "перелопачивать", но на это нужно время. Будет время, посмотрю ещё раз. не помните у какого а "поливаете" всех? Всё ещё жду описание обнаруженных ошибок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба не помните у какого а "поливаете" всех? Я, как вы говорите, "поливал" всех не за ошибки, а за ПЛОХОЧИТАЕМЫЙ КОД, изобилующий лишними строчками (правда я не очень понимаю обиды на это, поскольку этот код в основной объёме ЧУЖОЙ, иными словами просто взят и откорректирован). Ошибки я обнаруживал кое-где. Причём это были ошибки (насколько я помню), которые могли "всплыть" лишь в определённых случаях (на одной из "веток" алгоритма), а может на практике и вообще никогда. Но если есть написанный код, то... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nicolaevich 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Что касается моего варианта, то я уже говорил, что я не проверял работу с кристаллами, у которых памяти больше 64КБ. Так что с ними уверенности нет, тем более что по этому поводу протокол STK500 неоднозначен. Так же нет уверенности с работой универсальных команд протокола, т.к. Студия их не применяет и когда применяет (и для чего)неизвестно. Только страшного я тут ничего не вижу, - будут траблы, преодолеем. Собрал программатор по упрощенной версии без гальванической развязки выбросил кварц и тактирую процессор ат FT232R частотой 12 МГц пришлось перекомпилить проект в части скорости UART и скорости SPI (аппаратная скорость 6,3,1.5,0.75 Мгц) да еще процессор ATmega8 / Все работает отлично прошивал ATmega128 на скорости SPI 6Мгц (avrdude -p m128 -c avrispv2 -Pcom3 -U flash:w:test.hex ) время прошивки и вепификации 22 с. для сравнения STK200 и avreal 15 c при скорости SPI 2Мгц . Вывод : програматор вполне пристойный и гараздо быстрее всех здесь упоминавшихся Особо хотелось поблагодарить автора за хорошо документированый код и инструкции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Всё ещё жду описание обнаруженных ошибок. Не будет: я сейчас по-быстрому посмотрел проекты, которые я рассматривал. Освежил так сказать память. Так вот ваш код (тьфу, Tuxgraphics), я сразу отложил в сторону, - мне он не понравился (т.е. не понравилась сама реализация). Так что ошибок я там не обнаруживал, т.к. в код не вдавался. Что касается именно ошибок (или даже 1-й ошибки, не помню), что я находил, то это скорее всего было в проекте от Doper, поскольку я детально рассматривал именно его, когда сравнивал протокол STK500 и его реализацию в Doper. Я даже скачивал WinAVR для компилляции (хотя им никогда не пользовался) этого проекта и пытался его зашивать в железо Prottoss-а (МастерКит). Но когда это не заработало, я плюнул, и после этого как раз принял решение делать всё своё. Собрал программатор по упрощенной версии без гальванической развязки выбросил кварц и тактирую процессор ат FT232R частотой 12 МГц Имеется в виду 12 МГц с выхода FT232R? Да, тоже вариант. У меня такая мысля была, но я решил всё же поставить кварц со стандартной частотой. Да и M88V при 1.8В питании официально не работает на частоте более 4 МГц, а на 12 и вообще, только M88. Да, ещё вопрос: объём прошиваемого кода был больше 64КБ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nicolaevich 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Имеется в виду 12 МГц с выхода FT232R? Да, тоже вариант. У меня такая мысля была, но я решил всё же поставить кварц со стандартной частотой. Да и M88V при 1.8В питании официально не работает на частоте более 4 МГц, а на 12 и вообще, только M88. Да, ещё вопрос: объём прошиваемого кода был больше 64КБ? Да 12 МГц с выхода FT232R (CBUS2) К сожелению размер кода 59549 bytes of CODE memory 33981 bytes of DATA memory Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба 59549 bytes of CODE memory Эх, маловато. А может вставите какой-нибудь "пустой" массив во флеш для переваливания за 64КБ? Но я не настаиваю, так если время есть и желание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба кстати, тот же FT232R может работать в режиме Async bit bang, частота обновления выводов определяется как 16 х baud rate (вряд ли для программирования нужна частота больше нескольких мегагерцев), плюс VCCIO поддерживает напряжения 1.8..5.5В. Учитывая что задействовать одновременно последовательный и параллельный ввод-вывод не нужно, то получается что FT2232 - излишество, тем более в 3 раза более дорогое. async bitbang был и у FT232BM, но счастья в нём мало. У FT232R есть sync bitbang. Поковырялся немного, вот "послеотпускное" на работе/дома разгребу окончательно и допишу поддержку. Излишество ли FT2232, равно как и причины/поводы для всех поломанных в этой теме копий - каждый решает сам. 1) FT2232/MPSSE даёт гораздо большую скорость, чем может дать {FT2232|FT232R}/SYNC_BITBANG, этот последний реально недотягивает даже до LPT. Причина проста - при MPSSE посылается один байт и выдвигается побитово, при SYNC_BITBANG надо послать на один байт эмулируемого SPI аж 16 байт заготовленных масок. И упирается всё уже не в 16*baud_rate, а в пропускную способность 12Mbit/s USB как таковой. Итого первоначальная оценка (тестовая программа с замером времён + осциллограф) дают скорость зашивки AVR через FT232R раза в два-три медленнее, чем LPT. Оценка скорее пессимистическая, т.е. может и выйдет в полтора-два раза, а не в два-три, но пусть лучше радость будет, чем разочарование :-) А FT2232, напоминаю, заливает 128кил флеша за пять секунд, читает за две (при ключе -o12000 == при 3МГц SPI). Для кого-то это может оказаться важнее цены, про которую через несколько месяцев уже и забудешь. 2) для FT2232 есть поддержка для ARM и Blackfin (точнее, для блекфиновского адаптера надо узнать расположение вывода, разрешающего выходные формироатели + его description - и он будет поддержан в avreal написанием нужного config-файла и указанием нужных ключей, как это уже проверено с Olimex-овским ARM OCD) Так что, на мой взгляд, FT232R расширяет спектр возможных адаптеров, но не вытесняет FT2232. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Так что, на мой взгляд, FT232R расширяет спектр возможных адаптеров, но не вытесняет FT2232. Да я думаю, что оба варианта могут нормально жить. Скорость ведь тоже не всем нужна. Кому-то будет проще и дешевле самому собрать на FT232, для неё же обвязки почти никакой + дешевле + паять попроще. FT2232 конечно помощнее, тем более ожидаемая FT2232H. В общем каждому своё. А всё-таки как на счёт STK500 в AvReAl? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nicolaevich 0 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба Эх, маловато. А может вставите какой-нибудь "пустой" массив во флеш для переваливания за 64КБ? Но я не настаиваю, так если время есть и желание. Провел тестирование для ATmega 128 с размером кода 78088 kb прошил нормально все работает ниже результат: для avrdude ____________ D:\WORK\Me\Програматор_AVR\test_prg\avrdude>avrdude -p m128 -c avrispv2 -Pcom3 -U flash:w:test.hex avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.06s avrdude: Device signature = 0x1e9702 avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "test.hex" avrdude: input file test.hex auto detected as Intel Hex avrdude: writing flash (78088 bytes): Writing | ################################################## | 100% 14.69s avrdude: 78088 bytes of flash written avrdude: verifying flash memory against test.hex: avrdude: load data flash data from input file test.hex: avrdude: input file test.hex auto detected as Intel Hex avrdude: input file test.hex contains 78088 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 15.06s avrdude: verifying ... avrdude: 78088 bytes of flash verified avrdude: safemode: Fuses OK avrdude done. Thank you. для STK500 _____________________ D:\WORK\Me\Програматор_AVR\test_prg\STK500>stk500.exe -ccom3 -ms -J -I921600 - J -dATmega128 -s -e -iftest.hex -pf -iftest.hex -vf STK500 command line programmer, v 2.2 Atmel Corp © 2004-2005. Connected to STK500 V2 on port com3 Setting ISP frequency to 921.6 kHz (0x00) Getting ISP frequency: 921.6 kHz (0x00) Device parameters loaded Programming mode entered Device erased Signature is 0x1E 0x97 0x02 FLASH input file read Programming FLASH... FLASH programmed Reading FLASH... FLASH read FLASH verified successfully Programming mode left Connection to STK500 V2 closed время програмирования 20 с. время верификации 16 с. Для сравнения время програмирования и верификации avreal v1.26.3 18 c. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nicolaevich 0 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба Так что, на мой взгляд, FT232R расширяет спектр возможных адаптеров, но не вытесняет FT2232. Хочется добавить есть такой програматор http://hubbard.engr.scu.edu/embedded/avr/ftisp/ на самом деле это FT232R и все выводы програмирования : SCK -DTR RES -RI MISO -DSR MOSI -DCD Позволяет програмировать все семейство ATmega Вот результат програмирования ATmega 128 D:\WORK\Me\Програматор_AVR\test_prg\Ft>ftisp -B 4000000 -Fr -E -fw testb.bin Welcome to FT-ISP: FTDI ISP Programming Tool V2 Build: Oct 20 2008 -- ©2006-2008 Pascal Stang --------------------------------------------------------- ftisp: Detected 1 FTDI device(s) connected ftisp: Opening FTDI device. ftisp: Enter Programming Mode. ftisp: Read Signature Bytes => 1E 97 02 ftisp: Identified part as ATmega128. ftisp: Setting ISP bitrate to 4000000. ftisp: Reading fuse bits => 0xFFCFBF ftisp: Erasing chip...Done. ftisp: Reading File 'testb.bin'...78088 bytes ftisp: Writing program memory (FLASH=128K, Page=256b)... Writing | ################################################## | 100% 25.98s ftisp: Leaving programming mode. ftisp: Closing FTDI device. --------------------------------------------------------- D:\WORK\Me\Програматор_AVR\test_prg\Ft>pause Для продолжения нажмите любую клавишу . . . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба Провел тестирование для ATmega 128 с размером кода 78088 kb прошил нормально все работает Спасибо за проделанную проверку. Она порадовала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба А всё-таки как на счёт STK500 в AvReAl? :)Ну как сказать... По мере возникновения у меня интереса к stk500 ;) Тут уже звучали такие слова - "я сделал для себя то, что нужно мне". Именно так был сделан 10+ лет назад avreal. А сейчас я в него добавил то, что было проще опять таки мне. Потихоньку структуру программы правлю, что повышает шансы попасть в неё поддержке stk500, но всё же это не первоочередные пункты. Для сравнения время програмирования и верификации avreal v1.26.3 18 c.78килобайт? Это время программирования плюс верификации или время и программирования и верификации по отдельности, а суммарное 36 секунд? Если второе, то или мега тактируется от одного мегагерца или надо было дать ключик -o с правильной частотой. 1.1-микросекундный LPT даёт возможность залить+прочесть все 128 килобайт меги128 за 12+12 секунд, 0,75-микросекундный - за 10+8 секунд, 0,24-микросекундный (да, такие чудеса встречаются) - за 6,5+5 секунд. Это всё как раз для 1.26r3/1.27r0 Хочется добавить есть такой програматор http://hubbard.engr.scu.edu/embedded/avr/ftisp/ ... Позволяет програмировать все семейство ATmega Ну да. FT232R не вчера родилась, давно должно было что-то такое появиться. Я просто года три (если не четыре) в спячке был. Мне и сейчас не печёт USB, но какое-никакое свободное время появилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nicolaevich 0 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба 78килобайт? Это время программирования плюс верификации или время и программирования и верификации по отдельности, а суммарное 36 секунд? Если второе, то или мега тактируется от одного мегагерца или надо было дать ключик -o с правильной частотой. 1.1-микросекундный LPT даёт возможность залить+прочесть все 128 килобайт меги128 за 12+12 секунд, 0,75-микросекундный - за 10+8 секунд, 0,24-микросекундный (да, такие чудеса встречаются) - за 6,5+5 секунд. Это всё как раз для 1.26r3/1.27r0 Тестировалось програмирование ATmega128 тактовая частота 14Мгц размер кода (78088 bytes) Результат вот D:\WORK\Me\Програматор_AVR\test_prg\avreal>avreal32 +mega128 - -o3000 -p1 -2 -E -e -w -v -f_low=BF,_high=CF,_ext=FF -l2 -ctest.hex avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr v1.26rev3 (Oct 31 2008 14:01:29) http://www.ln.ua/~real/avreal bug-reports, suggestions and so on mail to [email protected] Command: +mega128 - -o3000 -p1 -2 -E -e -w -v -f_low=BF,_high=CF,_ext=FF -l2 -ct est.hex Device connected, mega128 detected Chip locked - reading and programming disabled Device erased Device connected, mega128 detected Fuses OSCCALs = AA AB A1 A0 BODLEVEL = 1 BODEN = 0 SUT = 3 CKSEL = F BLB1 = 3 BLB0 = 3 OCDEN = 1 JTAGEN = 1 CKOPT = 0 EESAVE = 1 BOOTSZ = 3 BOOTRST = 1 M103C = 1 WDTON = 1 Programming CODE memory ................................................................................ ........................................................................ done (1 0.1s) Verifying CODE memory ................................................................................ ........................................................................ passed done (7.8s) Programming fuses New fuses value OSCCALs = AA AB A1 A0 BODLEVEL = 1 BODEN = 0 SUT = 3 CKSEL = F BLB1 = 3 BLB0 = 3 OCDEN = 1 JTAGEN = 1 CKOPT = 0 EESAVE = 1 BOOTSZ = 3 BOOTRST = 1 M103C = 1 WDTON = 1 Verifying fuses passed Device locked to level 2! Total time 18.7s Reset pin released Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pyku_He_oTTyda 0 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба Я сегодня почти закончил пайку (не хватает нескольких номиналов резисторов). Прошилось и запустилось с полпинка! В итоге без возни с ПП появился программатор. Спасибо! З.Ы. Было бы удобно в разьеме ХР3 поменять местами MOSI и MISO. Тогда на стандартном ISP красный проводок попадет в "1" контакт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться