Search by job, company or skills

Embedded Software Engineer

Embedded Software Engineer

kody technolab limited
3-7 Years
Not Disclosed
  • Posted 9 hours ago
  • Be among the first 10 applicants

Job Description

Summary

We are looking for a passionate and experienced Embedded Linux Engineer to join our Robotics engineering team. You will be responsible for bringing up custom-designed processor boards, developing Linux device drivers, optimizing kernel performance, and ensuring a stable platform for application development. The ideal candidate has a strong hacker mindset, loves working close to the metal, and thrives on solving complex hardware-software integration problems.

Key Responsibilities

  • Board Bring-Up: Perform initial board bring-up on new, custom-designed processor boards (custom ARM/RISC-V).
  • Linux Kernel/BSP Development: Customize, configure, and maintain the Linux kernel, bootloader (U-Boot), and Board Support Package (BSP) for custom hardware.
  • Driver Development: Write, debug, and optimize low-level Linux device drivers for on-chip and off-chip peripherals (e.g., I2C, SPI, UART, PCIe, Ethernet, GPIO).
  • Device Tree: Develop and maintain Device Tree Source (DTS/DTB) files to map hardware peripherals to Linux drivers.
  • System Optimization: Optimize system boot time, memory usage, and performance on constrained custom hardware.
  • Debugging: Troubleshoot complex system crashes, kernel panics, and hardware-software interaction issues using JTAG, oscilloscopes, and logic analyzers.
  • Build Systems: Create and maintain custom embedded Linux distributions using Yocto Project or Buildroot.

Required Skills & Qualifications

  • Education: Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related field.
  • Experience: 3-7+ years of professional experience in embedded Linux software development.
  • Languages: Strong proficiency in C/C++ programming for embedded systems; scripting experience in Python or Bash.
  • Kernel Knowledge: Deep understanding of Linux kernel internals, including memory management, interrupts, and concurrency management.
  • Hardware Familiarity: Ability to read hardware schematics and component datasheets to derive software solutions.
  • Tools: Proficient with Git, GDB, and JTAG debugging tools.

Preferred Qualifications

Experience with ARM Cortex-A/M or RISC-V architectures.

Experience contributing to the mainline Linux kernel or open-source community.

Knowledge of secure boot and hardware security modules (HSM).

Experience with real-time Linux patches (PREEMPT_RT).

More Info

Job Type:
Industry:
Employment Type:

Key Skills

Similar Jobs

2-6 yrs
Ahmedabad, India
Skills:
Rtos, C, Zephyr, Git, Jtag, Freertos, Fault Tolerance, automated testing practices, SWD, logic analyzers, redundant system design, Digital Electronics, Oscilloscopes, RISC-V, watchdogs, bare-metal programming, FPGAs, processor architectures, Microcontrollers, ARM Cortex-M, real-time embedded systems programming
5-7 yrs
Ahmedabad, India
Skills:
Python, Agile Scrum, Debugging, Embedded Linux, Continuous Integration, Automated Testing, data acquisition