Jump to content

    

Petka

Свой
  • Content Count

    1438
  • Joined

  • Last visited

Everything posted by Petka


  1. Урра! Дошли руки! Выкладываю "abd_demo" портированную под все известные мне С компиляторы для AVR. Проверено на: 1) CodeVision (Version 2.04.4a Evaluation) 2) IAR C/C++ Compiler for AVR 5.30.0 [KickStart] (5.30.0.30166) 3) ImageCraft ICCAVR v 7.22C build 25 sep 2009 21:42:08 4) WinAVR-20090313 (avr-gcc 4.3.2) В архиве: "abd_demo_cv.prj" файл проекта для codeVision "abd_demo_iar.ewp" файл проекта для IAR "abd_demo_icc.prj ABD_DEMO_ICC.SRC " файлы проекта для ImageCraft ICC "Makefile" файл проекта для WinAvr (avr-gcc) "docs/howto_abd_demo.pdf" - простенькая документация как создавать проекты с использованием "abd" самому под вышеперечисленные компиляторы. Проверяйте! abd_demo2.zip
  2. Это тоже называется "распилом бабла".
  3. Золотые слова. От себя добавлю: чем принципиально отличается микроПиСи от ББ? Это ключевой вопрос. Ответ на него будет содержать ответы на большую часть вопросов топикстартера.
  4. Пускай попробуют. Должен же быть общеизвестный провальный проект. Обидно будет только если это просто "распил бабла".
  5. В том числе и хост. Девайс это не отменяет.
  6. В чём идея-то заключается? Тем более что идеи в РФ не патентуются, а патентуются конечные изделия. А вы тут как раз реализацией и интересуетесь. хук левой http://www.hitex.com/index.php?id=475 а теперь хук правой: http://www.hitex.com/index.php?id=lpc3250-stick-details
  7. Извините, звучит дико: "Идею мы запатентовали, а вы тут со стороны предложите реализацию (идею)". Чужими руками.....
  8. Ну так сделайте хороший национальный продукт. Который делает людям добро. Идея хорошая. Только не надо защищать корпорации от нации. Где-то в сети видел коробочку размером с пачку сигарет с линуксом на борту. Там есть USB - используется для питания + mass storage. + Ethernet Так вот по этому эзернету и можно подключиться VNC клиенту. Всё, никаких драйверов!
  9. Ага, для того чтобы защитить свою лицензию производитель должен приобрести ещё и вашу лицензию. И не по цене 10-20$ как принято а за более 200$ (Чисто брелок не считая вашего софта на брелке). А есть такая гарантия что вы как разработчик не узнаете? Нет. "eee pc 701" 5900р. Дешевле "вашей флешки" за 7т.р. http://www.fast-ru.com/?id=1005&ibID=8&elID=325 Поверьте, нетбук влезает даже в дамскую сумочку, не говоря о сумке командированного =) Да и потом, знаком-ли вам термин "облачные технологии"? Цена решения - цена обычной флешки, т.е. 300рублей (а в большинстве случаев даже флешка не нужна, терминальный софт качается прямо из сети). А плюсов даже больше чем у вашего решения. И защита, и компактность, и отсутствие требований драйверов и пр. Выдрано из контекста, звучит как бред. А ваше предложение пока звучит так: куда-бы сунуть ещё АРМ? О! Давайте сунем его в Персональный компьютер! Зачем? А сейчас надумаем зачем! Пахнет шнобелевской премией =)
  10. Вот тогда "хакеры" скачают "пробник" которому не нужен ваш брелок. И отрежут от пробника софтовое ограничение по времени и брелок не понадобится. Это минус всех аппаратных защит. Производителю софта ваш брелок тем более не нужен, особенно запатентованный. Дело в том, что вы можете стать монополистом и со временем снять с производства ваше изделие, поднять на него цену, заломить цену на ремонт и обслуживание. Будете знать секреты и ключевые алгоритмы софта и пр. Встаёт так-же вопрос "производителя" а как слать патчи для брелка? По поводу командировок и прочих надуманных проблем с переносимостью. Вы опоздали. Нетбуки по цене "брелка" решают эту проблему на все 150%. Дёшево, универсально, масштабируемо, и никаких драйверов, которые может быть в будущем появятся в каких-то операционных системах.
  11. Никакими новыми полезными качествами это не является. Всё это было. Хотите 100% избежать заражения вирусами и прочих вредоносных программ? Запускайте софт тупо с CD. Про несанкционированное удаление и установку программ тоже самое. Самый простой вариант - использование "Live CD". Абсолютно бесплатно (Canonical рассылает за свой счёт в любую точку мира). Всевозможная защита "интеллектуальной" собственности с точки зрения пользователя бред. ОЧЕНЬ неудобно, ОЧЕНЬ ненадёжно. Сломается "микро ПиСи", а контора, которая их выпускает уже давно не существует? И что делать пользователю? Как пользователь я такое не куплю. Короче одни минусы. Шаг назад от прогресса. Как предоставлять софт на пробное использование? Тоже с "флешкой"? Такой софт даже покупать не будут, т.к. не будет нормальной и удобной возможности протестировать его перед покупкой. Зачем пользователь покупал себе "последнюю крутую" модель ПК, когда к ней ещё надо купить вдобавок к софтинкам ущербный "мозжечок", который думает что он является самым необходимым "мозгом". Резюме: пока данный "патент" выглядит патентом на "синие писалки" к автомобилю.
  12. By The Way = "вдогонку", "кстати", "между прочим"
  13. Перемычка разомкнута 1MHz? Переткните прорамматор.
  14. Семинар NXP

    Бывал на прошлом семинаре. Работа на "программно-аппаратном обеспечении" была конкретно скучна. Т.к. Кейлом в разработке софта не пользуемся и пользоваться не будем. Всё "обучение" сводится к поиску нужных кнопочек в ненужном софте. Ещё за это платить деньги? :maniac: За просмотр рекламы никто не платит. :cranky: Не буду показывать пальцем, но некоторые раздают демоборды NXP даром.
  15. FAQ прочитать на предмет "терминального режима".
  16. если пишет что компорт занят, значит кто-то занял компорт =) закройте лишние программы, которые могут использовать компорты, CodeVision, например.
  17. А что, мысль! Тогда требование снижается: Требуются передатчики от 3 Мбит/сек.
  18. Выкладываю прошивки (HEX) программатора "AvrUSB500_by_Petka_HEX_v7_dbg" в которых реализована новая фича отладки. AvrUSB500_by_Petka_HEX_v7_dbg.zip
  19. Доброго времени суток! После продолжительной работы выкладываю на общее обсуждение следующую версию прошивки программатора. Основное и единственное отличие новой версии - поддержка "printf - отладки". Что это такое? При отладке программ зачастую необходимо знать, в какой стадии выполнения находится программа. Закончила ли подпрограмма вычисления или нет? Чему равно значение некоторой внутренней переменной? В каком порядке выполняются составные части алгоритма и прочие задачи. Большую часть этих задач позволяет решить аппаратный отладчик. Однако не у всех есть возможность использования аппаратных отладчиков. Цена, дополнительные разъёмы, программная поддержка отладчика, неудобство или неумение использования - всё это может препятствовать использованию аппаратных отладчиков. Что предлагается взамен? Многие в качестве альтернативы используют для отладки debug_printf, "my_printf", библиотечный printf. Вставляя в интересующие точки своих программ для контроллеров что-то типа: printf("test point #1"); printf("internal var 'speed' = %i \n", speed); Обычно вывод функций printf настраивается на uart. Однако это тоже требует некоторых накладных расходов: дополнительные разъёмы, выделенный uart специально для отладки, требования к частоте тактирования. Предлагается использовать для вывода отладочного "printf" пины контроллера, которые используются для его программирования (MOSI, MISO, SCK). Всё равно на стадии отладки программатор уже подключен к чипу, есть все необходимые разъёмы и подключения. Штатный uart при этом в большинстве случаев останется свободным! Осталось выбрать 3х-проводный интерфейс для передачи данных от чипа к программатору. Для себя я выбрал следующие требования к интерфейсу: 1) Интерфейс должен быть полностью синхронным. (Снимаем требования к частоте контроллеров. Контроллеры могут спать, снижать свою частоту и т.д.) 2) Интерфейс должен быть дуплексным. (Хочется не только получать данные, но и отправлять) 3) Любая сторона может на неограниченное время приостановить обмен (с обоих сторон контроллеры, которые могут производить передачу данных в фоновом, низкоприоритетном процессе). При этом передаваемые данные не должны разрушаться. Как результат этого требования обмен данными должен происходить на максимальной скорости, которую могут обеспечить ОБЕ стороны. 4) В протоколе должно быть заложено выделение границ слов в передаваемом битовом потоке. Из известных мне протоколов ни один не смог удовлетворить вышеперечисленным требованиям. Пришлось изобретать велосипед протокол. Что получилось и предлагаю обсудить: Протокол называется "abd-протокол". В нём используются 3 линии: "a" - линия тактирования. Для мастера выход, для слэйва вход. "b" - возвратная линия тактирования. Для мастера вход, для слэйва выход. "d" - двунаправленная линия данных. Является как входом так и выходом для двух сторон. Между мастером и слэйвом должен быть подключен последовательный токоограничивающий резистор, для обеспечения надёжной работы в моменты переключения выводов вход/выход. Мастер наблюдает за состоянием линии "b". Если линия "b" переключилась в то же состояние, что и линия "a", - значит слэйв уже принял свой бит данных на линии "d", переключил линию на выход и выдал очередной свой бит на линию "d". После этого мастер может прочитать очередной бит от слэйва и выставить на передачу очередной свой бит. После этого мастер переводит состояние линии "a" в состояние, противоположное линии "b". И процесс повторяется заново. Это общая идея обмена. Теперь детали: данные передаются в каждую сторону как на возрастающем фронте клоков, так и на спадающем. По одному фронту передаётся очередной бит в сдвиговый регистр приёмника, а по другому фронту выдаётся признак конца слова (тот момент, когда из сдвигового регистра можно читать данные). Кроме того в протокол заложена возможность остановить клоки, когда данных ни у мастера ни у слэйва нет. Более подробное описание содержится в исходниках (Файлы "abd.c" и "abd.h"). Этот протокол был реализован, оттестирован на моделях, а затем и в реальном железе. В программатор "by Petka" добавлена реализация слэйва протокола "abd". Итого: Для того, чтобы добавить в свою программу возможность отладки, надо в список компилируемых файлов проекта добавить "abd.c" и "abd_putchar.c". В main добавить: #include "abd_putchar.h" FILE abd_file = FDEV_SETUP_STREAM(abd_master_putchar, NULL, _FDEV_SETUP_WRITE); int main(void){ stderr = stdout = stdin = &abd_file; Всё. Теперь в любом месте можно просто писать: printf("Hello World! №%i\n", num); num++; В прикрепленном к посту файле "abd_demo.zip" демка использования. Как увидеть получившийся "Hello World!" ? Прошиваете чип. Открываете терминалкой ком порт программатора, замыкаете перемычку "1Mhz" (программатор должен быть в режиме "fast"). И наблюдаете свой "Hello World!"! Исходник сделан для winavr. С небольшими доработками будет работать и для любого другого компилятора. Скоро выложу портированные версии для других компиляторов. abd_demo.zip
  20. Ваша правда. Моя недоработка. Обновите файл "gpio.h" gpio.zip
  21. запакуйте zip'ом исходники, и выкладывайте сюда, посмотрю что там не собирается. Нет, частота там присутствует только в режие "1MHz" по умолчанию программатор работает в режиме "fast". Ничего естественного. При правильной сборке программатор работает сразу. Пробовали заходить терминалкой на порт программатора (как написано в FAQ)?
  22. где-то ошиблись в описании портов.
  23. Ээ. для таких задач использовать процессор с MMU... Посмотрите в сторону blackfin. Дубовых мегагерцев - почти столько же как и у топовых кортексов. Хорошее АЛУ для вычислений "перевести координаты", богатая периферия для ввода-вывода данных. + Наличие порта GCC, поддерживаемого Analog Devices. + Возможность накатать туда ucLinux. Сорри за оффтопик =)
  24. Как отладочная плата - неудобно будет. Осциллом не сунешься, трудно добыть документацию на многую внешнюю периферию. А вот как мегаиндикатор - мысль хорошая. Правда в этом случае стоит выбирать тупо по размеру дисплея =). Разумеется из "открытых". ИМХО до асма-то зачем опускаться на смартфонах? Программисты Java на байт-код же не смотрят :rolleyes: ...
  25. А программа-программатор не наглядно показывает, программируется или нет? Терпение.