Jump to content

    

kernel32ddl

Свой
  • Content Count

    44
  • Joined

  • Last visited

Everything posted by kernel32ddl


  1. Это точно Поищу схему, но вот люди говорят что ATMega8 не поддерживает внутрисхемную отладку.
  2. АТВЕЧАЮ, ВАСЯ! (с) Жорик Вартанов А если серьезно, то считаю возможность внутрисхемной отладки несомненным плюсом, скажу больше, для некоторых задач это просто жизненно необходимо. Другое дело что для тех задач которые я хочу осуществить с ATMegой - поиграться со светодиодами, кнопочками - особой нужды нет. Да и как я понял внутрисхемный отладчик будет стоит не дешево.
  3. Всем большое спасибо за ответы! Буду думать :)
  4. Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?
  5. Т.е. его вообще нельзя использовать для ATMegи? Или я путаю простой программатор с отладчиком... Это не одно и тоже?
  6. А IAR через ByteBlaster будет работать?
  7. Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени?
  8. В свое время приходилось много писать на "С" для DSP TMS. Для этого пользовался средой Code Composer Studio, которая являлась одновременно и компилятором и отладчиком для данного процесссора при подключении оного через JTAG. А есть ли аналогичная среда для контроллера ATMega8 и JTAG ByteBlaster? Откуда можно скачать если есть?
  9. Вот-вот столкнулся с тойжей проблемой задержкой UCLK. И какое-то решение естьпротив этого.
  10. Присоединяюсь ко всем поздравлениям! Великий РЕСПЕКТ и огромная БЛАГОДАРНОСТЬ все людям, благодаря которым данный проект существует по сей день! С ДНЕМ РОЖДЕНИЯ ELECTRONIX!!! :tort: :a14:
  11. Присоединяюсь и желаю всем удачи в этой нелегкой, но очень интересной работе!
  12. Доброго времени суток! Имеется необходимость "ручной" установки библиотеки libusb. Ручная в кавычках, т.к. хочу производить установку данной библиотеки не при помощи её родного визарда, а при помощи своей программы, в тихоря, так сказать, от пользователя. Из просмотра исходных текстов понял только то, что необходимо скопировать файл libusb0.dll в папку SYSTEM32, а libusb0.sys в SYSTEM32\DRIVERS. Прекрасно понимаю, что этого не достаточно :) , какие еще действия необходимо произвести, наверняка надо править реестр? Кроме того хотелось бы, чтобы драйвер библиотеки подцеплялся только к моему устройству, причем динамически, а не ко всему в системе что имеет приставку USB (как это делает виззард).
  13. Ясно, спасибо, буду разбираться!
  14. Сначала делаю так: 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 флэшка собственного изготовления. Помимо стандартных 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 или драйверу хаба для приема/передачи данных с/на устройство?
  16. Все-таки решил отказаться от данной команды. Буду делать внутреннюю проверку на битость и потом просто подменять адрес если будет производиться запись в битый сектор, таким образом можно значительно продлить ресурс флэши и не пугать пользователя присутствием битых секторов на "нулевом" устройстве. Из проверенных мною имеющихся флэшек, на 3 256М-байтных была одна битая страница(128 кбайт), 128М-байтных на одной из трех.
  17. Необходимо осуществить проверку на битость секторов USB Flash памяти. Я так понимаю в наборе Mass Storage команд для этого есть команда VERIFY (0x2F), в параметрах которой есть 2 параметра: адрес логического блока (LBA) и количество блоков для проверки. Она должна возвращать ОК в случае удачной проверки секторов и FAILE в противном случае. После того как выполнение данной команды возвращает ошибку, хостом отправляется команда REQUEST_SENSE, в ответ на нее устроство должно возвращать код последней ошибки, т.е. сообщить хосту о том, что по определенному адресу находиться битый блок (я так себе это представляю). В моем устройстве на данный момент в ответ на эту команду всегда отправляется ОК. В спецификации на SCSI команды, я так и не смог найти внятного ответа на данный вопрос. Есть небольшой абзац, в котором написано, что-то вроде "если вы хотите передать список битых секторов вы должны сохранить его в странице списка...", вобщем я ничего из этого не разобраз. Если кто-нибудь занимался данной проблемой подскажите , времени на разбирательство нет - сроки очень поджимают.
  18. В несуществующий сектор писать не получилось :( - винда не позволяет. Попробую пометить существующий сектор как битый и писать в него, должно получиться.
  19. Как вариант я данную возможность рассматривал, вот только вопрос в том, как винда отнесется к прямому обращению к диску? Вариант очень красивый, но только я совершенный профан в DDK :( , боюсь что мне это будет не по зубам, а сроки уже поджимают - разбираться некогда :( . Большое спасибо за помощь! Попробую осуществить первый вариант.
  20. Возникла следующая проблема: Необходимо добавить в набор Mass Storage команд свою служебную команду. Со стороны устройства нет никаких проблем, очень легко можно запрограммировать его на обработку дополнительной команды. Вопрос в том как можно будет отправить данную команду на устройство из-под винды (из свой программы)? Возможно ли каким-то образом "подключиться" к Mass Storage драйверу и втиснуть свою команду в стандартный обмен драйвера с устройством?
  21. Не знаю. Я никогда не пользовался графическим вводом. Только языковое описание. Чего и вам желаю. "New Source", в открывшемся окошке выбрать "IP (Coregen & Architecture Wisard)", галка add to project должна стоять, ввести имя только строчнымибуквами итд. Что-то нет у меня токого наверное потому что Webpak. Подскажите серийник для faundation 8.1 Нашел и добавил. Спасибо. Извиняюсь за столь примитивные вопросы но я только начинаю разбираться с ПЛИС и в частности с ISE. Может кто подскажет где в инете есть литература по нему. Серийник от 8.1 утерян. У меня щас 8.2. Кореген генерит кучу файлов с разными расширениями и вами заданным именем. Сделайте "Add Source" и добавьте файл *.xco, если вебпак это не сожрёт, тогда add source файл *.v (если верилог) или *.vhd (если вхдл). При этом в папке проекта должен быть файл с таким-же именем *.edn, он нужен для PAR'а. Спасибо. Жаль конечно просто на работе инет медленный сервиспак хер выкачаешь.
  22. Не знаю. Я никогда не пользовался графическим вводом. Только языковое описание. Чего и вам желаю. "New Source", в открывшемся окошке выбрать "IP (Coregen & Architecture Wisard)", галка add to project должна стоять, ввести имя только строчнымибуквами итд. Что-то нет у меня токого наверное потому что Webpak. Подскажите серийник для faundation 8.1
  23. Открыл создал счетчик а как его добавить в схему в виде символа
  24. Можно ли создавать автоматически элементы как в Max Plus II MegaWizard если можно подскажите как пожалуйста.