25 Aug
|
Happiest Minds Technologies
|
Bengaluru
25 Aug
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 prospect to work in a energetic 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.
- Strong 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
📌 SENIOR ENGINEER - Embedded Linux (Bengaluru)
🏢 Happiest Minds Technologies
📍 Bengaluru