Canaan Inc.
Job Description
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