Jump to content

    

fsergey

Участник
  • Content Count

    40
  • Joined

  • Last visited

Community Reputation

0 Обычный

About fsergey

  • Rank
    Участник
  1. Программист C/C++

    Цитата(Mihail Gluhowchenko @ Jul 12 2017, 10:17) А аспирантура или какое либо движение в научную сторону возможны? Уж очень близко со мной находитесь. Может некий рост и развитие у вас есть? Здравствуйте, Михаил. Движение в научную сторону возможно и приветствуется. В Институте действует диссертационный совет, есть возможность подготовить и защитить диссертацию, совмещая с рабочим процессом.
  2. Программист C/C++

    Здравствуйте, друзья. Вакансия до сих пор актуальна. Начальное собеседование возможно электронным образом. Очень рады квалифицированным кадрам.
  3. Цитата(krux @ Apr 24 2017, 18:22) а wireshark+usbpcap на вашем ноутбуке - не подходит? К сожалению - нет. Перепробовал несколько сниферов. Интересен вопрос о правильности сигналов, времянок и о числе перезапросов.
  4. Доброе время суток! Ребята, посоветуйте недорогой анализатор USB-протокола, пожалуйста. USB 2.0, FullSpeed устройство. Поскольку нужен на небольшое время, то жаба душит покупать. Может кто даст попользоваться или предоставит возможность прийти с устройством и ноутбуком? (г. Москва)
  5. Программист C/C++

    Цитата(x893 @ Sep 13 2016, 22:09) С такими требованиями подойдут студенты от 2 курса и выше. Примерно как написать требование - навыки использования воздуха 4 пункт повеселил Если студент заинтересован и уже знаком с данными инструментами - то почему нет? Не у всех есть опыт 10 лет из коробки.
  6. Программист C/C++

    Цитата(=pcb= @ Sep 13 2016, 15:50) Про индексацию забыли. Нет такого. Но рост з/п, как правило, быстрее или равен инфляции. Если, конечно, не лентяйничать
  7. Обязанности Решение прикладных задач на языке программирования C/C++ для ОС QNX/Linux в области радиолокации. Требования к кандидату 1. Знание языков программирования C/C++ 2. Владение средствами компиляции и сборки GNU (gcc, make) 3. Навыки использования языка командной оболочки bash 4. Уверенные знания современных программных а аппаратных архитектур 5. Навыки разработки сетевых приложений 6. Базовые знания радиотехники Приветствуется 1. Навыки кроссплатформенной разработки на C/C++ 2. Знание QT framework 3. Знания числовых методов обработки информации 4. Знания пакета моделирования matlab 5. Знания ЦОС Об организации Всероссийский научно-исследовательский Институт радиотехники (АО ВНИИРТ) Россия, 105082 г. Москва, ул. Б.Почтовая, 22. Информация доступна на сайте http://www.vniirt.ru Область деятельности: выполнение работ, определенных государственным оборонным заказом и государственной программой вооружения в части проведения научных исследований, разработки, изготовления опытных образцов и участия в серийном производстве РЛС обнаружения, наведения и целеуказания межвидового применения. Условия труда Полный день, работа на территории работодателя. Начальный уровень заработной платы 50-100 т.р., зависит от квалификации. Рост заработной платы в поощрительном порядке. Контактная информация Сергей, fsenok@gmail.com, +7(967)244-06-77
  8. Помогите разобраться. В драйвере выделяю память при помощи alloc_pages(). Процесс открывает файл устройства, вызывает mmap. Драйвер отображает память с помощью vm_insert_page(). При этом первый вызов vm_insert_page проходит успешно. Но позже (в одном из ioctl-ов драйвера) необходимо переключить виртуальную область на другую физическую область. Вот здесь не знаю как делать правильно. Повторный вызов vm_insert_page для другой страницы провальный. Перепробовал море вариантов (
  9. USB MTP протокол

    Цитата(WitFed @ Sep 23 2014, 11:20) А как MTP может хранить данные без ФС ? Всё равно MS-овцы должны цепочки секторов прослеживать на низком уровне, стирания у файлов бывают, фрагментация... Это они навернули дополнительные слои сверху, а снизу наверняка обычная FAT с парой копий главной таблицы кластеров и ограниченным корневым каталогом. Если запись типа "чёрного ящика", линейно-непрерывная, то можно придумать "линейную" ФС -- циклический буфер на всей флэши, более новые файлы затирают самые старые, текущая позиция ищется на старте по дате самого "молодого", допись нового начинается с неё и т.д. FAT-а (узкого места) нет в классическом понимании, всё равномерно размазано, проблемы в одном месте/времени никак не испортят данные в другом. Я бы лично "абстрактные" требования отказоустойчивости реализовал дублированием на нижайшем уровне -- последовательным или параллельным размещением тех же данных на разных чипах флэши. У них же есть chip select, можно включить 2-3 штуки сразу и подавать по общей шине данные -- во все выбранные чипы и запишутся ! Потом вычитать быстро по очереди, сравнить (или контроллер сам проверит "качество" при записи и выставит бит проблемы), принять какое-то решение (если ошибка хоть где-то, пометить этот адрес сектора как сбойный на следующие разы)... Лишь бы верхнему уровню, которому хочется читать-писать, была видна "плоская" карта памяти девайса, тогда сверху проблем не будет. А что за сбои чудятся, каков характер, на практике они бывали, или просто перестраховка ? ОС обычно заточена на возврат кода ошибки, может пометить у себя место неудачной записи в FAT и больше его не использовать. Можно же на обычной FAT/NTFS открыть 2-3 файла "верхним уровнем" и в них писать по очереди одно и то же с периодическими CRC-вставками блоков, при чтении сравнивая непобитость и беря аналогичный кусок из более целого файла, если в первом проблемы ? У старых винчестеров в секторе на 512 байт было дополнительное поле CRC разного размера, сейчас у флэшей с этим проблемы FAT-ов можно завести больше, чем обычные 1 или 2, только для SPI-флэшей операция изменения "большого" сектора при "вписи" нового файла, для которого нужно поменять пару 00 на его № кластера, достаточно тяжкая и неэффективно портящая секторы в FAT-области постоянными форматированиями выше среднего. Современные флэши с гигантскими единицами записи как будто специально придумывали, чтобы затруднить работу с древними ФС Можно даже "под FATы" поставить специальную флэшь с произвольным доступом на чтение-запись (правда, я про такие не слышал, кроме гипотетической MRAM), а для данных оставить "крупно-секторные"... Или в FAT-области хранить её инверсию -- тогда "постформатные" FF станут выдаваться наружу, как 00, будут считаться свободным пространством, ОС при записи файлов будет писать туда числа, которые окажется легко "вписать" в FF без перетирания сектора. Но при стирании файлов уже потребуется форматирование По-любому, FAT требует особого внимания, хорошо её хранить в ОЗУ (видимо, так сейчас и делается), а при появлении признаков пропадания питания успевать сбрасывать в энергонезависимое место. Я нашим конструкторам так и говорил -- можете в конденсаторе где-то накопить напряжения на 1 с работы с флэшью и подать в проц прерывание, если внешняя цепь точно сдохла ?.. > А как MTP может хранить данные без ФС Надо читать стандарт, конечно, но я на сколько понял, MTP определяет только протокол обмена, но не способ хранения данных. Тем он мне и приглянулся сначала. > А что за сбои чудятся, каков характер, на практике они бывали, или просто перестраховка - А у вас несчастные случаи были на стройке? - Нет. - Будут. Из этой области )) Температура + перегрузки + цена потери данных велика. Поэтому отказоустойчивость было первое требование. > ОС обычно заточена на возврат кода ошибки, может пометить у себя место неудачной записи в FAT и больше его не использовать. Ну, если предположить, что в винде отключено кеширование ФС, то, возможно, на это можно положиться. А вообще, винда в устройство не пишет. Устройство пишет само в себя. А винда потом только считывает. Для этого и эмулируется fat32. > Или в FAT-области хранить её инверсию -- тогда "постформатные" FF станут выдаваться наружу, как 00, будут считаться свободным пространством Да, я тоже думал об этом. Вполне можно так сделать. И хранить таблицу FAT во внутренней флеши. Уж если она гикнется... То, можно быть уверенным, гикнулось всё Изначально была сделана линейная запись. И сейчас работает именно она. Хотя это будет переделываться. Когда ещё не шла речь о режиме mass storage и FAT-е, мне приходила в голову идея сделать такой алгоритм... Исходя из того, что необходимый размер данных неизвестен, но он меньше 1 гб, то: 1. Сначала пишется всё параллельно во все 32 флеши. Когда доходим до конца, то 2. Стираем половину флешей и продолжаем параллельную запись в них И так по заполнению делим адресное пространство на 2 постоянно. Представляется это оптимальным алгоритмом в данном случае, но, увы, железо так сделать на позволяет: чипселектами управляет декодер, а по мощности операцию одновременного стирания нескольких флешей устройство не тянет. Так что будем думать менее красивые способы
  10. USB MTP протокол

    Цитата(WitFed @ Sep 22 2014, 13:12) Шось на форуме поиск совсем загнулся -- глянь Гуглом "MTP site:electronix.ru". Первая же ссылка на Вики отбивает любые желания -- и доступ только через MS-софтины, и проверка прав на файлы какая-то... Хотя сами музыка/кино тоже вполне себе бинарники Мало информации -- почему, допустим, "на физическом накопителе не разместить ФС" ? Обычно устройство -- куча секторов, о которых наружу известно только их количество и размер одного, предоставляются операции чтения и записи. Снаружи ОС этим всем пользуется и создаёт там MBR, разделы разных типов, что угодно потом внутри... Спасибо за ответ. В поиске уже копался и вики читал) Жаль что эти копирасты не сделали нормальный протокол файлобмена... > Мало информации -- почему, допустим, "на физическом накопителе не разместить ФС" ? Много spi-флешей. Поддерживается структура записи в них, определённая требованием отказоустойчивости. Дабы вылет одной или нескольких произвольных не привёл к потере данных или, по крайней мере, к сбою записи.
  11. На устройстве реализован mass storage. Поскольку на физическом накопителе не разместить ФС, то приходится эмулировать FAT32 на-лету, что не нравится. Наткнулся на MTP-протокол, который бы подошёл идеально если бы хранилась музыка или видео. Но у меня бинарные файлы данных. Можно ли MTP заставить гонять произвольные данные и на сколько это противоречит MTP-стандарту?
  12. USB композит CDC+MSC

    Цитата(=AK= @ Sep 11 2014, 01:52) Имейте ввиду, что родной Микрософтовский CDC драйвер имеет проблемы. Очевидно, именно по этой причине все поставщики чипов UART-USB не пользуются им, а дают свой собственный драйвер. Я поработал на CDC несколько лет, а сейчас, по причине неизбывной глюкавости, ухожу с него на WinUSB. В чём заключаются проблемы? Пока столкнулся с 2 проблемами. 1. отсутствии правильного flow-контроля у stm-ного vcp. Но её заборол. 2. когда размер пакета кратен размеру BULK-пакета. Винда считатет при полном пакете, что передача ещё не завершена... впрочем это нормально и можно учитывать.
  13. USB композит CDC+MSC

    Всем спасибо. Повторил дескрипторы композита CDC+MSC соответствующего NXP-шного примера и взял их inf-файл. Поделка задышала на stm32f4. Тему можно закрыть.
  14. Какой VID+PID лучше прописать? Хотелось чтобы виртуальный порт в винде появился автоматом, либо чтобы использовать распространённый драйвер. Большая просьба, если у кого-нибудь есть гаджет, с интерфейсами MSC+CDC, запостите USB дескрипторы сего девайса.
  15. Цитата(Tarbal @ Jan 29 2014, 18:09) Да, увлекся. Ну тогда М-последовательность самое то, что надо. И предопределенная и абсолютно неавтокоррелируемая. Обращал внимание на М-последовательность, но она не позволяет вычислить n+1 элемент без вычисления n предыдущих. Поэтому отказался.