•Technical leadership: Design and delivery of assigned device drivers, BSPs, bootloaders, hardware abstraction layers, and low-level platform services.
•Architecture and design: Define scalable, reusable, and maintainable solutions across product families. Create and review requirements, interface specifications, and design documents.
•Driver development: Develop and sustain drivers for interfaces and peripherals such as UART, SPI, I²C, GPIO, timers, watchdogs, RTC, ADC/DAC, DMA, Ethernet, USB, CAN, flash memory, and other processor-specific peripherals.
•Board bring-up: Perform board bring-up and hardware-software integration. Collaborate with hardware engineers on schematic reviews, component selection, FPGA interfaces, memory configuration, timing, and prototype validation.
•Real-time performance: Analyze and optimize interrupt latency, task scheduling, memory usage, throughput, boot time, CPU utilization, DMA operation, determinism, and system reliability.
•Product development lifecycle: Contribute to requirements analysis, estimation, architecture, detailed design, coding, peer reviews, unit testing, integration testing, system validation, release, and sustaining activities.
•Troubleshooting and root-cause analysis: Diagnose complex hardware-software problems using JTAG, trace tools, oscilloscopes, logic analyzers, protocol analyzers, memory dumps, and system logs. Drive corrective and preventive actions for product, manufacturing, and field issues.
•Safety and cybersecurity: Incorporate secure coding, defensive design, least-privilege access, secure update, fault detection, diagnostics, and applicable functional-safety and product-security requirements.
•Collaboration: Work effectively with global cross-functional teams and participate in sprint planning, daily stand-ups, reviews, retrospectives, technical reviews, and release-readiness activities.
•Innovation and continuous improvement: Evaluate new processors, RTOS capabilities, tools, and development methods. Build proofs of concept and improve software reuse.
•Team capability: Coach team members and provide technical guidance to support team growth and project success. Participate in organizational goals to build a better & strong team .
•Compliance: Adhere to Emerson engineering processes, quality systems, product lifecycle practices, and applicable local and international standards and procedures.
REQUIRED QUALIFICATIONS AND EXPERIENCE
•Bachelor’s or Master’s degree in Electronics, Computer Engineering, or a related engineering discipline from a recognized institution.
•Expert-level proficiency in C, C++; practical understanding of assembly language, linker scripts, startup code, and object-oriented analysis and design.
•Extensive hands-on experience developing production-quality device drivers, BSPs, bootloaders, and hardware abstraction layers in an RTOS-based embedded environment.
•Strong knowledge of ARM Cortex-M and/or Cortex-A architectures, exception models, interrupt controllers, caches, MMU/MPU, multicore considerations, memory maps, and low-level processor initialization.
•Hands-on experience with RTOS concepts including scheduling, synchronization, interrupt service routines, inter-process/inter-task communication, timing, resource management, and concurrency defect analysis.
•Experience interfacing and debugging flash memory, SDRAM/DDR, ADC/DAC, Ethernet controllers, FPGA interfaces, and common serial peripherals; proven use of DMA for performance optimization.
•Strong understanding of board bring-up, schematic interpretation, datasheets, timing diagrams, signal integrity considerations, and hardware-software interface debugging.
•Expertise with oscilloscopes, logic analyzers, protocol analyzers, JTAG/SWD debuggers, GDB or equivalent debuggers, trace tools, and performance profiling tools.