Junior Linux BSP Software Engineer
About the Role
Canaan Inc. is a leading RISC-V chip design company powering Bitcoin mining machines and next-generation smart home devices. We're looking for Junior Linux BSP Software Engineers to join our BSP team, supporting both mining and smart home product lines — a great opportunity to grow your career in embedded systems with hands-on hardware exposure from day one.
Location:
US Hybrid · San Francisco Bay Area preferred
- Responsibilities
- Board Bring-up & Bootloader — Support BSP development and maintenance for Canaan RISC-V based chips (K210, K230, K230M, and upcoming SoCs); assist in U-Boot porting and debugging; learn and apply boot time and reliability optimization techniques
- Linux Kernel Development — Contribute to Linux kernel customization for embedded SoCs; learn kernel subsystems (memory management, interrupt handling, power management); grow familiarity with upstream kernel development
- Device Driver Development — Implement and debug drivers with guidance from senior engineers
◦Storage: NAND/NOR Flash with filesystem support (UBI, SquashFS, ext4)
◦Connectivity: Ethernet MAC/PHY, WiFi/BLE wireless module integration
- ◦Peripherals: UART, SPI, I2C
- MCU integration and dual-core heterogeneous system IPC
- RTOS / Bare-metal Development — Learn RTOS application development; assist with MCU firmware design and debugging
- System Optimization & Debugging — Participate in performance analysis and issue troubleshooting (boot, memory, peripherals); support chip validation and reference design work
- Open Source Contribution — Get involved in open-source projects on GitHub; start contributing patches to Linux kernel, U-Boot, or related projects with mentorship from the team
- Collaboration — Document hardware interfaces, driver designs, and bring-up procedures; work closely with senior engineers, hardware teams, SDK team, and application teams
- RequirementsEssential
- Bachelor's degree or above in Computer Science, Electronics, Automation, or related field
- 0–3 years of embedded development experience (internships or academic projects count)
- Basic familiarity with RISC-V or ARM architecture
- Good understanding of Linux kernel principles and driver development fundamentals
- Experience with U-Boot basics (porting or debugging academic projects is a plus)
- Interest in or early steps toward open-source contribution on GitHub
- Hands-on experience with at least 2 of the following: UART, SPI, I2C · NAND/NOR Flash · Ethernet (MAC/PHY) · WiFi/BLE modules
- Nice to Have
- Experience with RTOS (FreeRTOS / RT-Thread)
- Familiar with Canaan RISC-V MCU development (K210, K230)
- •Undergraduate project or internship involving embedded Linux or kernel/driver development
- Knowledge of Yocto / OpenEmbedded / Buildroot build system
- Personal GitHub projects or open-source contributions (even small ones)
Technical Stack
| Hardware | RISC-V / ARM Cortex-A / M |
| OS | Linux (Kernel 4.14+) |
| Bootloader | U-Boot |
| Languages | C / Python / Shell |
| Toolchain | GCC (riscv64-unknown-elf) |
| Debug | GDB / J-Link / OpenOCD |
| Version Ctrl | Git / GitHub |
| Open Source | Linux Kernel, U-Boot, upstream contributions |
- What We Offer
- Competitive salary and equity compensation
- Mentorship from senior engineers and clear career growth path in RISC-V chip development
- Hands-on hardware exposure from day one — real silicon, real products
- Open and collaborative technical team culture
- Flexible working hours and remote work options
- Conference attendance and training support
- GitHub-backed development workflow with emphasis on open-source collaboration
Apply tot his job
Apply To this Job