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
Requirements
Essential
• 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