Pull to refresh

Comments 16

Например, уважаемый DIHALT все давно и преподробнейше описал

Не я, а Lifelover aka Redsh.
До того, как увидел этот комментарий, даже не догадывался о ком идёт речь)
Делал как-то проект на avr (atmega) + enc28j60. При моделировании в proteus симуляция шла не в realtime, а с небольшим запаздыванием. TCP/IP стэк довольно быстро загибался из-за флуда локальной виндовой машины.

В какой-то момент я даже частично написал небольшой симулятор enc28j60 на python, который торчал в tap-адаптер с целью скрестить его с simulavr. К сожалению, с документацией на simulavr в тот момент всё было плохо и моего терпения для скрещивания ежа с ужом не хватило. Так и остался недоделанный симулятор (работавший только в тех режимах, которые мне тогда были интересны).
Про первую часть — у всех так, вроде. У кого-то 20 секунд работает, у кого-то больше. Им давно пора на ГПУ обработку перейти, если это возможно…
А про вторую — так тут главное опыт, как мне кажется…
А про вторую — так тут главное опыт, как мне кажется…
Смотря что вы имели ввиду. Если то, что я подумал — то опыт был интересный, но мотивации написать полный симулятор enc28j60 в соответствии с datasheet и errata не хватило.

С другой стороны, работа с TUN/TAP и написание микробиблиотеки libtuntap (C + обертка для Python) потребовало почитать документацию ядра (т. к. в сети с описанием на тот момент было не очень), разобраться с небуферизованным IO и написанием C-extensions в Python.

Если вы имели ввиду то, что мой опыт и уровень в тот момент был недостаточен для того, чтобы съынтегрироваться с simulavr, то их документация говорит сама за себя:
simulavr simulates an AVR-CPU and a small amount of environment, like IO-network, some
analogue components as well as SPI,… There is neither a fully description for the environment
available nor comprehensive examples around.

Похоже, что за последние 2 года у них существенных изменений не случилось.

У них, конечно, есть возможность состыковаться с внешним источников для SPI (в современных примерах есть вариант с чтением данных SPI из файла), но для этого необходимо хорошо понимать внутреннюю структуру simulavr, т. к. там нет нормальных относительно «высокоуровневых» абстракций.

Например, пара SpiSink и SpiSource позволяет подать на симулируемый контроллер данные из файла по SPI и вывести выхлоп в STDOUT (правда, у класса SpiSource стоит todo rewrite). Для нормального сопряжения по spi нужно дописать в simulavr какой-нибудь IPC для взаимодействия со сторонним кодом, отвечающим по SPI. Это нетривиальная задача.

В какой-то момент для меня эта задача стала не столь актуальной (в связи с переходом на ARM Cortex-M). Сейчас присматриваюсь к qemu. Но, в силу наличия других проектов, времени не хватат.
Не-не. Я именно про то, что написание эмуляторов само по себе отличный опыт. Я вот пока пишу драйвер 8019AS столько всего вспомнил/узнал про UDP/TCP, сколько запомнить не мог раньше. Оно в подкорку врезается. Qemu… не наступайте на больную мозоль) Сам туда смотрю с жадностью, но
Но, в силу наличия других проектов, времени не хватат.

бесплатная утилита com0com
Спасибо, давно искал подобную бесплатную программу.

Proteus действительно мощьная штука, отлаживал в нём программатор перед сборкой в железе, жаль что он довольно много процессора требует, моя машина (core i3-380m) еле успевала обсчитывать 88ю мегу запущенную на частоте 14Мгц.

Кстати протеус годен не только для хелло вордов но и для сложных проектов(если скорости хватит:). Собрать в нём схему, залить прошивку и увидеть как нарисованная схема определяется сторонним софтом как реальное железо, налету погонять её в разных режимах, внести, правки и по новой — очень здорово! (жаль только протеус не смог нарисованным прогером прошить нарисованный контроллер).

PS: подскажите есть ли ещё подобный, бесплатный для домашнего пользования, софт(интересует именно функционал симуляции работы схем)?
Подобного уровня для цифры, к сожалению, не встречал. Можно попробовать, например, из этого списка.

Для аналоговых схем на микросхемах Linear использовал их собственный симулятор.
У меня есть огромное желание научиться все это делать. Микроконтроллеры программировать, схемы собирать. Но сколько не читаю статей на хабре, понимаю, что почти ничего не понимаю.
И вот тут то начал читал, воодушевился, что от новичка новичкам. Но опять понял все крайне поверхностно. Думаю, решение простое. Надо просто брать и пробовать уже без попытки понять. Там уже и пойдет методом проб, ошибок и гуглежа.
Вот заказал целый набор для новичка с ибея, надеюсь смогу в нем разобраться по прибытию и помигаю таки светодиодами. Ведь планы то грандиозные: квартиру умной делать :)
Что непонятно, что плохо написано? Что не осветил, где запнулся и не понял? Переделаю/допишу — сделаю новое
Я думаю дело не в статье, а во мне. Вероятнее всего, я практик, и на теории плохо усваивается. Обязательно скачаю этот эмулятор и попробую поэксперементировать, используя вашу статью.
Хороший набор для новичка) можно много всяких штук из него наклепать.
По поводу понимания — есть хороший ресурс easyelectronics.ru/ от DIHALT-а там много статей по программированию контроллеров и сопутствующих задачах. Могу посоветовать почитать раздел «AVR учебный курс» (только читайте с конца: первые статьи в самом низу на самой последней странице) ибо демоплата в вашем наборе основана на AVR-микроконтроллере ATmega328.
Огромное спасибо. Пошел читать.
Коллеги, а подскажите, у меня COMPIM видит только 4 ком-порта (1...4), он другие номера не понимает?
Мне его к СОМ6 надо прикрутить.
Да, дурацкая бага. Не пофикшена даже в 8.1
Sign up to leave a comment.

Articles