Job Description
Job Responsibilities:
- Design, develop, and debug embedded software and firmware for ARM and AMD Zynq MPSoC processors
- Perform bare-metal programming including register-level peripheral control, clock and power domain initialization, cache, and MMU setup
- Develop and maintain Embedded Linux systems including kernel configuration, patching, device tree management, kernel modules, and root filesystem creation
- Support board bring-up and bootloader development (e.g., U-boot, device tree)
- Utilize embedded development toolchains and debugging tools including JTAG and memory-mapped IO debugging
- Collaborate in GIT/CI-CD workflows to maintain source code and automate builds
- Leverage AI coding tools and agents to improve development efficiency
- Interface with hardware teams for system integration and troubleshooting
- Participate in system testing and validation, including bench testing with logic analyzers and oscilloscopes
Skills:
- ARM architectures (Cortex-A, Cortex-R, Cortex-M) and AMD Zynq MPSoC architecture
- Bare-metal embedded programming
- Embedded Linux kernel and driver development
- Bootloader and board bring-up experience
- JTAG and signal-level debugging
- GIT/CI-CD experience
- AI coding tools familiarity
- Multithreaded and multiprocessor application design
- Real-time operating system development and tuning
- Bachelor’s degree
- Interim clearance sufficient to start assignment
- Minimum 3 years’ experience with:
- ARM and AMD Zynq MPSoC architectures
- Bare-metal programming
- Embedded Linux kernel and device tree work
- Bootloader development and board bring-up
- Embedded development toolchain and debugging
- GIT/CI-CD environments
- Embedded software development in C/C++
- Object-oriented software design
- Multithreaded/multiprocessor application development
- Real-time Linux kernels and performance tuning
- Experience with lab equipment such as Logic Analyzers, Digital Oscilloscopes, Spectrum Analyzers
- Familiarity with serial protocols and drivers (I2C, SPI, JTAG)
- Experience using AI coding tools/agents
Education/Experience:
- Bachelor’s degree — Required
Job Tags
Interim role,