EDUARD KROMSKOY |
|
Mississauga, Ontario, L5H 4A2, Canada telephone(home): (905) 271 5238 e-mail: ed1k@qnx-night.com
|
Objective:
Software (Firmware) development position to enjoy making use of my skills in real-time embedded systems development and digital signal processing and to make a difference for your company.
Qualification Summary:
Area | Experience length |
System level programming | 14 years |
Embedded software / Firmware development | 14 years |
C Language | 18 years |
UNIX/POSIX programming | 12 years |
Driver programming | 10 years |
Digital signal and image processing | 7 years |
Cryptography and Data Security | 4 years |
RS-485 communications (Modbus and Fieldbuses) | 5 years |
Ethernet communications (IP, TCP, UDP, ICMP, ARP) | 2 years |
QNX/Neutrino (QNX 6) programming | 5 years |
TMS320C1x/2x/2xx Assembly Language | 4 years |
AVR AT90/Atmega Assembly Language | 4 years |
VxWorks programming | 2 years |
Linux kernel programming | 2 years |
Intel x86 (IA-32) Assembly Language | 5 years |
Microsoft Windows programming | 2 years |
C++ Language | 2 years |
MS/PC-DOS programming | 7 years |
QNX 4 programming | 1 year |
Hardware design (digital and analog circuits schematic) | 2 years |
Expertise:
- Extensive knowledge of software engineering, multi-threaded programming, testing and debugging, development and implementation of software releases; comprehensive experience in system analysis and configuration;
- Wide skill set covering most aspects of electronics development including high-level applications, drivers, embedded software development, and digital logic design;
- Solid knowledge of IBM PC architecture and working experience with industrial PC and PC/104 boards;
- Experience with PowerPC computers and VMEbus (BSP level programming and driver development: G4+, AltiVec, Marvell Discovery II, Discovery III, Tundra Universe II PCI/VME bridge, PMC modules);
- Hands-on experience with register level programming: interrupt handling, direct memory access, PCI bus transactions, timers, UARTs (8250-16950), NIC (RTL8019AS);
- Strong experience with data networking and communication protocols: TCP/UDP, IPv4/6, Ethernet, Firewalls/NAT, RS-232 (422, 485), Modbus, coding and modulation for wireless communications;
- Experience with synthesis and implementation of different digital filters with finite and infinite impulse response, stability analysis, FCT and FFT including split-radix algorithms;
- Experience with oscilloscopes, logic analyzers, generators, spectrum analyzers, frequency meters, voltmeters, ammeters and other lab equipment;
- Excellent analytical skills, problem solving and troubleshooting;
- Proven ability to acquire and apply new skills rapidly and effectively;
- Enthusiastic and creative, flexible, adaptive and self-starter;
- Enjoy working in teams and individual situations, ability to work under stress, and perform well with minimal supervision.
Work Experience:
Position: Software Developer.
Job duties and responsibilities:analyze requirements, design, implement, debug and unit test; code reviews; software integration and bug fixes; communications with management, co-working teams and QA personnel; collaboration with ASIC designers; teleconferencing with team members located in different countries.
Software and development tools: C/C++ cross-compilers, Eclipse IDE, Cygwin, vi, SVN, GNU makefiles, GDB, Xilinx ISE, Mentor Graphics VSIM.
Hardware platforms and tools: SunOS/Linux/Windows 64 bit and 32 bit environments, proprietary IP-cores, JTAG, Spartan/Virtex FPGA.
- Participated in a team work to design, implement and test firmware for cryptographic IP-core developed by the company, Asset Control Core (ACC);
- Participated in design and implementation of Flexible Integration and Verification Environment for ACC: ACC reference model, transaction generator, libraries to integrate to VERA/System C verification environment at customer site as well as a number of applications and tools for internal SVV team;
- Proposed a lot of ACC communication protocol improvements directed to increase reliability and make it as possible independent of hardware, so protocol changes have minimal impact on RTL design and verification;
- Identified a few security vulnerabilities and fixed them before production phase.
Position: Software Developer.
Job duties and responsibilities:as a member of boot and kernel team analyze requirements, implement, debug and unit test; code reviews; software integration and bug fixing; communications with management and QA personnel; co-operation with partner organizations.
Software and development tools: Microsoft C/C++ compilers, Visual Studio, Visual SourceSafe, Cygwin, C/C++ cross-compilers, Assemblers.
Hardware platforms and tools: IBM PC desktops and laptops, handheld computers, smartcards, PCMCIA/USB card readers and mass storage devices, IDE/SATA/ATAPI/AHCI mass storage devices.
- Proposed and implemented a number of improvements extending functionality of Winmagic proprietary pre-boot environment for BIOS/AT platform;
- Developed software for Seagate Momentus FDE hardware encryption hard drives; Seagate proprietary DriveTrust technology supported at pre-boot as well as during Windows® time; this software also was ported to EFI/iMac platform;
- Added support for number of PCI and PCMCIA card readers in pre-boot environment;
- Developed number of utilities and plug-ins as required for customer support and computer maintenance.
Position: Software Engineer.
Job duties and responsibilities: analyze requirements and write software design specifications; implementation, debug and unit test; software integration; peer to peer reviews; communications with PRE and Test personnel; co-operation with members of Control System group to achieve performance success; continually enhancing personal development skills: control system analysis, software design strategies, new protocols.
Software and development tools: Wind River VxWorks RTOS, Tornado for SunOS/Solaris, gcc, RCS, Windows XP, TortoiseSVN, Libero IDE.
Hardware platforms and tools: PowerPC VME SBC, SPARC workstation, WAGO Modbus/TCP programmable fieldbus controller, IBM PC, Fusion, oscilloscopes, multimeters.
- Participated in the design of Automated Passenger Bridge (APB) system; the APB system fully automates the required movements of passenger bridges for departures and arrivals;
- Wrote software design specification for the APB Motion Control system, APB system interoperation and interface specification for integration of APB system with airport Visual Guidance and Docking System.
- Designed and implemented software for remote I/O subsystem; the software provides standard unified I/O interface for the system and takes care of communications with remote I/O nodes implemented utilizing WAGO Modbus/TCP Programmable Fieldbus Controllers;
- Developed drivers for PMC analog and discrete data acquisition modules; drivers provide standard access to acquired data through VxWorks I/O subsystem which greatly improves flexibility of software integration compared to the "board access libraries" provided by module vendors;
- Participated in the development, designs and reviews of Aircraft Ship Integrated Secure and Traverse (ASIST) systems and other projects of the company.
Position: Software Developer.
Job duties and responsibilities: analyze requirements and create a detailed hardware architecture and/or software design; implementation, debug and troubleshoot of the software; software maintenance.
Software and development tools: Linux, QNX6, DOS, Windows 95/98/NT/2000/ME/XP, Microsoft Visual Studio and DDK, Win32 API, Borland C/C++, GCC, QCC, AVR Development Tools and AVR Studio, nasm, masm, tasm, gasm, Paradigm C++.
Hardware platforms and tools: AVR Atmega 8 bit RISC MCU, AMD 186ER CPU, IBM PC/AT and clones; oscilloscopes, logic analyzers, spectrum analyzers, multimeters.
- Designed and implemented virtual serial port driver for QNX6 RTOS and Linux (kernels 2.4 and 2.6); the software allows to work with RS232 to TCP/IP based port converter just like with standard serial port;
- Developed production test bench for the Lava Ethernet-Serial Link converters;
- Developed lsesl console based utility (Win32, Linux, QNX6) for detecting and printing the network parameters of Ethernet-Serial Link units connected to LAN; knowing IP address it is possible to use telnet session or web page for further configuring the unit;
- Developed setirq and setaddr utilities for DOS/Win9X; these utilities allow to reassign resources for Lava PCI cards in order to use legacy DOS applications with Lava PCI ports;
- Developed flash programmer for the production test equipment for the Lava PCI boards (screenshots);
- Designed and implemented RS-232 communication analyzer (serial sniffer).
Vertical is an ISO9001 registered company, branch of Triol Corporation, the leading manufacturer of power electronics in East Europe.
Position held: Software engineer.
Job duties and responsibilities: design, development and debugging of the programs to be utilized in process automation for control of industrial motor drives.
Software and development tools: Linux, QNX6, DOS, Windows 95/98/NT/2000/ME/XP, LCC and Win32 API, Borland C/C++, GCC, QCC, AVR Development Tools and AVR Studio, TMS320C2x/C2xx/C5x Optimizing C Compiler and Assembly Language Tools, TI XDS522 Emulation System, Texas Instruments Code Composer 4.10.36.
Hardware platforms and tools: AVR MCU based custom boards, TI DSP based custom boards, IBM PC, PC/104 boards: AR-B1320/AR-B1422 (Acrosser Technology Co.), MSM386S/MSM486DX/MSM5x86 (Digital-Logic AG), CMC16686GX/CMD17686GX/CMH6x86DX (Real Time Devices USA Ltd.), PCM-SX (WinSystems Inc.); oscilloscopes, logic analyzers, ammeters.
- Designed and implemented firmware (TI DSP Assembler) for a Soft Starter device - thyristor voltage converter based on TMS320F240 custom board for starting and braking heavy duty electrical engines, AC11 serie of devices manufactured by the company;
- Participated in Field Oriented Control project to be utilized for developing new intelligent IGBT variable speed drives (TI DSP Assembler);
- Participated in the development of firmware for local and remote control panels (AVR Assembler, custom boards, Modicon Modbus RTU over SPI and RS485 protocol);
- Designed and debugged various embedded software utilized in computer-aided control of industrial electric drives in a networking environment. It was a research work to evaluate the QNX 6 real time operation system and behaviour of different PC/104 boards in a harsh industrial factory environment;
- Developed the MS Windows based software for remote debugging of the DSP software through communication port (C, Win32 API, MDI application);
- Participated in the development of a serial flash memory programmer for TMS320F240-based controllers. The software includes PC-host part to communicate through RS-232/RS-485 interface that was developed in C and ported to DOS, QNX6, Win32 and Linux operation systems and second part was a DSP serial boot loader in TI DSP Assembler, this part is included in every new project to allow on-site firmware update.
Research Institute of Radio Metering (JSC SRIRM) is the leading enterprise for the National Space Agency of Ukraine. Also it is a leading manufacturer of medical equipment.
Position held: Electronic engineer.
Job duties and responsibilities: development, debugging of the programs; adaptation of the developed and licensed programs so as to ensure their integrated work. The software is used to solve various problems as applied to radio metering.
Software and development tools: Linux, QNX 4, DOS, Windows 3.0/3.11/NT3.51/4.0, Borland C/C++, Win16/32 API, Microsoft Visual Studio 5.0, MFC, GCC, Watcom C/C++ 10.6.
Hardware platforms and tools: IBM PC, MicroPC, custom processor units, custom MCU based boards; oscilloscopes, logic analyzers, generators, spectrum analyzers, frequency meters, voltmeters, ammeters.
- Participated in a development project for the high-resolution picture transmission (HRPT) station for NOAA satellites ("RadMir-1.7" station). Designed interface card and created the software for data transfer from the receiver into the computer. Technical co-ordination of the project;
- Developed programs and analyzed algorithms for encoding/decoding treatment of the pictures transmitted by spacecraft (C++, MFC, Windows GUI application and Windows console applications);
- Developed software for development of the ROM based lookup tables (C, DOS application);
- Participated in development of the software for medical equipment such as encephalograph (embedded software for x86 board, C, DOS), data acquisition systems (firmware for custom boards with serial communication interface or DMA, AT89C51/AT90S4414, Assembler), image processing for X-ray and ultrasound scanners (Windows and QNX 4 applications);
Position held: Electronic engineer (contract).
- Created software for simulating the processes of digital signal filtering by different methods (Fortran, PC and minicomputers); it was used in the University DSP course as well as for manufacturing purposes;
- Developed software for testing a spectrum-correlation CPU manufactured at the R&D Institute of Radio Metering (C, DOS application communicating through custom interface board with target CPU).
OPO "KharkivTeploEnergo" Kharkiv, Ukraine |
November 1997 - June 2000 |
Position held: Software engineer (consultant).
Job duties and responsibilities: administration of local computer network; development and maintenance of software for accounting and stock inventory.
Education:
Berlitz Business Communications School Mississauga, Canada |
July - September 2010 |
Meetings and Teleconferences |
|
Kharkiv State University of Radio and Electronics (full-time, Radio Engineering department) Kharkiv, Ukraine |
September 1987 - July 1993 |
Bachelor degree in electrical engineering (Diploma of radio engineer) I am eligible to obtain P. Eng. status in Ontario. |
|
Secondary School of General Education No.146 Kharkiv, Ukraine |
1977 - 1987 |
Miscellaneous:
- Internet connectivity tools and communications applications;
- Microsoft applications: Word, Excel, PowerPoint, Visio, Outlook;
- Adobe Acrobat, Photoshop and graphical applications;
- Knowledge of P-CAD and CAD systems;
- Audio conversion and compression;
- Hobby: Black and White Art Photography (gelatin silver process);
- Languages: English, Ukrainian, Russian.
References:
Available upon request.
Code/project samples available upon request.
©2011, Eduard Kromskoy