ProductsSiFive Core IPPerformanceIntelligenceEssentialSiFive Core DesignerSoftwareBoardsSoC IPCustom SiliconDocumentationCustomer Support
Senior Embedded Software Engineer
SiFive is an idea-to-silicon company founded by the inventors of RISC-V to simplify the design and production of custom SoCs.
As the leading commercial provider of RISC-V processor IP, SiFive is on a mission to help engineers design custom chips for domain-specific solutions for many markets, including 5G, edge AI, enterprise networking, storage, and consumer devices.
Industry-leading innovators, including six of the top ten semiconductor companies, are working with SiFive thanks to our proven success, deep expertise, and rich partner ecosystem. With SiFive’s rich IP ecosystem and accessible design platform, every market has access to the development of workload-focused hardware needed to design next-generation products.
As a Senior Embedded Software Engineer in the Bare Metal software team, you will participate in the development of SiFive’s bare metal embedded firmware, software stacks and associated Software Development Kits (SDK).
This position is a highly visible role since the developed code targets sensitive functions found in SiFive’s RISC-V products. By its design philosophy, RISC-V is highly configurable, and we have several different configurations in our design pipeline, with various combinations of supported instruction sets and with various peripherals and bus interconnect architectures. Developing high quality and robust firmware that can accommodate such variation is a challenging task, to be addressed in this role.
- Developing and documenting embedded firmware (bare-metal code, drivers, stacks) that works across the whole SiFive products portfolio.
- Developing and helping set the direction for SiFive’s bare metal SDK, Freedom E SDK.
- Porting and enhancing real-time operating systems on 32- and 64-bit RISC-V platforms.
- Developing production-quality software, including testing, documentation, static analysis, and CI/CD/CT.
- Interacting with hardware and other software teams to create market-leading products.
- 5+ years of recent experience with embedded firmware development.
- Experience with RTOSes such as FreeRTOS.
- Solid understanding of processor and SoC architecture, or a strong desire and ability to learn same.
- Proficiency in C, Python, Linux, and knowledge on how to use embedded development tools such as JTAG and associated debug tools.
- Experience with distributed revision control systems such as git.
- Experience with C++.