03 Nov
|
Happiest Minds Technologies
|
Bengaluru
03 Nov
Happiest Minds Technologies
Bengaluru
Embedded Software Engineer
Location:
SMILES 2-Bengaluru-Bengaluru Years of
Experience:
3-5 Years Job Summary: We are seeking a highly skilled Embedded Software Engineer with strong Embedded Linux knowledge to join our CPU/Platform Software Team. In this role, you will be instrumental in developing software components for RISC-V-based CPUs and platforms. You will engage in various aspects of the CPU/Platform software stack, including Bare metal, RTOS, Linux boot/kernel, reference libraries, tooling, simulators, FPGA-based bring-up, and performance benchmarks. This position offers an exciting opportunity to work in a dynamic environment, collaborating with multiple engineering teams to build both hardware and software from the ground up. Responsibilities
• Design and implement software in areas such as Linux kernel support for new architectures, device drivers, OpenSBI, u-boot, and Yocto/OpenEmbedded.
• Develop customized Linux distributions for embedded applications.
• Deploy existing benchmarks and develop new ones based on customer requirements.
• Contribute to the wider RISC-V software ecosystem, ensuring support for the architecture in various open-source projects.
• Utilize emulators and real hardware to analyze and optimize software, including the use of RISC-V?s vector instructions.
• Conduct code reviews for complex contributions in relevant areas.
• Collaborate with architecture and hardware design teams to enhance RISC-V CPU cores, providing inputs and driving architectural decisions based on software needs.
• Maintain documentation and reference implementations for customer reliance.
• Release SDKs and assist customers in prototyping their SoCs for evaluation and software development. Mandatory Skills
• 3 to 5 years of practical experience in embedded Linux development and debugging.
• Experience in developing architecture-level code or device drivers in C for multiprocessor, multithreaded open-source kernels such as Linux or BSD, with upstream involvement.
• Proven experience with upstream development on high-level operating systems like Linux.
• Solid programming skills in C or C++, with basic assembly-level programming knowledge.
• Understanding of basic Operating System concepts (e.g., virtual memory, interrupt handling, privilege levels).
• Experience debugging complex multicore systems using tools like GDB, OpenOCD, and Lauterbach.
• Familiarity with git, Makefile, GNU toolchain, and shell scripting.
• Experience with device drivers, virtualization, IOMMUs, power management, or SoC platform security.
• Ability to work collaboratively with hardware architecture and engineering teams.
• Strong communication, teamwork, and listening skills. Preferred Skills
• Familiarity with RISC-V ISA and knowledge of different Instruction Set Architectures (e.g., x86_64, ARM64).
• Experience with CI/CD and agile tools (Jenkins, Git, Jira).
• Some experience with virtualization technologies (e.g., QEMU or hypervisors).
• Experience with LLVM backend or AI/ML accelerator compilers and delegate runtime environments. If you are an innovative problem solver with a deep passion for embedded software and compute technologies, and enjoy building solutions from the ground up, we want to hear from you Embedded Linux
📌 TECHNICAL LEAD (Bengaluru)
🏢 Happiest Minds Technologies
📍 Bengaluru