Embedded BSP Software Engineer
Testcore It Solutions · Bengaluru · onsite · Posted 57d ago
₹6.0L - ₹16.0L PA3–8 yrsfulltimeSourced from
About a minute. You'll make an account on the way through.
About this role
Job Title / Summary: Embedded BSP Software Engineer/Senior Software Engineer (Linux BSP)
Experience: 3 to 8 Years
Job Location: Bangalore/Pune
Role & Responsibilities / What youll do:
- Perform hardware bring-up and low-level debugging of custom hardware based on NXP/nVidia/TI/Renesas chipsets
- Design, develop, and maintain software components across one or more areas of the embedded software stack.
- Develop and enhance Linux support for emerging processor architectures, including Linux kernel features, device drivers, OpenSBI, U-Boot, and Yocto/OpenEmbedded-based build environments.
- Build, customize, and optimize embedded Linux distributions to meet application- and platform-specific requirements.
- Integrate, execute, and extend benchmark suites while developing new performance and functional benchmarks tailored to customer use cases.
- Contribute to the open-source RISC-V ecosystem by enabling new features, improving architecture support, and collaborating with upstream software communities.
- Profile, analyze, debug, and optimize software using simulators, emulators, and production hardware, leveraging RISC-V capabilities such as vector extensions where appropriate.
- Perform comprehensive code reviews to ensure software quality, maintainability, performance, and compliance with project standards.
- Collaborate closely with CPU architecture, hardware, and silicon engineering teams to influence future RISC-V core designs by providing software-driven architectural feedback and identifying opportunities for optimization.
- Create, maintain, and continuously improve technical documentation, software examples, and reference implementations to support internal teams and customers.
- Develop and release software development kits (SDKs), board support packages (BSPs), and associated tools, while working directly with customers to accelerate SoC bring-up, evaluation, and application development.
Required skills / Whom we are looking for:
- 37 years of hands-on experience in embedded Linux software development, integration, and system-level debugging.
- Strong experience developing low-level software in C for Linux, BSD, or similar open-source operating systems, including architecture-specific code, kernel subsystems, or device drivers for multicore and multithreaded platforms.
- Demonstrated contribution to upstream open-source projects, with familiarity in Linux kernel development processes and community-driven software maintenance.
- Proficient in C and/or C++ programming, with a working knowledge of assembly language for low-level debugging and processor initialization.
- Solid understanding of operating system fundamentals, including virtual memory management, interrupt handling, process scheduling, synchronization, and processor privilege modes.
- Experience debugging complex multicore embedded systems using industry-standard tools such as GDB, OpenOCD, Lauterbach, or equivalent hardware debuggers.
- Strong working knowledge of software development tools and workflows, including Git, GNU build tools, Makefiles, cross-compilation toolchains, and Linux shell scripting.
- Experience developing or integrating kernel subsystems related to device drivers, virtualization, IOMMUs, power management, platform security, or other SoC infrastructure components.
- Ability to work effectively with processor architecture, silicon, and hardware engineering teams to resolve system-level issues and optimize platform performance.
- Strong communication skills and the ability to work effectively in a collaborative, cross-functional team environment.
- Detail-oriented with a focus on delivering high-quality, reliable software.
- Self-motivated with a strong passion for embedded AI systems and technology.
Nice-to-haves
- Working knowledge of the RISC-V Instruction Set Architecture (ISA), with familiarity across other processor architectures such as x86_64, Arm64, or comparable CPU platforms.
- Exposure to virtualization technologies, including QEMU, hardware virtualization, or hypervisor-based software development and validation.
- Experience with compiler technologies, including LLVM backends, AI/ML accelerator toolchains, or runtime frameworks responsible for model execution, delegate integration, and hardware acceleration, is highly desirable.
- Familiarity with continuous integration and automated testing practices
- Nice to have Python programming experience
Sourced from naukri
Skills
cLinux BspC plus plusLinux kernel developmentLinux software development