Jump to content

    

andrey_p

Участник
  • Content Count

    125
  • Joined

  • Last visited

Everything posted by andrey_p


  1. Это неверная оценка ситуации. Вы, видимо, не видели, что происходит с талантливыми инженерами, "свалившими" в крупные компании в США. Через два года они либо уходят в менеджмент двигать "колбаски", либо перестают быть талантливыми инженерами. Жизнь для живота не располагает к полному погружению в работу. Именно поэтому эти компании ощущают кадровый инженерный голод и активно аутсорсят проекты, в том числе и в нашу страну. Даже компании под отдельных людей создают. Остальные причины Ваших проблем и неудач объяснили выше.
  2. Если речь о разработке уникального решения подобного масштаба, то таких компаний нет нигде. Если, конечно, у Вас не безграничный бюджет. Если система более-менее типовая, то есть компании интеграторы. Но они строят систему на основе готовых компонентов. Возможно, с небольшой доработкой. Именно с небольшой. Если доработка существенная, то обычно выставляется заградительный ценник. Для примера: некий компонент, разработанный в отечественной компании с нуля, обошёлся примерно в 20 млн. руб. Западный вендор, собиравшийся адаптировать своё решение под наши требования, выкатил ценник в 60 млн. руб. Я считаю доработку решения вендора несущественной, так как очень хорошо знаком с их решением.
  3. Ниже описан процесс разработки некой системы схожего масштаба. Разработка велась западной компанией, в которой я работал. Заказчик хочет сделать "чтобы было зашибись". Свои пожелания он излагает в кратком документе (1-2 страницы) "своими словами". Этот документ называется WP (White Paper) и/или VoC (Voice of the Customer). Действия исполнителя (сначала потенциального исполнителя): На основе WP / VoC создаётся HLSA (High Level Solution Approach). Обычно HLSA делается в виде презентации для демонстрации заказчику с целью согласования единого видения функционала. Причём техническая часть презентации создаётся группой системных инженеров / архитекторов (эта группа тесно связана с "продаванами"). В некоторых случаях проводится НИОКР. По результатам обсуждения HLSA с заказчиком вырабатывается общее понимание. HLSA может итеративно дорабатываться исполнителем в ходе обсуждения. На основании HLSA создаётся TRD (Technical Requirements Document). Это те самые высокоуровневые требования, под которыми подписывается заказчик и по которым делается оценка. На основании TRD заказчик будет проводить приемо-сдаточные испытания. На основании TRD исполнитель создаёт SRD (System Requirements Document), включающий внутренние требования, невидимые заказчику. Это часть очень важна, так как требования в TRD являются слишком высокоуровневыми для создания системы. Количество требований в SRD может в десятки раз превышать количество требований в TRD. Делается TM (Tracability Matrix) из TRD в SRD. На основании SRD делается SAD (System Architecture Document), описывающий декомпозицию и интерфейсы между компонентами. Делается TM из SRD в SAD. На основе SAD для каждого компонента делаются BR (Box Requirements) и TM из SAD/SRD в BR. BR используется тестировщиками для создания документов по тестированию, а затем и самих тестов. Создаются TM до самых тестов. На основе SAD для каждого компонента делаются HLD/LLD (High Level Design / Low Level Design) со сквозными ТМ. Создаются сами компоненты. Низкоуровневые части компонентов тестируется разработчиками на основании HLD/LLD (Unit Testing) Каждый компонент проверяется соответствующей группой тестирования на соответствие конкретному BR. Вся система тестируется на соответствие SRD. Этот этап разделяется на два: системная интеграция / системное тестирование SI/ST (System Integration / System Testing) Система передаётся заказчику для приемо-сдаточных испытаний (по TRD) Писал по памяти, но, вроде, ничего не упустил:) Ещё есть документы финансовые, по линии проектного менеджмента, QA, сопроводительная документация, но о них я даже не пишу - это вообще отдельный мир. Каждый из перечисленных этапов оплачивается заказчиком. На начальном этапе может быть несколько потенциальных исполнителей. Мне удалось поработать на всех этапах, кроме последнего (11) и мне очень хорошо знаком этот процесс изнутри. По мере возможностей пытаюсь внедрять этот подход в отечественных компаниях. Что-то получается, что-то нет. Грамотные руководители очень хорошо понимают необходимость подобного подхода к разработке сложных систем. Мне кажется, что разработать описываемую Вами систему без подобного процесса невозможно в принципе.
  4. Только почему-то технологически доминирующий запад приходит на наш рынок за мозгами. И не только на наш. Поэтому у нас открывается куча как подразделений головных компаний, так и аутсорсинговых компаний. Вы удивитесь, но "американских" инженеров в США не существует уже давно. Я жил и работал в США в крупных западных компаниях и знаю, о чём говорю. Они давно здесь. Некоторые уезжают "туда", но большинство работает здесь. Большинство уехавших "туда" теряют свою квалификацию через несколько лет. От сытой жизни.
  5. То же самое происходит в крупных западных корпорациях. Когда-то я этому удивлялся, теперь нет. Не хочется повторяться, но всё то же самое происходит в крупных западных корпорациях. Линейные менеджеры об этом знают и очень внимательно отслеживают настроения этих 3-4 разработчиков. Любой проект в период становления держится на конкретных людях. Это потом можно заменять всех универсальными винтиками, о которых бредит менеджмент. Попробуйте декомпозировать задачу и ищите исполнителей на отдельные подзадачи. И Вам придётся отбирать компании, которые умеют делать реальные вещи. Методом проб и ошибок. Таких компаний много, но они редко побеждают в тендерах. В противном случае Вам придётся искать кого-то, кто сделает это за Вас. Но вот только стоимость результата там будет совсем другая.
  6. Работал с Google S2T, Deepgram и одним отечественным решением. Решение от Amazon, насколько я знаю, не поддерживает русский язык. Самое лучшее качество распознавания было у Google S2T. Единственный нюанс, это работа с ключами. Google выдаёт сертификат, на основании которого каждый час генерируются ключи. Ключи используются в запросах на распознавание и генерируются сервисом от Google. Библиотека для запроса ключей по сертификату закрыта, написана под .NET core. Для разработки нужны требования по задержкам. Большинство "распознавалок" работают в пакетном и потоковом режимах. Для пакетного режима нужно перекрытие фреймов, но работать с ним проще. Для повышения эффективности использования канала хорошо бы задействовать VAD. Ну и разбор ответов нетривиальный.
  7. Ниже описание по горячим следам (2012 год). В первый раз заказывал DE2-115 + переходник. Заказывал весной 2011 напрямую у Terasic с доставкой в Россию. Брал для себя — для саморазвития:) После переписки с куратором по связи с университетами получил возможность купить по «академической» цене. Насколько я понимаю, при продаже по университетской программе Altera компенсирует стоимость чипа. А теперь о главном… В то время, когда я покупал, реально оплатить можно было только по PayPal, соответственно доставка осуществлялась только в Россию и только fedex-ом. Посылка долетела за 4 дня. А дальше началось. Позвонил в fedex. Они сказали, что нужно воспользоваться услугами таможенного брокера по очистке, иначе можно сразу отсылать все обратно. Были посланы, ибо брокер ничего не гарантировал, но просил больше 10000 рублей за услуги (точную сумму не помню). Забрав комплект документов, поехал на таможню. В последующие 5 дней мне пришлось побывать там 4 раза — каждый раз требовали все новые и новые документы. Хорошо, что работал неподалеку. Итак, вот список всего, что было предоставлено: 1) Таможенные декларации и прочая хрень по списку fedex-а 2) Гарантийное письмо о том, что беру для себя 3) Заверенная справка с работы, что я не буду использовать эту штуковину в рабочих целях 4) Письмо производителя (Terasic), подтверждающее отсутствие в данном устройстве модулей шифрования и криптографии. Я заодно попросил Terasic добавить пункт про отсутствие радиопередающих устройств. По требованию таможни письмо было переведено, а перевод нотариально заверен. Хорошо, что моя девушка имеет диплом переводчика:) 5) Классификация по ТН ВЭД — это вынос мозга. Кто в курсе, тот поймет. Эта плата попала в раздел [Ядерные реакторы]->[Запчасти]->[Пишущие машинки и прочее]-> Пункт 4 можно заменить нотификацией ФСБ, которая делается первым, кто ввозит некое электронное устройство на территорию России. Эту нотификацию вы НИКОГДА не найдете, несмотря на то, что товар уже продается в России. Таможенник и слушать меня не хотел, когда я говорил, что эта плата здесь продается… Да, а плату я получил:) Во второй раз всё сделал за одну поездку, так как подготовил все документы заранее (тот же комплект, но на плату SoCKit от Terasic). К тому моменту девушка-переводчица уже стала моей женой:) При этом я поменял своё отношение к таможенникам - ничего сверхестественного и незаконного они не требовали. Не было даже намёка на деньги. Плату выпустили. Единственное, что таможенник сказал мне напоследок, так это то, что больше не примет электронное письмо от производителя. Сказал, что требования ужесточились и теперь нужно письмо производителя на оригинальном бланке.
  8. В СПб такой специалист обойдётся недёшево. Результат не гарантирован. Причина проста - считанные данные могут быть в левом формате, а если в чипе-таблетке ещё какой-нибудь синтезатор китайского, то вообще труба. Можете рискнуть. Купите этот или подобный программатор (с этим работал, проблем нет). Подпаяйтесь к чипу или купите такой переходник. Если нога питания не просядет, то считайте содержимое и выложите сюда. Скорее всего, проблем со считыванием не будет - я такой комбинацией ноут восстанавливал. Правда, у меня принципиальная электрическая схема ноута была:) Если формат считанного удастся понять, то перепрошить устройство можно будет тем же комплектом.
  9. ЭАК, ЭКГ, ЭЭГ. В такой комбинации похоже на полиграф. Это я к тому, что контроллер (или законченное устройство) обрабатывает не один канал. Вы хотите применить все доступные в библиотеке функции или только те, что Вам нужны? Альфа, бета и гамма ритмы находятся выше 5 герц. Что от чего Вы хотите очистить? Может быть Вам нужен свой полосовой фильтр для каждого ритма? Опишите задачу и применяемое устройство.
  10. STM32MP1 - bare metal

    Ага, спасибо. Я в январе буду заниматься оптимизацией RTOS с Linux под гипервизором на ARM. Сегодня посмотрю на target, если там тот же контроллер, то посмотрю его и тогда отпишусь. Уточняющий вопрос: у Вас таблицы трансляции сделаны один в один? Можете скинуть таблицы на всякий случай?
  11. STM32MP1 - bare metal

    Этого мало. Это зависит от конкретного устройства (cache arch, TLB, SDRAM controller), от подключенной динамической памяти и от менеджера памяти (отображение физической памяти на виртуальную). Также неплохо было бы посмотреть на саму тестовую программу. Вообще все эи тестовые программы без адаптации к конкретной платформе - сравнивание тёплого с мягким. А что за тестовая программа? Какая-то стандартная или самописная?
  12. STM32MP1 - bare metal

    Нужно смотреть на организацию кэша и подсистему памяти в целом. Даже в случае ассоциативности она работает только внутри индекса (исключение - полная ассоциативность, что для L2 нереально на сегодняшний день). Да и строение TLB стоит учитывать.
  13. STM32MP1 - bare metal

    Я исключительно про документ, в котором делаются выводы о скрещевании ужа и ежа. И выводы дают пищу для размышления, учитывая тренд. Мне кажется, что при правильном подходе RTOS под гипервизором должна жить нормальной жизнью. Меня в последнее время не покидает тревожное чувство, что в один прекрасный день цена этих производительных дешевых камней улетит в небеса и придётся возвращаться к дешевым камешкам, цена на которые подскочит не так сильно. Учитывая, что и рынок готовых изделий схлопнется. Но это уже отдельная тема.
  14. STM32MP1 - bare metal

    Хороший документ. Схема венчания через гипервизор на embedded нынче модная. Интересно было бы посмотреть, что там с кэшами и доступом к памяти.
  15. Подключите MCP2515 через SPI. Инструкции здесь: https://www.raspberrypi.org/forums/viewtopic.php?t=141052
  16. В таком случае от посимвольного ввода на уровне приложения Вам не уйти. Во время ожидания лучше не прыгать по таймаутам. Однако нужно предусмотреть возможность обработки copy/paste в консоль, то есть после приёма первого символа от пользователя есть смысл перейти на буферный приём и обработать все данные из буфера до следующей паузы. Таким образом Вы уменьшите количество вызовов read().
  17. Да, именно так. Для ответа на этот вопрос нужно понимать, по какому "интерфейсу" у Вас работает то, что подключено к UART. Также нужно понимать, каким образом Вы планируете обрабатывать данные UART в приложении.
  18. Вы можете устанавливать таймауты, посмотрите на tcsetattr(). Вам нужны параметры VMIN и VTIME.
  19. И что? Как это поможет на фоне огромного количества помех? Лодка может двигаться, а рыбы стоять. А может быть всё наоборот. А ещё рыбы двигаются весьма специфично. Именитый производитель не смог выделить рыб. При этом даже на профильных форумах писали, что эта функция весьма условна.
  20. Рыбак, спиннингист. Давным давно купил себе Humminbird 728 (кажется) с двумя сонарами - dualbeam (20*200кГц/60*83кГц) и quadrabeam(+2X35*455кГц). Недешёвая была игрушка во второй половине нулевых. Имеет функцию поиска рыбы. Плавал в основном по Вуоксе. С рельефом твёрдого дна справляется неплохо, но вот функция поиска рыбы не работала от слова совсем. То есть он находил косяки китов и крокодилов, но визуально это не подтверждалось. Когда стал разбираться в вопросе, то стал понимать, что эта функция может работать только в идеальных условиях. Луч сонара отражается не только от дна и рыб, но и от границы перепада температур, от растительности, искажается илом и т.п. Мне так кажется, что разработка подобного устройства будет стоить весьма серьёзных денег, а результат в любом случае непредсказуем.
  21. Посмотрите в сторону "подсветки страниц" (page coloring). Проблема, возможно, в этом. P.S.: С данным процессором не работал.
  22. Я познакомился с пиками ещё в середине 90-х, очень много писал под pic16 и pic17. Писал на ASM в MPLAB, как для себя, так и на коммерческой основе. Проекты были достаточно большие, с задействованием богатой периферии и математики. Несколько раз пытался перейти на Си, но не видел ни одного вменяемого компилятора для 8-битных микроконтроллеров PIC. Код получался монстроидальный и просто не влезал в контроллер. Необходимые математические алгоритмы вообще не получалось выполнять в реальном времени, при этом на ASM они летали. В общем я изначально и занимался тем, что переписывал код на ASM после того, как сишники сдавались. Потом переключился на pic18, но остался на ASM. В MPLAB очень мощный макроассемблер, позволяющий делать чудеса. В конечном итоге я сделал библиотеку макросов, которая позволяла писать на си-подобном языке. Библиотека была задокументирована и все конструкции покрывались тестами. Это очень сильно упростило разработку. Ниже описание некоторых конструкций. Но это лишь малая часть, вся жесть в деталях, особенно в описании типов данных и условий. Мой Вам совет - если работаете с 8-битными PIC, держитесь подальше от Си.
  23. Там суммы немного не те, да и выбора службы доставки нет.
  24. Есть богатый опыт оптимизации и разработки высоконагруженых приложений. Увы, но это давно не так. Оптимальный код узких мест разрабатывается с учётом специфики платформы. Этот код хорошо документируется, так как при смене платформы он модифицируется или переписывается под новую платформу. Да он нормально не сообразит без подсказок. Для правильной оптимизации нужно понимать архитектуру кэша в целом и на каждом уровне (N-way associative / direct mapped), понимать алгоритмы (политики) вытеснения данных из кэша, алгоритмы синхронизации ядерных кэшей, алгоритмы подсветки страниц памяти, принцип работы TLB и т.п. Вашим студентам несказанно повезло, сейчас мало кто этим озадачивается. И за это Вам огромное спасибо! Я думал, что этому сейчас и не учат...
  25. С личным пользованием у таможни вопросов не было, а вот по поводу "шифрования и криптографии" требовали письмо от производителя с нотариально заверенным переводом. Я писал письмо, отправлял в Terasic, они печатали его на фирменном бланке, ставили подпись и отправляли мне скан. Далее заверенный у нотариуса перевод. В последний раз на таможне сказали, что отныне будут принимать только оригинальные письма с печатью, сканы не катят. Там какое-то новое распоряжение вышло. А вот как такую железку обратно отправлять, вопрос. Кстати, DHL и FedEx сами палят такие посылки, насчёт остальных не знаю.