面试讲解模式已开启 项目下方会显示 30 秒讲法、可能追问和职责边界。适合面试时边展示边讲。
上海 / 苏州 · 随时到岗

张颖.

嵌入式 Linux 软件工程师

3 年+ 主控系统集成经验。做过 RV1126 RTK 接收机的主控侧集成:把 WiFi/BT、4G、Camera、GNSS、IMU、磁力计、激光、电台、eMMC、库仑计、LCD 等 11 个外设模块,接进同一套 Linux 系统。

RV1126 Linux / Buildroot GD32F303 RTK 接收机
system.map RV1126
MAIN CONTROL RV1126 Linux · Buildroot · DTS
USB4G EG800K
SDIOWiFi / BT FCS950U
UARTGNSS · IMU · 激光 · 电台 · LCD
I2C磁力计 · 库仑计
MIPICamera OG02B10 · GC2053
eMMCuserdata · 静态存储
11 modules 6 buses vendor drivers + adaptation

主控侧集成 · 厂商驱动适配 · 1 套自研 LCD 固件

3+年嵌入式 Linux
11外设模块集成
2完整项目
1自研 LCD 固件
ABOUT

把主控和十几个模块,捏成一个稳定产品。

我的工作不是单独写某一个驱动,而是站在主控侧,把不同厂商的模块接进来:确认接口、配 DTS、查电源/复位/时钟、把厂商驱动跑通,再把协议解析、状态机和业务逻辑串起来。

在 RV1126 RTK 接收机项目里,我负责主控本身和主控与其他模块的交互;WiFi/BT、4G、Camera 的驱动和固件由厂商提供,我做适配与联调。LCD 是我独立完成的 GD32F303 固件——这块可以从主控 UART 协议一直讲到 SPI 显示、菜单、按键和 IAP 升级。

“ 边界清楚,比“什么都会”更可信。面试时我也这么说。
PROJECTS

项目经历

两个项目,一条主线:主控集成 → 模块交互 → 整机稳定性。

01 RTK 接收机 · 2023–2026
主控集成

RV1126 RTK 接收机

主控系统集成 · 11 个外设模块交互 · 厂商驱动适配

面向测绘场景的 RTK 接收机:卫星定位、手簿交互、内置电台、4G/Ntrip、惯导倾斜测量、激光测点、视觉放样和静态存储。主控用 RV1126 跑 Linux + Buildroot,我负责把 11 个外设模块接进主控并串起业务。

RV1126 Linux Buildroot DTS FCS950U EG800K OG02B10 / GC2053 Ntrip / RTCM

项目背景

接收机通过 GNSS 获取实时时间与定位;手簿通过 WiFi/经典蓝牙查看状态、配置参数;内置电台支持基准站/移动站;联网后通过 4G/Ntrip 获取差分数据,达到厘米级固定解。

我的职责

  • 主控侧系统集成:接口确认、DTS、电源/复位/时钟、启动与稳定性。
  • 模块交互与协议:UART/I2C/SPI/USB/SDIO/MIPI 的适配、解析和状态机。
  • 厂商驱动适配:FCS950U、EG800K、OG02B10/GC2053 的 DTS、固件路径与联调。
  • 业务集成:手簿交互、4G/Ntrip、惯导/激光/视觉数据流、静态存储。

难点与解决

  • 4G/Ntrip 偶发掉线:分 USB 枚举、SIM/注册、拨号、Ntrip 四段定位,补复位时序与重连状态机。
  • 手簿连接不稳定:排查 WiFi AP、信道/干扰、IP/DHCP 和蓝牙配对,做多设备兼容性验证。
  • 惯导/激光测点偏差:查 IMU/磁力计数据、标定、时间同步和坐标转换,用已知点对比验证。

成果

  • 完成 RV1126 主控与 11 个外设模块的接口适配与联调。
  • 完成多厂商模块驱动的适配与系统集成,支撑整机功能联调。
  • 独立完成 GD32F303 LCD 固件,打通主控 UART 到前面板显示。
系统架构图(脱敏)· 主控 + 11 个外设模块 + 6 类总线
代码与原理图受保密限制,面试可详谈
面试讲解模式30 秒

30 秒讲法:“这是 RTK 接收机,RV1126 主控,Linux + Buildroot。我负责主控本身和 11 个外设模块的交互、协议、业务状态机和联调;WiFi/BT、4G、Camera 用厂商驱动做适配;LCD 是我独立做的 GD32 固件。”

可能追问:4G 怎么拨号/Ntrip 怎么工作?手簿 WiFi AP/经典蓝牙怎么连?IMU+磁力计+激光怎么做测点?厂商驱动和你做的适配怎么分?

边界:不把厂商驱动说成自己从零写;重点讲 DTS、电源/复位/时钟、固件路径、接口配置、联调与业务集成。

02 GD32F303 · LCD 显示模块
自研固件

GD32F303 LCD 模块

SPI 显示驱动 · 菜单状态机 · 按键交互 · UART 协议 · IAP 升级

RTK 接收机的前面板显示模块:GD32F303 通过 SPI 驱动 LCD,实时显示定位状态、卫星数、数据链和电量;用户通过按键进入菜单配置参数;主控通过 UART 与 LCD 模块交互。

GD32F303 C SPI LCD GPIO / EXTI UART Flash IAP Watchdog

项目背景

接收机需要一块低成本的本地显示面板:不依赖手簿,也能查看固定解状态、卫星数、电量、数据链,并完成常用参数配置。

我的职责

  • SPI LCD 驱动:初始化、图形/字符绘制、状态页面刷新。
  • 菜单状态机:状态 / 卫星 / 设置页面,按键切换与参数配置。
  • 按键中断:消抖、长短按识别、菜单控制逻辑。
  • UART 协议:与主控同步状态、解析配置命令;Flash 参数存储、IAP 升级、看门狗。

难点与解决

  • 刷屏闪烁/撕裂:调整刷新策略,局部刷新 + 合理刷新频率。
  • 按键抖动/长短按:EXTI + 定时器/状态机,区分短按、长按和连按。
  • IAP 升级变砖:校验、失败恢复、看门狗,降低异常断电变砖风险。

成果

  • 完成 LCD 显示、菜单、按键、UART 协议与 IAP 的固件闭环。
  • 主控通过 UART 下发状态,LCD 实时显示整机状态。
  • 沉淀了前面板显示与升级的代码结构。
RTK-01FIX
状态
▲▼ 切换OK 确认

在线演示:用 ▲▼ 切换页面,OK / ESC 体验菜单逻辑。

在线体验 LCD 菜单
面试讲解模式30 秒

30 秒讲法:“LCD 是我独立做的 GD32F303 固件:SPI 驱动 LCD、菜单状态机、按键中断和长短按、UART 跟主控交互、Flash 参数和 IAP 升级。主控把整机状态发过来,LCD 实时显示,按键可以进菜单配置。”

可能追问:SPI 时序怎么配?菜单状态机怎么设计?按键怎么消抖/区分长短按?IAP 怎么防止变砖?

亮点:从主控 UART 协议到 LCD 显示、按键、升级全链路自研,能讲清“主控 ↔ 前面板”的完整闭环。

SKILLS

技能清单

按“能直接上手”的顺序排,不写虚的“精通”。

C

语言与构建

日常开发与交叉编译

CShellMakefileCMakeGitGDB
LX

Linux 系统

BSP 与系统集成

BuildrootLinux KernelDTS交叉编译启动流程rootfs
IO

接口与模块

主控与模块交互

UARTI2CSPIGPIO / PWMUSBSDIOMIPI CSI-2
RF

模块与协议

厂商驱动适配与业务集成

WiFi/BT FCS950U4G EG800KCamera OG02B10 / GC2053GNSS / NMEANtrip / RTCMBlueZ / D-Bus
DB

调试与硬件

从 log 到波形

dmesgftraceperf示波器逻辑分析仪万用表原理图
GD

自研固件

GD32F303 / 前面板

SPI LCD菜单状态机按键 / EXTIFlashIAP看门狗
正在深入: Linux 驱动模型、性能分析、低功耗与启动优化。
EDUCATION

苏州科技大学

计算机科学与技术 · 本科 · 2019.09–2023.06

计算机组成原理数据结构操作系统计算机网络数据库原理

CET-4 542 · CET-6 478

NEXT

继续往 Linux 底层走

  • Linux 驱动模型与 BSP bring-up
  • 性能分析:ftrace / perf / 启动优化
  • 低功耗与整机稳定性
CONTACT

聊聊你的 Linux 终端项目。

我在看嵌入式 Linux 软件工程师机会,上海 / 苏州都可以,随时到岗。面试时可以现场打开这个网站,按项目展开讲;手机号可以在邮件或面试时提供。

Email792854726@qq.com
Phone面试时提供
Location上海 / 苏州
Job Intention嵌入式 Linux 软件工程师