
地平线Linux BSP高级工程师/专家
社招全职3年以上软件序列地点:北京状态:招聘
任职要求
1. 本科及以上学历,计算机、电子工程或其他相关专业背景; 2. 精通Linux,对Linux/微内核RTOS的任务调度、内存管理、文件系统、网络通信、设备驱动等有深刻理解; 3. 具备BSP,Driver等开发经验,精通硬件原理图与pcb,熟练使用示波器,逻辑分析仪等工具进行硬件调试; 4. 3年以上嵌入式Linux内核开发经验,精通系统稳定性及性能优化,熟练使用perf、ftrace/perfetto、gdb等系统调试工具; 5. 熟悉操作系统发行版构建、裁剪、打包流程,熟悉OBS、Yocto、buildroot构建系统; 6. 对技术充满热情,具备良好的逻辑思维能力、业务理解能力、快速学习能力、自我驱动能力及优秀的独立分析解决问题能力。
工作职责
1. 负责智驾Linux操作系统及内核的设计和开发,包括安全增强、性能优化、可维可测、面向自动驾驶场景和征程芯片的定制开发等; 2. 负责智驾linux系统上性能和稳定性的优化开发工作,完成linux系统整体性能的调试及优化,开发性能及稳定性方面的维测工具; 3. 负责车载计算平台SOC BSP驱动的设计和开发,熟悉uboot/kernel/driver/bl31的移植和开发,解决系统中跟硬件相关的疑难问题; 4. 与算法团队和芯片团队密切配合,设计和开发QNX操作系统上的驱动和应用,解决功能安全和系统性问题;
包括英文材料
学历+
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.
RTOS+
[英文] RTOS Fundamentals
https://www.freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/01-RTOS-fundamentals
A Real-Time Operating System (RTOS) is a type of computer operating system designed to be small and deterministic.
PCB+
[英文] PCB Basics
https://learn.sparkfun.com/tutorials/pcb-basics/all
One of the key concepts in electronics is the printed circuit board or PCB.
https://resources.pcb.cadence.com/jbj-pcb-design-from-start-to-finish
This series, by John Burkhert, is a step-by-step guide on printed circuit board design with information suitable for beginners to graduate-level users.
https://www.instructables.com/Intro-to-Circuit-Design-Learn-How-to-Make-Your-Fir/
The goal of these materials is to help kick-start your own after school electronics club or add some extra fun to an existing class or engineering team that wants to learn more about electronics.
https://www.youtube.com/watch?v=aODkA2mrimQ
Recommendations on how to approach learning PCB and hardware design, including my journey, thoughts on university courses, IPC CID, ECAD tools, and resource tips.
Perf+
https://perfwiki.github.io/main/
perf is powerful: it can instrument CPU performance counters, tracepoints, kprobes, and uprobes (dynamic tracing).
https://www.brendangregg.com/bpf-performance-tools-book.html
This book can help you get the most out of your systems and applications, helping you improve performance, reduce costs, and solve software issues.
[英文] perf Examples
https://www.brendangregg.com/perf.html
These are some examples of using the perf Linux profiler, which has also been called Performance Counters for Linux (PCL), Linux perf events (LPE), or perf_events.
https://www.youtube.com/watch?v=M6ldFtwWup0
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.
相关职位

社招3年以上技术类-开发
1、负责嵌入式系统的BSP软件开发和维护,包括BootLoader、Kernel、rootfs的移植裁剪和优化工作,芯片底层驱动开发、用户态服务和应用开发 2、参与芯片选型,可行性评估,系统方案设计和实施 3、负责与硬件工程师完成单板测试,设计测试用例和产业化流程,对开发过程和现场反馈bug排查和快速修复;
更新于 2025-09-26
社招3年以上A21394
1、负责Android/Linux 系统编译,bringup,稳定性等问题的解决及优化; 2、负责Android/Linux平台驱动软件设计、开发及维护;解决驱动稳定性、功耗、性能相关问题; 3、负责驱动软件需求分析、器件评估选型、软件设计、编码实现; 4、负责bsp新技术的探索和调研,以及新技术的相关验证工作。
更新于 2023-12-01
社招3年以上A173559
1、负责Android/Linux平台驱动软件设计、开发及维护;解决驱动稳定性、功耗、性能相关问题; 2、负责驱动软件需求分析、器件评估选型、软件设计、编码实现; 3、负责BSP新技术的探索和调研,以及新技术的相关验证工作。
更新于 2024-11-28