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

    

kernel32ddl

Свой
  • Публикаций

    44
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о kernel32ddl

  • Звание
    Участник
  • День рождения 11.07.1984

Контакты

  • Сайт
    http://www.kvartal.pnz.ru

Информация

  • Город
    Penza
  1. Atmega8, программирование на "С"

    Цитата(Proton @ Mar 24 2009, 18:48) Если пробовал хотябы один раз, то отказаться уже невозможно Это точно Поищу схему, но вот люди говорят что ATMega8 не поддерживает внутрисхемную отладку.
  2. Atmega8, программирование на "С"

    Цитата(Kompot @ Mar 23 2009, 18:20) Если вышенаписанное - правда... АТВЕЧАЮ, ВАСЯ! (с) Жорик Вартанов А если серьезно, то считаю возможность внутрисхемной отладки несомненным плюсом, скажу больше, для некоторых задач это просто жизненно необходимо. Другое дело что для тех задач которые я хочу осуществить с ATMegой - поиграться со светодиодами, кнопочками - особой нужды нет. Да и как я понял внутрисхемный отладчик будет стоит не дешево.
  3. Atmega8, программирование на "С"

    Всем большое спасибо за ответы! Буду думать
  4. Atmega8, программирование на "С"

    Цитата(Сергей Борщ @ Mar 21 2009, 20:55) Немного путаете. Отладчик позволяет отлаживать, т.е. запускать программу и иметь возможность пошагового исполнения, чтения/записи регистров и т.д. Отладчик может выполнять функции программатора. В качестве программатора байт-бластер использовать можно, в качестве отладчика - нет. И программировать в этом случае придется не напрямую из ИАРа или студии, а запуская промежуточную программу (AVReal). Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?
  5. Atmega8, программирование на "С"

    Цитата(Сергей Борщ @ Mar 21 2009, 20:07) Нет. Для AVR существуют другие отладчики. Т.е. его вообще нельзя использовать для ATMegи? Или я путаю простой программатор с отладчиком... Это не одно и тоже?
  6. Atmega8, программирование на "С"

    Цитата(MrYuran @ Mar 21 2009, 18:45) Да вобщем все позволяют. Лучше конечно ИАР. Но и стоит соответственно. Хотя, если совесть не мучит, можно ломаный поставить А IAR через ByteBlaster будет работать?
  7. Atmega8, программирование на "С"

    Цитата(MrYuran @ Mar 21 2009, 18:39) Есть. IAR - коммерческий. WinAVR (AVR-GCC) - свободный. Атмел бесплатно раздаёт AVR-Studio Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени?
  8. В свое время приходилось много писать на "С" для DSP TMS. Для этого пользовался средой Code Composer Studio, которая являлась одновременно и компилятором и отладчиком для данного процесссора при подключении оного через JTAG. А есть ли аналогичная среда для контроллера ATMega8 и JTAG ByteBlaster? Откуда можно скачать если есть?
  9. непрерывная передача по SPI

    Вот-вот столкнулся с тойжей проблемой задержкой UCLK. И какое-то решение естьпротив этого.
  10. Присоединяюсь ко всем поздравлениям! Великий РЕСПЕКТ и огромная БЛАГОДАРНОСТЬ все людям, благодаря которым данный проект существует по сей день! С ДНЕМ РОЖДЕНИЯ ELECTRONIX!!!
  11. Присоединяюсь и желаю всем удачи в этой нелегкой, но очень интересной работе!
  12. "Ручная" установка libusb-win32

    Доброго времени суток! Имеется необходимость "ручной" установки библиотеки libusb. Ручная в кавычках, т.к. хочу производить установку данной библиотеки не при помощи её родного визарда, а при помощи своей программы, в тихоря, так сказать, от пользователя. Из просмотра исходных текстов понял только то, что необходимо скопировать файл libusb0.dll в папку SYSTEM32, а libusb0.sys в SYSTEM32\DRIVERS. Прекрасно понимаю, что этого не достаточно , какие еще действия необходимо произвести, наверняка надо править реестр? Кроме того хотелось бы, чтобы драйвер библиотеки подцеплялся только к моему устройству, причем динамически, а не ко всему в системе что имеет приставку USB (как это делает виззард).
  13. Драйвер-фильтр USB

    Цитата(VslavX @ Feb 14 2007, 10:27) Ну и правильно IoCreateSymbolicLink ругается. Объекта-то с devName в системе-то нету. Попробуйте в IoCreateDevice вместо NULL указать требуемый DevName, флажок FILE_AUTOGENERATED_DEVICE_NAME не указывать. Я не уверен, что этот devObj потом можно использовать как фильтровый - то есть с стеку он скорее всего из-за именованности не приаттачится. То есть Вам придется создать именованный devObj и обычный неименованный filterDevObj. filterDevObj включить в стек и работать как обычно фильтром, а на devObj уже принимать дополнительные запросы на обработку сверху. Ясно, спасибо, буду разбираться!
  14. Драйвер-фильтр USB

    Сначала делаю так: КодRtlInitUnicodeString( &devName, L"\\Device\\BIOFILTER" ); status = IoCreateDevice(    driverObj,                                 sizeof(struct DEVICE_EXTENSION),                                 NULL,                                 //&devName,         // name for this device                                 FILE_DEVICE_UNKNOWN,                                 FILE_AUTOGENERATED_DEVICE_NAME,// device characteristics                                 (BOOLEAN) FALSE,    // not exclusive                                 &filterDevObj);        // our device object А затем так: КодRtlInitUnicodeString( &symLinkName, L"\\DosDevices\\BIOFILTER" ); status = IoCreateSymbolicLink(&symLinkName, &devName); Потом так: Код        /*          *  Initialize device extension for new device object          */         devExt = (struct DEVICE_EXTENSION *)filterDevObj->DeviceExtension;         RtlZeroMemory(devExt, sizeof(struct DEVICE_EXTENSION));         devExt->signature = DEVICE_EXTENSION_SIGNATURE;         devExt->state = STATE_INITIALIZED;         devExt->filterDevObj = filterDevObj;         devExt->physicalDevObj = physicalDevObj;                  devExt->pendingActionCount = 0;         KeInitializeEvent(&devExt->removeEvent, NotificationEvent, FALSE); #ifdef HANDLE_DEVICE_USAGE         KeInitializeEvent(&devExt->deviceUsageNotificationEvent, SynchronizationEvent, TRUE); #endif // HANDLE_DEVICE_USAGE         devExt->topDevObj = IoAttachDeviceToDeviceStack(filterDevObj, physicalDevObj);
  15. Драйвер-фильтр USB

    Возникла необходимость расширить набор команд для USB флэшки. Ситуация следующая. Имеется USB флэшка собственного изготовления. Помимо стандартных Mass Storage команд необходимо добавить свою, предназначенную для служебных целей (прием изображения с сенсора отпечатка пальца). По началу использовали очень простое решение - открывали флэшку как файл и осуществляли запись и чтение (т.е прямое обращение к диску) через избыточные сектора на ней (я специально подобрал кол-во секторов во флэши чтобы при форматировании оставалось 3 избыточных сектора). В WinXP данное решение более-менее прокатывало, а вот в Win2k начались серьезные глюки. Win2k по умолчанию использует механизм отложенный записи, который нам не удалось отключить, и из-за этого при приеме/передачи служебных данный(чтении/записи нашего избыточного сектора) происходили огромные задержки которые сделали практически невозможной работу с устройством. Затем появилась мысль написать свой собственный драйвер-фильтр для флэшки, который бы просто пропускал все стандартные запросы вниз по стеку и умел бы обрабатывать пару моих IOCTL для приема/передачи данных. Почитал Солдатова, Сорокину, Агурова и принялся за дело. Взял /src/wdm/usb/filter (из DDK). Посчитал, что достаточно будет создать символическую ссылку на драйвер, добавить обработку своих IOCTL и при помощи CreateFile и DeviceIoControl "общаться" со своим устройством. Однако при попытке создания символической ссылки на драйвер при помощи функции IoCreateSymbolicLink происходила ошибка. В описании на данную функцию в DDK я обнаружил, что она не предназначена для использования в WDM драйверах и в драйверах фильтрах в частности, и что необходимо для этих целей использовать функцию IoRegisterDeviceInterface. Для данной функции я так и не смог найти более менее понятного примера использования. Так вот, возникает вопрос, каким образом можно решить данную задачу, и вообще обязательно ли писать свой драйвер для этих целей? Нужно ли писать именно драйвер фильтр или же можно написать “легаси” драйвер или класс драйвер (в котором можно использовать IoCreateSymbolicLink) и подключить его к драйверу шины “в параллель” с USBSTOR.SYS? Или же каким-нибудь образом обращаться из user mode к существующему драйверу в системе, например, USBSTOR.SYS или драйверу хаба для приема/передачи данных с/на устройство?