Search by job, company or skills

Software Engineer, Low-Level Driver Development

Software Engineer, Low-Level Driver Development

Ampere
3-5 Years
Not Disclosed
  • Posted 2 hours ago
  • Be among the first 10 applicants

Job Description

Description

Invent the future with us.

Ampere is a semiconductor design company for a new era, leading the future of computing with an innovative approach to CPU design focused on high-performance, energy efficient AI compute.

As a pioneer in the new frontier of energy efficient high-performance computing, Ampere is part of the Softbank Group of companies driving sustainable computing for AI, Cloud, and edge applications.

Join us at Ampere and work alongside a passionate and growing team - we'd love to have you apply! 

About The Role

We are seeking a highly skilled Software Engineer, CAN Firmware and Low-Level Driver Development to lead the architecture, development, integration, and validation of production-grade CAN/CAN FD software for Arm-based SoCs.

This role requires strong hands-on experience in embedded C, low-level driver development, Arm processor architecture, communication protocols, real-time software, and hardware/software integration. The successful candidate will be a technical leader who can independently drive complex CAN controller bring-up and driver development, resolve difficult silicon/firmware issues, influence hardware and software architecture, and mentor engineers across the firmware organization.

This is a hands-on technical role, where the candidate is expected to review specifications, write and review code, debug on target hardware, analyse protocol traces, define software architecture, establish validation strategy, and guide engineers working on CAN firmware and associated software components.

What You'll Achieve

CAN and CAN FD Driver

  • Define the firmware architecture and technical roadmap for low-level CAN and CAN FD controller drivers on Arm-based SoCs.
  • Develop scalable driver designs for Classical CAN and CAN FD; bit-rate switching (BRS); dedicated TX buffers, TX FIFOs, TX queues, mailboxes, and RX FIFOs; hardware acceptance filters; interrupt-driven and polling operation; timestamping where supported; error handling, diagnostics, and recovery.
  • Define robust software state machines for controller initialization, start/stop, sleep/wakeup, error-active, error-passive, bus-off, recovery, reset, and degraded operation.
  • Develop and maintain production-quality embedded C code for CAN controller initialization, transmit, receive, interrupt handling, error handling, and recovery.
  • Design for multi-core, ISR/task, and concurrent access scenarios where applicable.

Arm SoC and Hardware/Software Integration

  • Drive CAN controller bring-up on Arm-based SoCs and evaluate hardware behavior against specifications and expected protocol behavior.
  • Analyze hardware/software interface specifications and identify ambiguous, incomplete, unsafe, or untestable requirements.
  • Influence early SoC and IP architecture decisions related to CAN controller capabilities, memory sizing, interrupt architecture, diagnostics, and performance.
  • Partner with post-silicon validation teams to develop bring-up plans, debug methodologies, register tests, stress tests, and protocol conformance tests.

Integration

  • Define and support CAN driver integration within a Platform stack, including CanDrv; CanIf; PduR; COM; CanSM; CanTrcv; Dem; E2E; BswM, EcuM, and WdgM, as applicable.
  • Ensure clear separation of responsibilities between low-level driver, CAN interface layer, communication stack, diagnostics, and application software.
  • Contribute to customer-facing integration guides, application notes, reference drivers, and debug documentation.

Reliability, and Diagnostics

  • Design CAN firmware behavior aligned with industry standard development practices.
  • Define software mechanisms to detect and report bus-off; error passive and error warning conditions; protocol errors; ACK errors; RX FIFO overflow; RX buffer/message loss; TX timeout; message RAM ECC/parity errors; controller clock/reset faults; transceiver fault/status conditions; configuration corruption; interrupt failures or abnormal interrupt load.
  • Develop diagnostic strategies, persistent error capture, health monitoring, and recovery policies suitable for production environment.
  • Establish high standards for embedded software quality, maintainability, robustness, and testability.
  • Drive adoption of secure coding practices, including MISRA C, CERT C, static analysis, defensive programming, and code review discipline.
  • Define unit, integration, system, and hardware-in-the-loop validation strategies for CAN drivers.
  • Analyze field, customer, and lab failures; develop reproducible test cases and permanent corrective actions.

Technical Leadership and Mentoring

  • Serve as the technical authority for CAN firmware and low-level CAN driver architecture.
  • Lead architecture reviews, design reviews, code reviews, and technical debugging sessions.
  • Mentor firmware engineers in embedded C, CAN/CAN FD protocol behavior, Arm architecture, driver design, debugging, and quality practices.
  • Create reusable design patterns, driver templates, checklists, debug guides, and validation frameworks.
  • Lead technical discussions with hardware design, verification, validation, systems, cybersecurity, product, field applications, and customer teams.
  • Drive technical risk identification, mitigation planning, and escalation for critical CAN firmware deliverables.

About You

  • Bachelor's degree with 5 years or Master's degree with 3 years of experience in embedded firmware or low-level driver development experience, with significant experience in real-time embedded systems
  • Demonstrated experience owning complex firmware subsystems from architecture through bring-up, validation, customer integration, and maintenance.
  • Experience working in a semiconductor company or embedded platform in a product environment is strongly preferred.
  • Strong hands-on expertise in Classical CAN; CAN FD; bit-rate switching; arbitration; error frames and error counters; error-active, error-passive, and bus-off states; acceptance filtering; RX FIFO and TX mailbox/FIFO/queue management; controller/transceiver interaction; nominal and data-phase bit timing.
  • Expert-level embedded C programming skills with Arm Cortex-M, Cortex-R, Cortex-A, or equivalent embedded processor architectures.
  • Strong understanding of register programming; interrupt handling; interrupt latency and priority; ISR/task concurrency; synchronization, atomics, critical sections, and race conditions; boot and initialization ordering; linker sections, alignment, and memory layout.
  • Ability to debug issues using JTAG/SWD, GDB, vendor debuggers, trace tools, register viewers, crash dumps, and low-level instrumentation.

Preferred Qualifications

  • Experience with cybersecurity, including secure diagnostics, secure boot, HSM integration, secure communication, or ISO/SAE 21434 concepts.
  • Experience with Ethernet, TSN, PTP, MACsec, or gateway communication architectures.
  • Experience with RTOS environments such as FreeRTOS, Zephyr, SafeRTOS, Integrity, QNX, or embedded Linux.

What We'll Offer

At Ampere we believe in taking care of our employees and providing a competitive total rewards package that includes base pay, cash long-term incentive, and comprehensive benefits.

Benefits Highlights Include

  • Premium medical, dental, vision insurance, parental benefits including creche reimbursement, as well as a retirement plan, so that you can feel secure in your health, financial future and child care during work.
  • Generous paid time off policy so that you can embrace a healthy work-life balance
  • Fully catered lunch in our office along with a variety of healthy snacks, energizing coffee or tea, and refreshing drinks to keep you fueled and focused throughout the day.

And there is much more than compensation and benefits. At Ampere, we foster an inclusive culture that empowers our employees to do more and grow more. We are excited to share more about our career opportunities with you through the interview process.

We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.

Ampere is an inclusive and equal opportunity employer and welcomes applicants from all backgrounds. All qualified applicants will receive consideration for employment without regard to race, color, national origin, citizenship, religion, age, veteran and/or military status, sex, sexual orientation, gender, gender identity, gender expression, physical or mental disability, or any other basis protected by federal, state or local law.

More Info

Job Type:
Industry:
Employment Type:

Key Skills

SWD

bit-rate switching

CAN FD

Classical CAN

hardware software integration

low-level instrumentation

Arm processor architecture

vendor debuggers

low-level driver development

register viewers

error handling

trace tools

About Company

Similar Jobs

5-7 yrs
Bengaluru, India
Skills:
Git, Aws Services, Linux Ubuntu, Backend engineering and debugging, RESTful JSON APIs, Java Spring Boot
5-7 yrs
Bengaluru, India
Skills:
Java, Oauth, multi-threading, Saml, Ldap, Office 365, Adfs, Debugging, Restful Apis, OpenID Connect, Microsoft Azure management APIs, Microsoft’s Directory Synchronization Tool, Active Directory, asynchronous processing, Caching, Relational Databases, SCIM
4-8 yrs
Bengaluru, India
Skills:
.NET Framework, C#, Distributed Systems, Asp.net Mvc, Debugging, PostgreSQL, Kafka, Sql, Redis, Angular, Cloud Computing, Rabbitmq, ASP.NET, Open Search, Troubleshooting, Object-Oriented Design, Multi-Threaded Programming
3-5 yrs
Bengaluru, India
Skills:
Software Development Lifecycle, Oracle Database, Debugging, Performance Profiling, Secure Coding Practices, API Functionality
7-9 yrs
Bengaluru, India
Skills:
code optimization , Software Development Lifecycle, Performance Tuning, Debugging, Version Control Systems, Agile Methodologies, scalable software architectures, Microsoft Fabric, modern programming languages and frameworks, collaborative development tools