树莓派获得巨大的成功,但其硬件局限也会导致不合适使用的场景。
由于板载网卡和USB共享的,Wi-Fi又有无可避免的干扰竞争,不建议在Open Media Vault或Nextcloud这样的NAS场景中使用树莓派;
树莓派的真正大脑不是开源的;
从以下树莓派的启动流程可以看出,树莓派的真正大脑不是开源,树莓派基金会只打算让我们在Linux操作系统层玩一玩。主芯片VideoCore(树莓派2-博通BCM2836;树莓派3-博通BCM2837;树莓派4-CM2711B0)并不开源;整个SoC本身由基于ThreadX的RTOS进行管理/初始化,使用start.elf文件加载Linux内核。
树莓派的启动流程
- 第一阶段:开发板上电之后,首先启动的是GPU(是的,不是CPU),此时CPU处于复位状态,并没有启动。树莓派的主芯片上有一个ROM,ROM里的代码是出厂定制好的,GPU从ROM里读取代码并执行。
- 第二阶段:GPU会从SD卡的第一个FAT32分区的根目录下寻找一个叫bootcode.bin的二进制文件。GPU将bootcode.bin读取到二级缓存(L2 Cache),并开始执行bootcode.bin。
- 第三阶段:GPU然后从目录下寻找start.elf,并将start.elf加载到内存中,开始执行start.elf。
- 第四阶段:GPU从目录下寻找kernel.img(Linux内核),并将kernel.img加载到内存中,然后唤醒CPU,这时CPU开始执行kernel.img。
除非使用官方电源,你很难找到变压器和电缆足够好的电源,以避免系统出现随机故障或挂起;
树莓派其实需要附加一定的散热系统。
部分可参考Nachoparker - What’s wrong with the Raspberry Pi