Responsible for developing architectural and design requirements, creation of embedded microprocessor code, software unit and system tests, and for qualification of industrial products. Preferred Experience / Skills:
Position Requirements: • Bachelors in Electrical Engineering or Computer Engineering or equivalent degree with 5 to 7 years of experience • Demonstrated experience with embedded software design, prototype validation, unit testing, and overall system integration. • Experienced with static code analysis, object-oriented programming, low level hardware/software interaction, data structures, and software architecture. • Experienced with using bus monitoring tools, logic analyzers, and o-scopes. • Demonstrated experience in embedded development using C/C++, C#, and assembly languages. • Knowledge of Industrial Communication Protocols: HART, Foundation Fieldbus, PROFIBUS and MODBUS • Experience developing Windows and Android applications are a plus. • Demonstrated experience in Tools: IAR Workbench, Keil IDE, STM32Cube, SVN (Version Control) • Experienced with Operating System: RTOS, Linux • Experienced with Microprocessor architecture, peripherals, and related analog/digital circuitry. • Experienced with Software debuggers and emulators for RENESAS / TI / ARM cortex processor family • Knowledge on Linux driver with PCI express & Kernel Programming are a plus • Solid communication and interpersonal skills. • Able to work in a globally distributed development team
Responsibilities & Requirements: Duties and Responsibilities: • Define and implement embedded code designs that will meet the specifications for new products. Specifications include performance, cost, and quality, and industrial certification requirements. • Develop, test, and debug board level firmware using contemporary tools and techniques. • Board level software designs include analog and digital I/O, board to board communication, AC/DC motor control, industrial network communication, and human interface. • Ensure that projects are efficiently executed to achieve timely deliverables. • Thoroughly document designs including requirements, architecture, detailed design, test procedures, test reports, and static code analysis results.