Embedded 在RAM中附加ROM意味着什么?

Embedded 在RAM中附加ROM意味着什么?,embedded,arm,uclinux,Embedded,Arm,Uclinux,我正在为运行UCLinux2.4的ARM平台构建内核,在Linux配置的“常规设置”下,有一个名为“m68knommu风格的RAM支持附加ROM”的选项。我的ARM组装技能有些有限,但据我所知,如果启用此选项,ROMFS将复制到内核BSS的末尾 此选项的目的是什么?正如您正确指出的,此选项将导致附加到内核映像的ROM重新定位到.bss部分的末尾。这允许系统从romfs作为其根文件系统启动。上述情况并不完全正确;我相信我真的开发了这个变化,如果不是的话,我肯定会使用它。如前所述,该特性提供了对连接

我正在为运行UCLinux2.4的ARM平台构建内核,在Linux配置的“常规设置”下,有一个名为“m68knommu风格的RAM支持附加ROM”的选项。我的ARM组装技能有些有限,但据我所知,如果启用此选项,ROMFS将复制到内核BSS的末尾


此选项的目的是什么?

正如您正确指出的,此选项将导致附加到内核映像的ROM重新定位到.bss部分的末尾。这允许系统从romfs作为其根文件系统启动。

上述情况并不完全正确;我相信我真的开发了这个变化,如果不是的话,我肯定会使用它。如前所述,该特性提供了对连接到内核映像的romfs文件系统的支持——这两个映像都放在RAM中。然后,此选项确保romfs文件系统将自动评估其大小,并将其移动到RAM的保留区域(以及通过MTD RAM驱动程序传递用于装载的适当指针)

没有这种改变,仍然有可能耗尽RAM;您只需要让引导加载程序将其放置在预先确定的位置,并传入适当的内核选项。这项更改增加的一个重要特性是能够像Coldfire构建那样拥有一个统一的内核+文件系统映像


请注意,我记得,只有在head PLATFORT.S中进行了适当的更改时,它才起作用--我认为它可能只在NetSilicon NS7520上存在。

很有趣,但它已经从romfs作为root启动,但没有启用此选项。是的,但该选项允许您在根文件系统没有RAM而没有外部存储的情况下运行(可能会提高执行速度)。我假设如果没有这个选项,情况就不会如此。通过耗尽RAM,您也可以更新闪存,而不用担心执行/擦除闪存的扇区。