了解嵌入式平台设计

时间:2015-11-12 12:58:09

标签: linux memory-management firmware

我正在尝试了解不同的Linux内存设计选择。 我正在开发嵌入式ARM / Linux平台(初学者)。

固件加载到包含内核和rootfs的闪存上。 在启动期间,整个映像被加载到RAM中。

这种设计选择有哪些优点?还有其他选择吗? 它与评估板如Beagle Bone Black有何不同?

提前致谢

1 个答案:

答案 0 :(得分:1)

通常,flash可用于拥有引导程序,内核映像和rootfs。大多数Linux是从RAM而不是Flash运行的,因为从RAM运行时通常会更快。因此,在引导过程中,内核tt通过U-Boot从Flash复制到RAM中。另一个选项是引导加载程序将压缩内核从闪存中提取到SDRAM中,然后内核挂载rootfs。

大多数嵌入式系统都使用intramfs,因为内存是嵌入式系统中的一种约束。有关此https://unix.stackexchange.com/questions/27309/how-do-i-have-linux-boot-with-a-rootfs-in-ram

的详细信息,请参阅此链接

除此之外,大多数发行版都使用压缩的ext2文件系统映像,而其他发行版像Debian 3.1则使用cramfs来启动内存限制系统。 cramfs图像不需要额外的空间来进行解压缩。