Embedded Firmware Engineer - C2000 DSP
Low-Level Device Drivers and Real-Time DSP Development
Position Overview
We are seeking an experienced Embedded Firmware Engineer to develop and maintain low-level firmware for TI C2000 Digital Signal Processors (DSP). This role involves designing real-time control algorithms, developing device drivers, and optimizing firmware performance for power electronics applications. The ideal candidate will have deep expertise in embedded C development, DSP architecture, and low-level hardware abstraction.
Primary Responsibilities
• Develop and maintain firmware for TI C2000 DSP family (F28xxx series) using C and assembly language
• Design and implement low-level device drivers for peripherals including PWM, ADC, SPI, I2C, CAN, and UART interfaces
• Develop hardware abstraction layers (HAL) to simplify application-level software development
• Implement and optimize real-time control algorithms for digital power conversion and motor control applications
• Write efficient DSP math library functions leveraging C2000 CPU and floating-point capabilities
• Optimize firmware for performance, memory footprint, and power consumption
• Debug firmware using CCS (Code Composer Studio) and in-circuit debugging tools
• Conduct unit testing, integration testing, and field validation of firmware implementations
• Maintain comprehensive firmware documentation, including design specifications and API documentation
• Collaborate with hardware engineers and systems architects on embedded system design
Required Qualifications
• Bachelor’s degree in Electrical Engineering, Computer Science, Computer Engineering, or related field
• 5+ years of professional experience developing embedded firmware in C
• Hands-on experience with Texas Instruments C2000 DSP processors (F28xxx family)
• Strong proficiency with embedded development tools including Code Composer Studio (CCS)
• Experience developing device drivers for peripherals (ADC, PWM, SPI, I2C, CAN, UART)
• Knowledge of DSP architecture, real-time processing concepts, and interrupt handling
• Proficiency with version control systems (Git, SVN, or equivalent)
• Experience with debugging techniques and in-circuit emulation/JTAG debugging
• Ability to write clean, maintainable code with strong software engineering practices
• Strong problem-solving skills and ability to work both independently and collaboratively
Preferred Qualifications
• Experience with grid-connected power electronics and utility-scale inverter systems
• Knowledge of renewable energy systems (solar, wind) or energy storage applications
• Experience with real-time control systems and control theory implementation
• Familiarity with analog-to-digital conversion, signal conditioning, and measurement techniques
• Experience with RTOS (Real-Time Operating Systems) or baremetal firmware development
• Knowledge of C++ or other systems programming languages
• Familiarity with hardware design and ability to read schematics
• Background in power electronics, motor control, or power conversion systems
Technical Skills
• Languages: C, assembly language, basic Python scripting
• Microcontrollers/DSPs: TI C2000 series, microcontroller fundamentals
• Development Tools: Code Composer Studio, JTAG debuggers, oscilloscopes, logic analyzers
• Peripheral Interfaces: ADC, PWM, SPI, I2C, CAN, UART, GPIO
• Development Methodology: Version control, code documentation, unit testing, debugging practices
Key Competencies
• Technical Expertise: Deep knowledge of embedded systems, DSP architecture, and firmware development
• Problem-Solving: Systematic debugging approach and ability to solve complex firmware issues
• Code Quality: Commitment to writing clean, efficient, and maintainable firmware code
• Performance Optimization: Experience optimizing code for speed and memory efficiency
• Communication: Ability to document code, design, and share knowledge with team members
• Adaptability: Quick learner who can master new tools, platforms, and application domains