2445 字
12 分钟
蓝莓派诞生记——教你从零自制“树莓派”

以树莓派为首的 Linux 开发板层出不穷,你是不是也想拥有自己的款式呢?如果你也有了动手的念头,却担心零基础无从下手,那这篇文章就是为你准备的。

项目链接

Commander-bao
/
BlueberryPi
Waiting for api.github.com...
00K
0K
0K
Waiting...

长文预警

1. 蓝莓派诞生记#

当时的我还是大二,对电子DIY产生了浓厚的兴趣。苦于没有任何知识储备也无人指导,就开始自己瞎琢磨捣鼓学习单片机的设计制作,也就是后来的情侣小电视。不知道什么时候我又刷到了稚晖君的量子计划以及 B 站最强小电视,便开始反复观看其中细节。其中炫酷的 AD 界面和复杂的 PCB 深深吸引了我,爱吃蓝莓的我开始了造“派”计划,发誓一定要设计一款属于自己的派。

又是苦于无人指导一通找教程,结果网上还真有大佬写了教程,也就是下面这篇参考文章。

参考文章

立创开源硬件平台
全志H6开发板 - 从零入门ARM高速电路设计
oshwhub.com

我也非常推荐大家仔细阅读这个文章,因为本人就认真反复阅读了一两周,一边读一边开展我蓝莓派的设计。终于在我不懈的努力下,蓝莓派成功开机啦!

2. 零基础小课堂#

如果你和我当初一样,那这一节就是为你准备的。

2.1 派能吃,但“派”不能吃#

树莓派、香橙派、蓝莓派,本质上都是“单板计算机”(SBC,Single Board Computer),它在一块 PCB 上集成了处理器、内存、存储、电源和常用接口,能运行 Linux 或 Android 操作系统。而 ESP32、STM32 这类单片机一般只运行裸机程序或 RTOS。

树莓派 4B 主要元件与接口位置

一块派就是一台电脑,以树莓派 4B 为例,板子上的核心角色大致是:

  • 主控 SoC:博通 BCM2711,4 核 Cortex-A72,CPU、GPU、内存控制器等都集成在这一颗芯片里,相当于电脑的 CPU 加主板芯片组。
  • 内存:LPDDR4,程序运行的地方,相当于电脑的内存条。
  • 存储:microSD 卡(树莓派 4B 没有板载存储),相当于电脑的硬盘,用来放系统和文件。
  • 电源部分:USB-C 输入的 5V 经过板载 DC-DC 转换,产生芯片需要的多路电压。
  • 无线模块:CYW43455,提供 Wi-Fi 5 和蓝牙 5.0。
  • 接口与外围:2 个 micro-HDMI、2 个 USB 3.0、2 个 USB 2.0、千兆网口、3.5mm 音频口、40Pin GPIO、CSI/DSI 排线座等。

后面画原理图,其实就是把这些器件按正确的方式连起来。蓝莓派上的器件型号不同,但作用却是相似的。

2.2 硬件常用术语#

缩写全称含义
SBCSingle Board Computer单板计算机,也就是“派”
SoCSystem on Chip把 CPU、GPU、外设等集成到一颗芯片
MCUMicrocontroller Unit单片机,通常跑裸机或 RTOS
DDRDouble Data Rate内存,包含 DDR3、DDR4 等
LPDDRLow Power DDR低功耗内存,手机和开发板常用
eMMCembedded MultiMediaCard板载存储,相当于硬盘
PMICPower Management IC电源管理芯片
GPIOGeneral Purpose I/O通用输入输出引脚
UART / I2C / SPI—常见的低速通信接口
BGA / QFNBall Grid Array / Quad Flat No-leads芯片封装,焊盘在芯片底部
SMTSurface Mount Technology表面贴装,把器件贴到 PCB 上
EDAElectronic Design Automation电子设计自动化软件,比如立创EDA
Gerber—板厂用来生产 PCB 的文件格式
BOMBill of Materials物料清单

2.3 高速电路,信号的高速路#

这里说的“高速”,不只是主频高,而是指信号变化太快,铜线不能再当成一根理想的导线,而要当成传输线来对待。

高速电路信号线包括 DDR 内存、USB、HDMI 的走线。它们要么速率高,要么边沿非常陡,处理不好会出现花屏、识别不到设备、死机等问题。所以这里引出 PCB 设计里的相关概念:

  • 阻抗匹配:高速信号在传输线上传播时,如果走线阻抗与源端、负载不匹配,信号会在末端反射,产生过冲和振铃。设计时需要控制线宽、线距以及与参考平面的距离,让特性阻抗保持稳定(单端常见 50Ω,差分常见 90Ω 或 100Ω)。
  • 等长:DDR 这类并行总线对时序很敏感,同一组信号的走线长度要匹配,否则到达时间不一致会压缩有效时序窗口;USB、HDMI 等差分对的内部也要等长。
  • 参考平面:高速信号下方需要一层完整的地平面(或电源平面)作为回流路径。它既能控制阻抗,又能减小回流环路面积、降低串扰和 EMI;参考平面被分割或开槽,会导致阻抗突变和信号质量下降。
  • 层叠:多层板要提前决定每一层是信号层、地层还是电源层,以及介质厚度和铜厚。合理的层叠能为高速信号提供稳定的参考平面、控制阻抗并减少层间串扰,是 PCB 设计的基础。

硬件部分先聊到这里。接下来是软件部分——一块板子只有硬件是跑不起来的。

2.4 Linux 和 Android,给板子选个操作系统#

硬件有了,接下来要决定让板子跑什么系统。对树莓派这类单板计算机来说,最常见的选择就是 Linux 和 Android。

Linux 与 Android

Linux 是一类系统,不是某一个系统。 严格来说 Linux 只是内核,我们平时说的 Linux 通常指基于它的发行版,比如 Ubuntu、Debian、Armbian、Raspberry Pi OS 等。它们开放、可裁剪、软件生态成熟,适合做桌面、服务器、NAS、软路由和嵌入式设备。

Android 同样基于 Linux 内核,但重点在应用框架、图形界面和移动应用生态。它更适合触屏设备、电视盒子、平板这类场景,开发板通常使用 AOSP 或 Android TV 版本,应用以 APK 分发,整体更偏向开箱即用。

两者的关系可以简单理解为Android 是在 Linux 内核上搭起来的一套移动系统;Linux 发行版则是更通用、更贴近传统电脑的系统。

后面我们主要以 Linux 为例,因为它的资料更多,也更适合折腾。

2.5 软件常用术语#

术语含义
BootROM芯片内部固化的启动代码,决定从哪里加载引导程序
SPL二级程序加载器,负责初始化 DRAM 等,然后加载 U-Boot
U-Boot常用的开源引导程序,负责加载内核和设备树
KernelLinux 内核,管理硬件和进程
Device Tree描述板级硬件配置的文件,内核据此加载驱动
Driver驱动程序,内核与硬件之间的桥梁
Rootfs根文件系统,包含用户空间程序、库和配置
DistroLinux 发行版,如 Ubuntu、Debian、Armbian
SDK / BSP厂商提供的软件开发包 / 板级支持包
Cross Compile交叉编译,在电脑上编译 ARM 程序
Serial Console串口控制台,调试启动问题的第一手段
SSH通过网络远程登录板子

2.6 软件相关工具#

  • SDK / BSP:芯片厂商提供的软件开发包和板级支持包,通常包含 U-Boot、内核、驱动和编译工具。
  • 交叉编译器:在 x86 电脑上编译出能在 ARM 板子上运行的程序。
  • 烧录工具:把系统镜像写进 eMMC 或 TF 卡。通用场景可以用 balenaEtcher。
  • 串口调试:USB 转 TTL 模块 + PuTTY/minicom,是最可靠的“看板子说话”的方式,常用 115200 8N1。
  • SSH / SCP:系统跑起来之后,通过网络登录板子、传文件,比来回拔卡方便得多。

2.7 插电开机,午安大电牛#

插上电源之后,板子并不会“直接进入桌面”。它更像一场接力赛:每一棒把控制权交给下一棒,直到你的程序跑起来。整个过程大致是下面这样:

  1. BootROM:芯片内部固化的代码,上电后第一个运行,判断从 eMMC、TF 卡还是 USB 启动。
  2. boot0 / SPL:BootROM 把这一小段程序加载到片内 SRAM 运行,由它初始化 DRAM 和时钟,为后面的大程序准备场地。
  3. U-Boot:内存可用后,U-Boot 会被加载到 DRAM。U-Boot 负责初始化更完整的外设、读取设备树、加载 Linux 内核。
  4. Linux 内核:内核接管 CPU、内存、中断和外设,根据设备树加载对应驱动,最后挂载根文件系统。
  5. init / 系统服务:内核启动第一个用户空间程序,由它拉起网络、串口登录、图形界面等服务。
  6. 应用程序:系统准备好之后,你的程序或者桌面、Web 服务才开始运行。

3. 需求分析与主控选型#

近年支持较好的芯片如下:#

瑞芯微(Rockchip):

芯片CPUGPUNPU
RK35884×A76 + 4×A55Mali-G6106 TOPS
RK3588S4×A76 + 4×A55Mali-G6106 TOPS
RK35764×A72 + 4×A53Mali-G52 MC36 TOPS
RK35684×A55Mali-G521 TOPS
RK35664×A55Mali-G520.8 TOPS
RK33992×A72 + 4×A53Mali-T860—
RK33284×A53Mali-450—

全志(Allwinner):

芯片CPUGPUNPU
A7332×A76 + 6×A55 + RISC-V E902BXM-4-64 MC13 TOPS
A527 / T5278×A55 + RISC-V E906Mali-G572 TOPS
H64×A53Mali-T720—
H616 / H6184×A53Mali-G31—
H54×A53Mali-450—
H34×A7Mali-400 MP2—

常用开发板厂商官网:#

需求分析和选型的完整思路,参考文章已经写得很详细,这里不再展开,总而言之尽量选择软硬件开放度高、支持好的型号。

4. 原理图设计#

更新中…

蓝莓派诞生记——教你从零自制“树莓派”
https://cmder.xyz/posts/blueberry-pi/
作者
宝哥
发布于
2026-10-20
许可协议
CC BY-NC-SA 4.0