Фёдоров Дмитрий
Контакты:
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