Embedded Software / Firmware Engineer

  • Austin, TX
  • Posted 14 hours ago | Updated 14 hours ago

Overview

On Site
$62 - $62
Contract - W2
Contract - 12 month(s)
No Travel Required

Skills

Firmware Development
Debugging
embedded software programming
Linux development
Python scripting

Job Details

Job Description:

Responsibilities:
  • Develop firmware that collaborates with other HW/SW components to deliver new capabilities and optimized performance for GPUs, APUs and CPUs.
  • Debug, troubleshoot FW issues, as well as system-level failures related to various FW components and features.
  • Develop and customize firmware features for future platforms
  • Debug issues found during pre-silicon, post-silicon, and/or production phases of SOC programs.
  • Interact closely with other teams in design, diagnostics, emulation, firmware, and driver, to ensure enablement of IP functionality, debug of critical features, and full validation for production.
  • Support resolving issues on customer platforms as requested by customer support teams.
Minimum Requirements:
  • Expertized in developing and debugging embedded software / firmware using C / C++ programming language.
  • Proficient with Linux development, debugging (gdb, strace), and kernel logs (dmesg, journalctl).
  • Experienced in writing systemd services, DBus interfaces, and Python or shell scripts.
  • Hands-on experience with OpenBMC, Yocto Project, and BitBake.
  • Good understanding of device tree, Linux kernel configuration, and system demons (phosphor-* services).
  • Strong analytical skills and pronounced attention to details.
  • Familiar with Git, Gerrit/GitHub, CI pipelines.
Preferred Requirements:
  • Experience and knowledge with the following protocols and standards:
  • MCTP (Candidateagement Component Transport Protocol),
  • PLDM (Platform Level Data Model),
  • SPDM (Security Protocol and Data Model),
  • FRU and Sensor Candidateagement.
  • Experience in BMC bring-up and integrating BMC on Aspeed or Nuvoton SoCs (e.g., AST2600).
  • Experience with board/platform-level debug, analysis and optimization.
  • Understanding digital processing and electronics is an asset.
  • In-depth knowledge of CPU / APU architecture is an asset.
  • Good understanding of computer architecture.
  • Laboratory experience, including familiarity with oscilloscopes, logic analyzers, etc.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.