Bangalore, Karnataka
Job Summary
Be responsible for the design and implementation of software in one or more of the following areas:
Linux kernel support for new architectures - write software for Linux kernel, device drivers, OpenSBI, u-boot, Yocto/OpenEmbedded.
Customised Linux distributions (e.g. embedded applications)
Deploying pre-existing benchmarks developing new ones as per customer needs
Upstream - Contribute to the wider RISC-V software ecosystem, helping to ensure support for the architecture in various open-source projects
Use emulators and real hardware to analyse and optimise software, including through the use of RISC-V’s vector instructions
Code-review complex contributions in any of these areas
Interact with architecture and hardware design teams to improve our next RISC-V CPU cores – provide inputs, drive architectural decisions based on software needs.
Help maintain the documentation and reference implementations that our customers rely on
Release SDK’s and work with customers to enable prototyping of their SoCs for evaluation and software development
Key Responsibilities
3 to 5 years of practical experience in embedded Linux development/debug.
Experience 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 such as Linux
Strong C or C++ programming experience, basic assembly level programming
Knowledge of basic Operating System concepts (e.g. virtual memory, interrupt handling, privilege levels)
Experience debugging complex multicore systems, experience with debugging tools (GDB, OpenOCD, Lauterbach)
Skill Requirements
Experience with git, Makefile, GNU toolchain and shell scripting
Experience with device drivers, virtualization, IOMMUs, power management or SoC platform security
Experience working with hardware architecture and engineering teams
Strong communication, co-working, and listening skills
#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-