嵌入式架构学习1--前言

1 前言

最近有点时间,总结了一下之前项目中的问题,感觉还是对于除了路由器,手机之外的产品,宏观还是不很清楚。所以借着这段时间,对手表,耳机,眼镜,智能音箱/机器人,汽车座舱这些产品做一些小结。主要还是以学习开源的优秀项目为主。

产品特点如下:

产品 重点学习
手表 RTOS/Linux、低功耗、Sensor、UI
TWS耳机 RTOS、Bluetooth、Audio、低功耗
AI眼镜 Android/Linux、Camera、Display、Audio、AI
路由器 Linux、Network、Driver、容器
智能音箱/机器人 Audio、AI、Linux、IPC
汽车座舱 Linux/Android、IPC、Power、Graphics、Network

一些技术差异

手表 TWS AI眼镜 路由器
OS RTOS/Linux RTOS Android/Linux Linux
CPU ARM ARM ARM ARM
DSP ★★★ ★★★★★ ★★★★★ ★
NPU ★ ★ ★★★★★ ★
GPU ★★★ ★ ★★★★★ ★
Camera ★ ★ ★★★★★ ★
Audio ★★★ ★★★★★ ★★★★★ ★
Display ★★★★★ ★ ★★★★ ★
Sensor ★★★★★ ★★★ ★★★★ ★
Bluetooth ★★★★★ ★★★★★ ★★★★★ ★★★
WiFi ★★★ ★ ★★★★★ ★★★★★
Network ★★ ★ ★★★★ ★★★★★
Power ★★★★★ ★★★★★ ★★★★★ ★★★
IPC ★★★ ★★★ ★★★★★ ★★★★
OTA ★★★★ ★★★★ ★★★★★ ★★★★★
Linux ★★★ ★ ★★★★★ ★★★★★

选出的可以用来学习的开源项目:

类别 项目1 项目2 项目3
🎧 TWS/耳机 OpenPineBuds OpenEarable 2 OpenEarable 1
⌚ 手表 ZSWatch InfiniTime/PineTime Bangle.js 2
📡 路由器 OpenWrt One NanoPi R4S + OpenWrt OpenWrt x86
🥽 AI眼镜 Brilliant Labs Frame AugmentOS OpenSQZ Glass
🔊 音箱 Xiaozhi ESP32 Home Assistant Voice/ESPHome Nest Audio Open PCB
🤖 机器人 TurtleBot 4 OpenAMR OpenEAI-Arm
🚗 汽车座舱 AGL Android Automotive / Car Samples OCTAVE

重点大概是:OpenPineBuds → ZSWatch → OpenWrt One → Frame → Xiaozhi → TurtleBot 4 → AGL

2 OpenPineBuds

OpenPineBuds / Pine64

这是非常值得你研究的一个。

它的价值不是代码量有多大,而是:

真实 TWS 产品 + Firmware + Bluetooth + Audio + 双耳协同 + Power

它属于那种很适合你"拆架构"的项目。

可以重点研究:

复制代码
                 Phone
                   │
                Bluetooth
                   │
           ┌───────┴───────┐
           │               │
         Left            Right
         Bud              Bud
           │               │
           ├── BT ─────────┤
           │               │
         Audio           Audio
           │               │
         DSP/Codec       DSP/Codec
           │               │
        Speaker         Speaker

重点看:

  • Bluetooth
  • TWS synchronization
  • Audio pipeline
  • Codec
  • DSP
  • touch
  • battery
  • charging case
  • OTA
  • bootloader
  • low power

非常适合研究"实时系统 + Audio + Power"。

3 ZSWatch

ZSWatch

Hardware + Firmware + RTOS + BLE + Sensor + Display

而且是:

Zephyr RTOS

硬件使用 nRF5340,双核,带:

复制代码
nRF5340
 ├── CPU
 ├── BLE
 ├── SPI
 ├── Display
 ├── Touch
 ├── BMI270
 └── BMP581

项目同时公开硬件设计和软件。

可以重点研究:

复制代码
Zephyr
 ├── DeviceTree
 ├── Drivers
 ├── Threads
 ├── Work Queue
 ├── BLE
 ├── Power
 └── LVGL

这个项目非常适合你目前的水平。

4 OpenWrt One

OpenWrt One

这是最值得研究的路由器项目。

原因非常简单:

它就是 OpenWrt 社区自己设计的硬件。

官方提供硬件文档和对应软件源码。

可以完整研究:

复制代码
BootROM
 ↓
U-Boot
 ↓
OpenWrt Kernel
 ↓
Drivers
 ↓
Network Stack
 ↓
Netfilter
 ↓
ubus
 ↓
procd
 ↓
netifd
 ↓
hostapd
 ↓
LuCI

这对你学习:

Embedded Linux System Architecture

价值非常高。

5 Brilliant Labs Frame

Frame Codebase

这个项目非常漂亮。

它不是简单 ESP32 + 摄像头。

它的系统架构直接分成:

复制代码
                 Frame
                   │
          ┌────────┴────────┐
          │                 │
       nRF52              FPGA
          │                 │
     System Control     Camera/Graphics
          │
 ┌────────┼────────┐
 ↓        ↓        ↓
Lua      BLE      AI
          │
       Power

官方代码库包括:

  • nRF52 Application
  • nRF52 Bootloader
  • FPGA RTL

其中 nRF52 负责系统控制、Lua、Bluetooth、AI、Power Management,而 FPGA 负责 graphics/camera acceleration。

**这个特别值得研究。**因为现在准备学习 Camera。

这里正好能看到:

MCU + FPGA + Camera + Display + BLE + AI + Power

这就是非常典型的 Wearable Architecture。

6 Xiaozhi ESP32

核心项目:

Xiaozhi ESP32

它特别适合。因为它已经把:

复制代码
Mic
 ↓
Audio
 ↓
Wake Word
 ↓
WiFi
 ↓
Cloud / LLM
 ↓
TTS
 ↓
Audio
 ↓
Speaker

完整串起来了。

而且是 ESP32-S3,非常适合实际购买开发板后研究。

应该重点看:

复制代码
Audio
Network
WebSocket
Protocol
State Machine
OTA
Power
UI
AI

7 TurtleBot 4

TurtleBot 4

这个是必看。

硬件:

复制代码
Raspberry Pi 4
     │
     ├── Camera
     ├── LiDAR
     ├── WiFi
     └── ROS2
          │
      Create 3 Base

硬件资料也是公开的。

它非常适合研究:

复制代码
Linux
 ↓
ROS2
 ↓
DDS
 ↓
Node
 ↓
microcontroller
 ↓
Motor

这其实就是:

Embedded Linux + MCU + Distributed IPC

8 Automotive Grade Linux

AGL meta-agl

这是汽车 Embedded Linux 非常重要的参考项目。

它直接就是:

复制代码
Yocto
 ↓
Linux
 ↓
AGL
 ↓
Automotive Services
 ↓
IVI
 ↓
Applications

仓库里面可以看到:

复制代码
meta-agl-ivi
meta-app-framework
meta-pipewire
meta-netboot
...

这对学习:

大型 Embedded Linux BSP

非常有价值。

相关推荐
feasibility.7 小时前
把城市压缩成 2067 个盒子:CosFly 无人机跟踪数据管线论文解剖
人工智能·大模型·嵌入式·无人机·vla
susplus18 小时前
【ARM 裸机开发 (IMX6ULL-mini)】I2C协议详解
嵌入式·arm·i2c
番茄灭世神1 天前
PN学堂GD32教程第11篇——I2C与EEPROM
c语言·stm32·单片机·嵌入式·gd32
haliu1 天前
【FHE 同态加密】我们如何实现同态加密推理(十六):未完成清单与已知边界(同态加密推理的精度、性能与安全)
人工智能·嵌入式·c·fhe·推理引擎·c11·边缘推理·同态加密推理
blueSatchel2 天前
UVC驱动源码研究
linux·嵌入式
haliu2 天前
【FHE 同态加密】我们如何实现同态加密推理(十五):实测账本——一跳 1.8 小时,钱花在哪(同态加密推理性能剖析)
人工智能·嵌入式·c·fhe·推理引擎·c11·边缘推理·同态加密推理
一直C3 天前
【ARM嵌入式开发】LCD液晶屏显示原理、色彩模式与显存地址映射详解
lcd·嵌入式·arm·寄存器·cortex-a7
Hespethorn3 天前
洪泛、路由、网络栈:LoRa 自组网三条路线的设计取舍与量化对比
物联网·嵌入式
用户0510122572963 天前
RGA(二)——RK3588 的核拓扑与能力差异
linux·嵌入式