Jump to content

    

vitus_strom

Свой
  • Content Count

    609
  • Joined

  • Last visited

Posts posted by vitus_strom


  1. Здравствуйте!

     

    Пытаюсь послать в усб устройство байт а ответ от системного драйвера получаю NtStatus=0xC000000D (invalid parameter) и UsbdStatus=0x80000600 собственно уточнение что хэндл не валидный

    Не могу понять в чем проблема

    Опишу немножко:

    Сначала по энд пойнт адресу нахожу хендл на энд пойнт,

    потом при помоши функции WdfUsbTargetPipeWdmGetPipeHandle получаю нужный уквазатель который сохраняется в URB для последующей передачи драйверу более низкого уровня в функции WdfUsbTargetPipeFormatRequestForUrb ну и затем непосредственно следует реквест...

     

     

    Очень буду признателен любой помощи.

     

  2. Интересно а кто то пробовал эти исходники у себя использовать.... Что то у меня смутное сомнение что это макет...

    Например Функция:

    VOID InitInterfacePair(__in WDFUSBDEVICE UsbDevice,

    __in PWDF_USB_INTERFACE_SETTING_PAIR pUsbInterfacePair,

    __in UCHAR ucNumberOfInterface)

    {

     

    UCHAR iIndex;

     

    for(iIndex=0;iIndex<ucNumberOfInterface;iIndex)

    {

    pUsbInterfacePair->SettingIndex =0;

    pUsbInterfacePair->UsbInterface = NULL;

    }

    }

     

    Приводит к бесконечному циклу.... и таймауту при регистрации драйвера

    Интересно было бы пообщаться с теми кто уже занимался этим

     

  3. Не скажите. Тут, к примеру, утверждается, что пассивные метки считываются с расстояния до 10м, а активные - чуть ли не с 300.

     

    Зависит от мощности считывателя чем больше Ватт в передатчике тем дальше, правда может оказаться что уже и считать никого не надо - будут одни окорочка поджаренные )))

    а так 200 мВт - расстояние пассивного до тэга UHF RFID теоретически полтора метра практически порядка 30-40 см (это с тегом который электричество экономить умеет)

     

    ну и от антенн, и чувствительности приемников как считывателя так и тэга

  4. Всем доброго дня!

     

    Повествование мое будет долгим, посему прдлагаю заварить чайку/кофейку и поудобней устроится у монитора )))

     

    Началось все с того что к менжмент басу (mdc, mdio) ethernet MAC'а прикрутили как 10Г Phy так и некоторое количество 10/100/1000 Phy. Проблема на этой стадии заключалась в том что 10Г и 10/100/1000 имеют несколько различные протоколы на шине управления....

     

    Не беда подумал я, где наша не пропадала, и решил немного допилить ядро axi_ethernet_soft_temac_wrapper_v3_01_a....

     

    Это была преамбула, а вот теперь начинается амбула...

     

    действо будет разворачивать на версии 14.4 данного "продукта"...

     

     

    порядок моих действий был таков:

    1. Сложил я свою платформу, сделал кое какие тесты все работает за исключеним 10Г Phy функций

    2. Создал проект в ISE в который из папки где лежат корки для XPS натягал исходники (криптованные декриптовал), и после этого успешно отсинтезил получившийся проект

    3. После этого я в папке где лежит корка axi_ethernet_soft_temac_wrapper_v3_01_a для XPS я заменил криптованные файлы на декриптованные (прошу заметить что лицензия у меня Bought на данное ядро)

    4. Запустил на генерацию нетлиста платформу, которая спустя какое то время выдало следующую ошибку синтеза:

     

    ERROR:HDLCompiler:1084 - "Unknown" Line 0: Registering Dependencies Error: The primary unit 'blk_mem_gen_v6_2_defaults' could not be found during restore

    INTERNAL_ERROR:Xst:cmain.c:3423:1.29 - Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support.

    ERROR:EDK:546 - Aborting XST flow execution!

     

     

    5. немного подумав, решил что я что то сломал в инсталяции когда декриптовал файлы решил переинталировать пакет ISE

    uninstal -> registry cleanup -> delete packet folder -> install

     

     

    6. Снова запустил генерацию нетлиста платформы предварительно сделав cleanup generated files + clean netlist

    7. Вуаля, с криптованными файлами получилось.

    8. Заменил криптованные файлы на декриптованные

    9. Снова запустил генерацию нетлиста платформы предварительно сделав cleanup generated files + clean netlist

    10. И с декриптованными файлами тоже получилось

    11. Сделал изменения в корке и проверил на синтезуемость в ISE проекте - проект отсинтезился после чего перенес измененные исходники в директорию с коркой

    12. Снова запустил генерацию нетлиста платформы предварительно сделав cleanup generated files + clean netlist

    13. В этот раз получил ошибку как в пункте 4:

     

    ERROR:HDLCompiler:1084 - "Unknown" Line 0: Registering Dependencies Error: The primary unit 'blk_mem_gen_v6_2_defaults' could not be found during restore

    INTERNAL_ERROR:Xst:cmain.c:3423:1.29 - Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support.

    ERROR:EDK:546 - Aborting XST flow execution!

     

     

    14. Вернул криптованные файлы назад

    15. Снова запустил генерацию нетлиста платформы предварительно сделав cleanup generated files + clean netlist

    16. В этот раз получил ошибку как в пункте 4:

     

    17. Вернул проект (платфрмы) в исходное состояние то есть к состояию пункта 1

    18. Снова запустил генерацию нетлиста платформы предварительно сделав cleanup generated files + clean netlist

    19. снова получил ошибку как в пункте 4:

     

    Короче я перепробовал кучу разных вариантов, в какое то время я даже пытался полностью удалить директории synthesis и implementation но ничего не помогло

     

     

    У меня сложилось стойкое ощущение что проблема возникает где то в инсталяции а не в проекте а как будто в инсталяции возникает что то, что мешает нормальной работе....

     

     

    P.S. Добавил еще лог синтезатора по этому модулю

     

     

     

     

     

    Если кто то подкинет хоть какую нибудь идею по этому поводу (пусть даже бредовую) буду очень признателен!!!

    Спасибо всем откликнувшися!

    system_axi_ethernet_0_wrapper_xst.txt

  5. Имеется дешифратор типа

    process(clk)
    begin
       if  clk'event and clk = '0' then
          if  s_rclk = '0' then
             s_we_ res <= "1111111111111111";
          else
             case s_address_rdram is
                when "0000" => s_we_res <= "1111111111111110";
                when "0001" => s_we_res <= "1111111111111101";
                                                      ...
                when "1111" => s_we_res <= "0111111111111111";
                when others => s_we_res <= "1111111111111111";
             end case;
          end if;
       end if;
    end process;

    Но требуется такой-же дешифратор но уже не на 16, а на 48 нулей

    Можно-ли как-то упростить писанину, на цикле или еще как?

     

     

     

    Можно вот так:

     

    process(clk)
      variable  decoder_v : std_logic_vector(2**s_address_rdram'length-1 downto 0) := (others => '1');
    begin
      decoder_v := (others => '1');
      decoder_v(conv_integer(unsigned(s_address_rdram)) := '0';
    
      decoder_i <= decoder_v;
    end process;
    
    process(clk)
    begin
      if  clk'event and clk = '0' then
        if s_rclk='0' then
          s_we_ res <= "1111111111111111";
        else
          s_we_ res <= decoder_i;
        end if;
      end if;
    end process;

     

     

     

     

  6. Добрый день всем заглянувшим!

    Если кто то поднимал - какие ощущения от операционки остались (в том числе и по сравнению с остальными ОС)

    Ну и вопрос самый простой с чего начать.... Я совсем зеленый поэтому особо прошу не пинать...

    Спасибо за ответы

     

  7. Была подобная фигня!

    Пробовал индирект программинг через импакт.

    Поставил для С6 флэш от СТ, после небольших танцев с бубном выяснилось что ИД Флэши читается правильно но флэш програмится не хочет...

    После замены флэши на флэш от фирмы спаншн все великолепно завелось...

    А вам суда по вашему репорту порекомендовал бы снизить частоту кабеля для начала а то 66 МГц как то многовато как мне кажется - начните с самой низкой...

    Если после снижения ИД Флэши считается правильно - перепаяйте на ту что есть в списке ну или флэш индивидуально программируйте...

    Импакт к сожалению зорко следит за производителем флэешей в случае индирект программирования