Experience
2021 — Now
San Jose, CA
2018 — 2021
2018 — 2021
San Francisco Bay Area
2016 — 2018
2016 — 2018
San Jose
2013 — 2016
San Jose, California
Developed and ported OS/platform (U-Boot, Linux kernel/drivers, boot-up procedures for MIPS and x86) and application (switching, bypass) software for network switches based on Marvell and Broadcom ASICs.
Developed network port configuration, management and monitoring subsystem for network switches. This subsystem is implemented as a process that communicates with CPLDs, buses, SFPs and some PHYs using Linux drivers for corresponding hardware. It automatically detects boards, ports and SFPs inventory, provides configuration files and port configuration notifications for Broadcom SDK, acts as a port configuration and monitoring service for switching applications. This subsystem allows single firmware image to run on a great variety of hardware, and allows multiple applications to use single port configuration/monitoring service.
Developed a set of scripts that use schroot to maintain and run multiple semi-isolated build environments on Linux. Debian and Ubuntu distributions are supported as automatically generated build environment, host system only has to include schroot and have compatible kernel to run those environments.
Developed image generator and installer for Debian and Ubuntu systems. Image can be generated for a given Debian or Ubuntu version with user-defined set of packages, then installed on multiple target devices, without disrupting the functioning of the host system. Package manager runs in chroot, with some functionality disabled to prevent services from starting, however no full isolation is provided, or necessary for this environment. Scripts are provided to unpack and mount the image, and to pack it back into the installable format.
Adapted ONIE installer to run on most x86-based hardware, if necessary booted and installed over PXE in a completely automated manner. Created image generation procedure and ONIE-compatible installer script that supports very large pre-built system images.
2007 — 2012
2007 — 2012
Berkeley, CA
Developed a bootloader and Linux boot procedure for FPGA-based SoCs, flash update and manipulation utilities, Linux drivers for various audio-related devices, soft-real-time Linux audio interface between kernel and userspace, driver for Xilinx Mailbox core, and other tools for development with FPGA.
Backported and updated network drivers for embedded environment based on older Linux kernel, adapted and expanded functionality of bootloaders for x86, PPC, and ARM architectures, developed OS images for those platforms.
Expanded the functionality of multi-drop real-time serial bus, backported and fixed error handling in the driver for Xilinx I2C controller core, added extended multicast support to Xilinx Tri-mode MAC modified for IPv6, added Spartan-6 support to the Linux kernel driver for Xilinx HWICAP core.
Restored non-MMU MicroBlaze support in uClibc and created uClinux port for FPGA-based systems with modern kernel and entirely open source build environment.
Developed Atmel AVR microcontroller software utilizing various peripheral interfaces, designed protocols for reliable communications between microcontrollers and CPUs, utilizing various serial bus types and microcontrollers as routers/bridges between them.
Developed cores for FPGA-based audio-related devices (in VHDL and Verilog), integrated them into full FPGA-based single- and multi-CPU SoCs utilizing Xilinx ISE and EDK tools, used those images as a part of bootloader-managed configuration, with bootloader being able to choose the image for reconfiguration of Xilinx FPGA that it runs on, either through ICAP interface or external MCU.
Developed device control applications, tools for automated firmware installation and configuration, testing, logging and debugging.
Implemented various network protocols in bootloaders and applications, including bootloader control with IEEE 1722.1.
Adapted and debugged BIOS for Intel-based embedded systems.
Developed various digital signal processing applications.
Education
Gomel State University, Gomel, Belarus/USSR
MS
Moscow Institute of Physics and Technology, Moscow, Russia/USSR