Petka 0 24 февраля, 2010 Опубликовано 24 февраля, 2010 · Жалоба Он может это узнать. ...... Достаточно вариантов? Достаточно. Дело за малым... Сделать соответствующий терминал. Видимо на программируемой логике. Ну и написать функции get/putchar для МК. И софт верхнего уровня, для использования всего этого. Будет-ли это когда-нибудь реализовао и будет ли это достоянием общественности? Сомневаюсь. :wassat: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 24 февраля, 2010 Опубликовано 24 февраля, 2010 · Жалоба Хочется решить раз и навсегда проблему отладочной консоли для семейства AVR. Для себя решил этот вопрос с помощью I2C Slave на m8/48 - который представляет собой конвертер I2C <-> UART. Понятно, что это решение пойдет не для всех AVR, а только для тех у кого есть I2C (правда никто не мешает умельцам примостырить софтовый I2C, но мне оно было не нужно, да камней без аппаратного I2C - парочка мег, и тиньки... где консоль вроде как и лишняя). I2C шину на технологический разъем 4 пина Vcc/SCL/SDA/GND. Конвертер питается от таргета. Из плюсов: - не ограничен использованием только для AVR, применим и с МК других семейств; - не ограничен только отладкой, можно использовать просто как дополнительный UART; - двухсторонняя связь; - подключение непосредственно к КОМ порту компа; - работа через любой стандартный терминал; - масштабирование по самые немогу - хоть 10 "консолей" (понятно что это могут быть и не консоли, а напр доп. 485-й порт). из минусов: - еще 1 разъем на плате, - объем дебажного сопроводительного софта на таргет железе ~2.5kb Flash. Второй минус правда нивелируется если I2C шина используется для чего-то еще, т.к. из 2.5k - 2KB занимает драйвер i2c. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 24 февраля, 2010 Опубликовано 24 февраля, 2010 · Жалоба Дело за малым... Да. Сделать соответствующий терминал. Видимо на программируемой логике. Или на более быстром контроллере, или с обвеской в несколько корпусов дискретной логики. Но и CPLD/FPGA+CPU не редкость для всяческих USB ->Нечто адаптеров. Ну и написать функции get/putchar для МК. Ну это вообще-то считанные строки. Будет-ли это когда-нибудь реализовао... Это, или не это, но однопроводные интерфейсы при малейшем желании реализуемы, даже если дополнительно выдвигать условия подобные Вашим. Не говоря уже о двухпроводных. Три провода, это уже замного. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manul78 4 24 февраля, 2010 Опубликовано 24 февраля, 2010 (изменено) · Жалоба Я может слегка не в тему, но спрашиваю потому как всех вас, господа застать в одном месте сложно... :) По DebugWIRE есть какие нибудь наработки, или это "тайна за семью печатями" ? На AVRFreaks разговор такой, типа в Атмеле не такие дураки сидят чтобы DebugWIRE выкладывать на растерзание. Есть только протокол JTAGICE MKII в виде диалога "AVRStudio<-->JTAGICE MKII", а вот JTAGICE MKII <--> DebugWIRE MK что-то не встречал, хотя данным отладочным интерфейсом снабжены уже почти все AVR. Там-же AVRFraks была попытка объединиться в группу для попытки "расковырять" DebugWIRE методом: Хороший многоканальный цифровой осциллоскоп и изучение входных и выходных данных JTAGICE MKII и DRAGON-а... Но что-то заглохла тема, а недавно полез она вообще исчезла :( Были так-же попытки раско- пать upgrade-прошивки, но так как они закриптованы, разумеется ничего не вышло... :( Вот интересно, кроме китайцев кто-нибудь победил ATMEL ? Проще конечно даже дешевый DRAGON купить и забыть, но вот действительно любопытно, что из себя представляет DebugWIRE ? Скорость, возможности и пр. Спрашиваю т.к. китайские клоны JTAGICE MKII работают ГОРАЗДО быстрее оригиналов. P.S. Готов поучаствовать в коллективном "изучении" DebugWIRE, осциллоскоп цифровой имеется... JTAGICE MKII не имею, пользуюсь первым ICE-ом, но на DRAGON для такого дела разорюсь... :) Изменено 24 февраля, 2010 пользователем manul78 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 24 февраля, 2010 Опубликовано 24 февраля, 2010 · Жалоба По DebugWIRE есть какие нибудь наработки, или это "тайна за семью печатями" ? Не интересуюсь в принципе - купить дешевле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба По DebugWIRE есть какие нибудь наработки, или это "тайна за семью печатями" ?Я сделал только маленькую "разлочивалку" - временное блокирование фьюза dW - где-то тут тема бегает. Сделано на тини13. Оказалось, что дракон (по крайней мере той версии, что у меня) не может это сделать, если контроллер тактируется от внутреннего 128кГц с забытым CKDIV8=on, для него это слишком низкая частота. Но там просто одна байтовая команда подаётся, я её слизал простым осциллографом и просто по образцу выдал. По скорости - там явно есть команды от хоста в контроллер эту скорость изменить. Дракон для реальной работы такое посылает. Смысла ввязываться в раздалбывание полного протокола я не вижу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manul78 4 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба Смысла ввязываться в раздалбывание полного протокола я не вижу. Понятно... Мне честно говоря сильно не горит, просто любопытно из познавательных соображений. Как там всё организованно... В режиме отладки через SPI перекачиваются целые дампы памяти, меняется программный счетчик, пошаговые дела. В МК что ? Организован аппаратный JTAG модуль+интерфейс ? Если так, то данный модуль считается по приоритету выше чем само ядро? Или JTAG модуль обеспечивает прямой доступ к конвейеру и "втюхивает" ему свои команды, иначе как можно организовать "многокомандные" отладочные процедуры не используя память программ ? AVRStudio (команда "верхнего" уровня) --> JTAGICE MKII (заголовок+пачка комманд AVR) --> JTAG модуль МК --> конвейер Возможно такое, или там всё проще(сложнее) ? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба Для себя решил этот вопрос с помощью I2C Slave на m8/48 - который представляет собой конвертер I2C <-> UART.Спасибо за предложение, но что-то исторически сложилось, что предпочитаю более дубовые интерфейсы: SPI, UART. А I2C как-то не по душе мне - много чего софтом надо делать... Да и устанавливать ещё один технологический разъём поздновато, уже столько сделано без него. А из темы я, пожалуй, вынес для себя, что пока самым простым будет собрать программатор на COM лучше USB->COM и использовать его же как консоль. Остальные решения требуют бОльших трудозатрат. Для контроллеров без TXD на ISP разъёме реализовать soft-uart. Меня пока прельщает это решение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться