Фёдоров Дмитрий Контакты: E-mail : dm.fedorov@gmail.com Телефон : +7 913 791 7534 Telegram: +7 913 791 7534 Новосибирск, Россия Цель: Инженер-разработчик для организации процесса разработки ПО на основе OpenWRT (удалённо). Умения, навыки: * Embedded Linux (с 2003), маршрутизаторы Linux, IP камеры. * Своя система сборки образов embedded Linux, аналогичная OpenWRT ( Xwire Build system ). * Модули ядра Linux (драйверы) * UNIX вообще Языки программирования: C (много лет опыта), C++ (в основном, для одного драйвера в ядре Linux), PERL, Bourne shell, Инструменты: GNU toolchain, GNU make, git, gitolite, subversion, cvs, rcs, ctags ОС: Linux, LynxOS, Solaris Мои публичные git репозитории: gitlab Мои старые проекты: binp Опыт работы: * 06/2009 - сейчас. ООО "Сигранд", Новосибирск, sigrand.com sigrand.ru. Должность: программист 1-й категории. * Поддержка старых и разработка новых компонент модульной платформы Linux рутера SG-17R, SG-17S (DSLAM/Switch) (CPU: MIPS32r1, Chip: ADM5120) * Перенос ПО рутера на платформу SG-18 (CPU: PowerPC). * Разработка ПО для IP камер видеонаблюдения IPcam-04, IPcam-20 (CPU: ARM, Chip: Freescale i.MX27), SG-1C, SG-3C (CPU: ARM, Chip: Texas Instruments TMS320DM368), * Гибридная аналого-цифровая камера Сигнатек на основе камеры Сигранд. * Адаптация ПО Asterisk к платформе рутера SG-17S с целью создания IP АТС. * Канальный драйвер Asterisk телефонных плат FXS рутера SG-17S (chip: Vinetic). Целевые ОС: Linux; Целевые платформы: MIPS, ARM, PowerPC (встраиваемые платы) Host OS: Linux; * 10/2006 - 07/2008 Auriga Inc., Москва, отдел LynuxWorks, Должность: старший инженер-программист. Обязанности: Исправление и добавление новых свойств к отладчикам, в основном GDB, в том числе серверные части GDB в ядрах LynxOS и Linux. Целевые ОС: LynxOS, BlueCat Linux; Целевые платформы: i386, PowerPC (встраиваемые платы) Host OS: Linux, Solaris; * 11/2003 - 05/2006 Xwire Inc., Сиэтл, США, удалённо. Должность: Системный программист-разработчик Многоплатформенный (ARM9, XScale, i386: AMD Elan, Geode, VIA), основанный на ядре Linux беспроводной (Wi-Fi) маршрутизатор/точка доступа для сети с ячеистой топологией. Мой вклад: перенос устаревших драйверов Linux из BSP (Board Support Package) от поставщика платы в новые ядра, интеграция ядра и драйверов устройств в проект, поддержка многочисленных неофициальных патчей ядра, добавление новых платформ (плат), собственная система кросс-сборки проекта аналогичная OpenWRT ( Xwire Build system ). собственная простая схема защиты от копирования, идея простого загрузчика Linux для встраиваемых систем архитектуры x86, система Makefiles для под-проектов, драйвер и утилита управления для сторожевого таймера, некоторые другие утилиты, санация чужого кода и множество других задач. Проекты ядра Linux: * 2000-2006 Драйвер КАМАК, написаный на C++, с сильнейшей межпроцессной защитой и "дуракоустойчивостью", нацеленный, в основном, на большие системы сбора данных и управления в физике высоких энергий (в частности, около 60 разнородно заполненных крейтов); Уникальный дизайн в этой области, аналогов в интернет не найдено. Исходные тексты: camac-2.63.tar.gz Описание концепции и программного интерфейса: camac/spec-2.x * RTD проекты: * 2001 Два драйвера устройств для интерфейсных плат шины CAN (конструктив PC/104), ECAN1000 (чип SJA1000), ECAN527 (чип i82527). * 2001 Драйвер устройства двухканального контроллера индукционного датчика угла ERES104 (конструктив PC/104). * 2001-2002 ПО платы ИБП (источника бесперебойного питания) UPS25 в конструктиве PC/104. ПО включает драйвер устройства ядра Linux, несколько утилит для отображения состояния и управления устройством, демон для обеспечения корректного выключения системы при исчерпании резервной батареи. * 1999-2003 Пакет заголовочных файлов для разработки модулей ядра Linux на C++. linux-cxx-1.16.tar.gz linux-cxx-test-1.20.tar.gz * 1998-2003 Модуль для доставки аппаратных прерываний в программы пространства пользователя. irq-1.71.tar.gz * 1998 Драйвер сетевого адаптера точка-точка, модем ближней связи для физических линий. Вся работа делалась удалённо без оборудования, отлаживалось программной симуляцией, покрывшей 90% исходного кода. Проект не завершён из-за финансового кризиса и потери связи с заказчиком. * 1997 Инструменты, позволяющие тестировать и отлаживать код, управляющий аппаратурой, в пространстве пользователя. ПО позволяет доступ программам пространства пользователя к ограниченному диапазону портов ввода/вывода без предоставления им привилегий администратора системы ( ioperm-1.17.tar.gz ), доставку прерываний (через мой драйвер irq), запуска программ с приоритетом "мягкого" реального времени ( rt-2.2.tar.gz ). Всё это позволяет писать и отлаживать программы управления аппаратными средствами с комфортом в пространстве пользователя. Проекты на языке PERL: * 2003-2006,2008 OffMirror - Утилита зеркалирования дерева файлов без одновременного доступа к дереву-источнику и дереву-назначению (off line), в отличие от множества известных утилит зеркалирования/синхронизации. Все разностные данные могут быть копированы на съёмном носителе. offmirror download * 2003 2 модуля, загруженных на CPAN File-Stat-Bits-1.01 File-Stat-ModeString-1.00 FEDOROV Прочие проекты: * 2001-2002 Программа для управления процессом долгого отжига в печи. ОС: GNU/Linux; Инструменты: g++; Оборудование: ПК, КАМАК oven-1.3.tar.gz * 1997-1998 ПО для управления установкой измерения магнитного поля в торце магнитного экрана детектора BaBar, SLAC (Stanford Linear Accelerator Center). ПО включает графический интерфейс пользователя и управление оборудованием. (Исходные тексты слишком устарели для показа). ОС: GNU/Linux; Инструменты: g++; Оборудование: ПК, КАМАК, шаговый двигатель, датчики магнитного поля... Статья: Simulation and measurement of the fringe field of the 1.5 T BaBar solenoid, Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, Volume 432, Issue 1, 1 August 1999, Pages 24-47