1 分钟阅读 次阅读

嵌入式工程师的成长,并不取决于会多少 API,而取决于 面对未知问题时的处理方式工具的熟练程度以及 工程化思维

一、面对未知问题的解决能力

嵌入式开发的日常,本质上就是不断遇到“没见过的问题”。

1. 信息来源优先级

遇到问题时,应按信息权威性和针对性逐级排查:

官方资料(第一优先级)

  • Rockchip 官方文档 / Datasheet / TRM
  • SoC Reference Manual
  • BSP Release Note

通用知识

  • Google(英文优先)
  • Wikipedia(概念级问题非常有用)

社区与经验沉淀

  • CSDN 站内搜索(中文场景)
  • GitHub Issues / Discussions(真实问题+解决过程)
  • Firefly 论坛
  • 野火论坛
  • 正点原子论坛

AI 工具(辅助)

  • ChatGPT / Gemini / 豆包 / DS

适合理解概念、定位思路、快速生成排查 checklist,但不能替代官方文档

外援

  • 同事 / 群友 / 前辈
  • Rockchip 官方技术支持(问题足够清晰时)

2. 搜索技巧

传统搜索引擎

  • 参考《搜索引擎的使用方法》 By 吴思含

AI 提问

  • 尽量描述完整背景(SoC / OS / Kernel / 现象)
  • 明确“你已经尝试过什么”

产品限定词的使用

  • 当资料较少时:

    • rk3588 drm crashdrm crash arm linux
  • 当问题与平台强相关时:

    • 必须加上 rk3568 / rk3588 / android / linux

搜索不是一次性行为,而是不断缩小问题空间的过程


二、提问的修养

一个工程师的水平,从提问方式就能看出来

推荐阅读

  1. 《提问的艺术》 By 吴思含
  2. 《提问的智慧》 https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way

具体方式

1. 自助:想清楚再问

  • 先搜索,看文档。
  • 一句话说清“我最核心的问题是什么”。

2. 问清楚:让人好回答

  • 说背景(你的环境、目标、已尝试的操作)。
  • 给关键信息(错误日志、版本、相关代码块)。
  • 一次聚焦一个具体问题。

3. 有始终:完成对话

  • 用“请”、“谢谢”。
  • 无论结果如何,都给予反馈。
  • 在合适时,帮助其他人。

三、工具的熟练使用

工具能力,决定了你排查问题的效率上限

软件工具

  • VS Code:远程开发、搜索、调试
  • Git:分支、回滚、rebase、cherry-pick
  • SSH:远程调试、端口转发
  • ADB:logcat、shell、pull/push
  • Linux 基本命令:grep / sed / awk / find / diff
  • VPN:访问官方资料、GitHub

硬件工具

  • 万用表:供电、短路、通断判断
  • 示波器:时序、波形
  • 电烙铁 / 风枪:飞线、补焊

四、工程化笔记习惯

为什么一定要记笔记

  • 好记性不如烂笔头
  • 多数问题 以后会再次遇到
  • 经验如果不沉淀,等于没积累

建议

  • 熟悉 Markdown
  • 笔记结构化、分层清晰
  • 一次问题 = 一篇记录
  • 及时记录

    不要指望“有空了再整理”


五、客诉与现场问题应对

面对客户问题,第一步不是改代码,而是收集信息

信息收集清单

  • 板型 / 硬件版本
  • 系统类型 / 系统版本
  • 具体现象
  • 连接了哪些外设
  • 运行了哪些软件
  • 是否稳定复现
  • 拍视频 / 照片
  • 抓完整日志

六、Bug 定位与解决方法论

基本原则

  1. 确保环境一致
  2. 确保稳定复现
  3. 扩大化解决:但对可能导致问题的代码有多处猜测时,先一次性全部更改验证猜想
  4. 最小化更改:如果扩大化解决有效,那么在提交代码时需要逐步排除(二分法),确保最后的bug补丁是最小化的,而不涉及不相关的改动

日志手段

  • dmesg
  • debug 打点
  • adb logcat
  • journalctl

对比法

  • 与正常版本对比
  • 与正常设备对比
  • 与历史日志对比

七、自动化思维

优秀工程师的共同点: 讨厌重复劳动

原则

  • 繁琐的事情 → 脚本化
  • 易错的事情 → 工具化
  • 重复的事情 → 自动化

示例

  • 一键烧录脚本
  • 自动抓日志
  • 自动环境初始化

不要用脑力,去做机器更擅长的事


结语

技术会过时,但工程能力会一直升值。

留下评论