
地平线【地瓜机器人】AI芯片系统软件开发工程师(高速总线)
社招全职软件序列地点:北京 | 南京状态:招聘
任职要求
1、本科及以上学历,电子工程、通信、计算机、自动化等方向; 2、汇编 C/C++编程经验; 3、基本的 Linux 内核知识与驱动开发调试经验,Linux 基础库和调试调优工具的使用经验; 4、熟悉一种通用 CPU 架构(ARM, X86, MIPS,RISC-V 等等),汇编语言,有 Jtag,GDB 使用经验。 加分项: 1、I2C,SPI,UART,USB、PCIe 协议与驱动相关经验; 2、对网络拓扑结构,网卡驱动,网络协议有响应的开发调试经验; 3、对ARM trustzone体系结构,加解密算法有相关的开发调试经验; 4、对电源管理,bootloader有相关的开发调试经验; 5、HAL/SDK(Android HAL,NN)等抽象层相应的开发或支持经验; 6、ARM 微内核/虚拟化 OS(QNX, L4, Xen, KVM); 7、对编译原理,设计模式,计算机体系结构等有深入理解; 8、基本硬件原理图理解能力;基本测试设备,示波器, 分析仪使用经验。
工作职责
1、负责视觉 AI 芯片的系统软件开发,包括 OS 内核,发行版,设备驱动 BSP, 中间件,SDK 等开发; 2、负责芯片network,PCIE、USB、WIFI等linux驱动的开发; 3、完成芯片流片前的子系统/模块软件设计、开发和验证,及芯片回来后点亮和功能调试等; 4、与芯片设计和验证团队,算法团队等紧密合作,优化 AI 算力、系统性能、功耗和可靠性。
包括英文材料
学历+
C+
https://www.freecodecamp.org/chinese/news/the-c-beginners-handbook/
本手册遵循二八定律。你将在 20% 的时间内学习 80% 的 C 编程语言。
https://www.youtube.com/watch?v=87SH2Cn0s9A
https://www.youtube.com/watch?v=KJgsSFOSQv0
This course will give you a full introduction into all of the core concepts in the C programming language.
https://www.youtube.com/watch?v=PaPN51Mm5qQ
In this complete C programming course, Dr. Charles Severance (aka Dr. Chuck) will help you understand computer architecture and low-level programming with the help of the classic C Programming language book written by Brian Kernighan and Dennis Ritchie.
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
Linux+
https://ryanstutorials.net/linuxtutorial/
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux.
https://ubuntu.com/tutorials/command-line-for-beginners
The Linux command line is a text interface to your computer.
https://www.youtube.com/watch?v=6WatcfENsOU
In this Linux crash course, you will learn the fundamental skills and tools you need to become a proficient Linux system administrator.
https://www.youtube.com/watch?v=v392lEyM29A
Never fear the command line again, make it fear you.
https://www.youtube.com/watch?v=ZtqBQ68cfJc
内核+
https://www.youtube.com/watch?v=C43VxGZ_ugU
I rummage around the Linux kernel source and try to understand what makes computers do what they do.
https://www.youtube.com/watch?v=HNIg3TXfdX8&list=PLrGN1Qi7t67V-9uXzj4VSQCffntfvn42v
Learn how to develop your very own kernel from scratch in this programming series!
https://www.youtube.com/watch?v=JDfo2Lc7iLU
Denshi goes over a simple explanation of what computer kernels are and how they work, alonside what makes the Linux kernel any special.
RISC-V+
[英文] Learn RISC-V
https://github.com/riscv/learn
A community-driven compilation of RISC-V resources and learning material.
https://riscv-programming.org/
This website contains a set of resources to support learning/teaching assembly programming using the RISC-V ISA.
https://www.youtube.com/watch?v=bEUMLh2lasE
This is the first in a series of tutorials which will teach you how to get started with RiscV (Risc 5) programming
[英文] 📺You Can Learn RISC-V Assembly in 10 Minutes | Getting Started RISC-V Assembly on Linux Tutorial
https://www.youtube.com/watch?v=GWiAQs4-UQ0
In this video, we talk about the RISC-V processor architecture.
GDB+
[英文] Debugging with GDB
https://betterexplained.com/articles/debugging-with-gdb/
A debugger lets you pause a program, examine and change variables, and step through code.
https://code.visualstudio.com/docs/cpp/cpp-debug
After you have set up the basics of your debugging environment as specified in the configuration tutorials for each target compiler/platform, you can learn more details about debugging C/C++ in this section.
https://opensource.com/article/21/3/debug-code-gdb
Troubleshoot your code with the GNU Debugger.
https://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html
gdb is the GNU Debugger, the standard debugger on Linux.
算法+
https://roadmap.sh/datastructures-and-algorithms
Step by step guide to learn Data Structures and Algorithms in 2025
https://www.hellointerview.com/learn/code
A visual guide to the most important patterns and approaches for the coding interview.
https://www.w3schools.com/dsa/
SDK+
https://www.ibm.com/think/topics/api-vs-sdk
Learn about software development kits (SDKs) and application programming interfaces (APIs) and how they improve both software development cycles and the end-user experience (UX).
https://www.redhat.com/zh-cn/topics/cloud-native-apps/what-is-SDK
软件开发套件(SDK)是通常由硬件平台、操作系统(OS)或编程语言的制造商提供的一套工具。
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
设计模式+
https://liaoxuefeng.com/books/java/design-patterns/index.html
设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。
[英文] Design Patterns
https://refactoring.guru/design-patterns
Design patterns are typical solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a particular design problem in your code.
https://www.youtube.com/watch?v=NU_1StN5Tkk
Design Patterns tutorial explained in simple words using real-world examples.
相关职位

社招1-3年软件序列
1、负责 AI 芯片的系统软件开发,包括 OS 内核、BSP、中间件和相关平台工具链等开发 2、负责 AI 芯片的图像、视频、BPU(NPU)、显示等多媒体中间件和 Framework 的开发 3、负责芯片流片前的子系统/模块软件设计、开发和验证及芯片回来后点亮和功能调试等
更新于 2024-04-10

社招系统序列
职位描述 1、地平线芯片编译器的实现和优化 2、BPU模拟器、性能仿真等工具的开发 3、LLM、VLM相关工具链的开发 加分项: (1)AI芯片编译器、量化相关的开发经验 (2)了解计算机体系结构及相关量化分析方法 (3)有底层代码优化经验 (4)熟悉异构编程环境的相关研发
更新于 2025-02-10

社招8年以上芯片序列
1.负责ISP算法和相关芯片IP/Subsystem架构设计、核心算法实现与性能评估,旨在打造行业领先的影像性能。 2.与芯片团队紧密合作,确保算法在自研IP上的落地,并推动性能、功耗及稳定性优化。 3.针对 ISP 架构中的第三方IP,与IP供应商保持紧密沟通,确保关键 IP 的交付。 4.对 ISP 相关技术进行系统性的规划和前瞻性预研,为公司在 ISP 领域的技术布局提供指引。
更新于 2025-08-20