Мешает этому в частности непроработанный вопрос программаторов AVR под этими платформами. Прошу заинтересованных лиц высказаться по следующим пунктам, и внести поправки и дополнения в эту концепцию. Всю поддержку программного обеспечения в линуксе беру на себя.
Вводная: Требуется наипростейшее USB устройство, состоящее из 1го кристалла mega8(16,32,64). Должно обеспечивать нижеприведенный функционал:
0 ) Быть исключительно простым в схемотехнике. Никаких дополнительных редких кристаллов, типа max232, ft232, pl2303, tyni* etc. Максимум, это три резистора для усб. И один светодиод и еще один резистор для индикатора. Ну и кварц даже без конденсаторов. Кварц любой на 12, 15, 16, 20 мгц.
1 ) Двоякое питание 5 и 3.3 вольта. Для интерфейса соответственно с 5ти и 3.3 вольтовыми схемами. (Опционально, ради экономии работать только от 1 источника 5в - самой шины USB)
2 ) Функция IOs. Ввод вывод 8ми бит данных в асинхронном режиме. (просто шевеление ногами)
3 ) Фунцкция I2C. Полноценный контроллер шины. Запись, чтение, сканирование.
4 ) Функция U(S)ART. Соответственно ввод вывод с настройкой скорости этого ввода вывода.
5 ) Функция SPI. Также ввод вывод и сканирование. Параллельно можно задействовать эту шину для ISP внутрисхемного программирования.
6 ) Функция JTAG. Возможно через половину шины IO задействовать JTAG. Или даже два канала JTAG. Опять же внутрисхемный программинг + отладка. Отладку не делал. Тут требуется помощь.
7 ) Логический анализатор. Анализ с некоторой частотой шины IO и передача на хост.
8 ) Логический синтезатор. Ну не натуральный. Но хотя бы меандр с заданием частоты и скважности. Реализован на таймере.
9 ) Бутлоадер USB. Чтобы обновлять прошивки через рабочий провод.
10 ) Один канал ADC. Один, потому что выводов не хватает свободных. Может разделять эту функцию с шиной IOs?
11 ) Тип устройства CDC-ACM. Но тут имеется одна сложность, CDC под USB1.1 вообще то работать и не должен и начиная с ядра 2/6/23 он уже не работает без патча на ядро. Это некошерно. Может обойтись малой кровью. Пожертвовать tty портом, и сделать HID трансферы, а на хосте имитатор tty, который будет запускаться как модуль. Выскажитесь, пожалуйста.
12 ) Чуть не забыл один индикатор, обычный LED. Выучив азбуку морзе можно будет понять чего оно хочет.
13 ) Свои варианты.
Дело в том что в моем черновом варианте большая часть этого есть. Но ресурсы кристалла далеко не исчерпаны. А хочется такой девайс, чтоб ну все заменял.
Коты, высказывайтесь, чего не хватает, что лишнее и так далее...



