Перейти к содержанию
    

Он может это узнать. ......

Достаточно вариантов?

Достаточно. Дело за малым... Сделать соответствующий терминал. Видимо на программируемой логике. Ну и написать функции get/putchar для МК. И софт верхнего уровня, для использования всего этого. Будет-ли это когда-нибудь реализовао и будет ли это достоянием общественности? Сомневаюсь. :wassat:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочется решить раз и навсегда проблему отладочной консоли для семейства 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дело за малым...

Да.

Сделать соответствующий терминал. Видимо на программируемой логике.

Или на более быстром контроллере, или с обвеской в несколько корпусов дискретной логики. Но и CPLD/FPGA+CPU не редкость для всяческих USB ->Нечто адаптеров.

Ну и написать функции get/putchar для МК.

Ну это вообще-то считанные строки.

Будет-ли это когда-нибудь реализовао...

Это, или не это, но однопроводные интерфейсы при малейшем желании реализуемы, даже если дополнительно выдвигать условия подобные Вашим. Не говоря уже о двухпроводных. Три провода, это уже замного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я может слегка не в тему, но спрашиваю потому как всех вас, господа застать в одном месте сложно... :)

 

По 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 для такого дела разорюсь... :)

Изменено пользователем manul78

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По DebugWIRE есть какие нибудь наработки, или это "тайна за семью печатями" ?

Не интересуюсь в принципе - купить дешевле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По DebugWIRE есть какие нибудь наработки, или это "тайна за семью печатями" ?
Я сделал только маленькую "разлочивалку" - временное блокирование фьюза dW - где-то тут тема бегает.

Сделано на тини13. Оказалось, что дракон (по крайней мере той версии, что у меня) не может это сделать, если контроллер тактируется от внутреннего 128кГц с забытым CKDIV8=on, для него это слишком низкая частота.

Но там просто одна байтовая команда подаётся, я её слизал простым осциллографом и просто по образцу выдал.

 

По скорости - там явно есть команды от хоста в контроллер эту скорость изменить. Дракон для реальной работы такое посылает.

 

Смысла ввязываться в раздалбывание полного протокола я не вижу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смысла ввязываться в раздалбывание полного протокола я не вижу.

 

Понятно...

 

Мне честно говоря сильно не горит, просто любопытно из познавательных соображений. Как там всё организованно...

В режиме отладки через SPI перекачиваются целые дампы памяти, меняется программный счетчик, пошаговые дела.

В МК что ? Организован аппаратный JTAG модуль+интерфейс ? Если так, то данный модуль считается по приоритету

выше чем само ядро? Или JTAG модуль обеспечивает прямой доступ к конвейеру и "втюхивает" ему свои команды, иначе

как можно организовать "многокомандные" отладочные процедуры не используя память программ ?

 

AVRStudio (команда "верхнего" уровня) --> JTAGICE MKII (заголовок+пачка комманд AVR) --> JTAG модуль МК --> конвейер

 

Возможно такое, или там всё проще(сложнее) ? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для себя решил этот вопрос с помощью I2C Slave на m8/48 - который представляет собой конвертер I2C <-> UART.
Спасибо за предложение, но что-то исторически сложилось, что предпочитаю более дубовые интерфейсы: SPI, UART.

А I2C как-то не по душе мне - много чего софтом надо делать...

Да и устанавливать ещё один технологический разъём поздновато, уже столько сделано без него.

 

А из темы я, пожалуй, вынес для себя, что пока самым простым будет собрать программатор на COM лучше USB->COM и использовать его же как консоль.

Остальные решения требуют бОльших трудозатрат. Для контроллеров без TXD на ISP разъёме реализовать soft-uart.

Меня пока прельщает это решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...