2011-02-07 78 views

回答

1

这是一个广泛和漂亮的平台特定的问题。福斯特,你没有告诉我们你的平台太多,所以我们必须做出假设。我假设,基于你使用redboot和谈论你在ARM上运行的“分区”,并且你的操作系统映像存储在永久存储器(即Flash)中。

接下来的问题是“OS如何以及在哪里存储?”这是平台特定的,所以只有你(或你的OEM)可以说。它可能位于FAT 32卷内,或者可能在任何文件系统之外的闪存中被原始写入闪存中的特定位置。如果它是前者(可能不是,或者你可能不会问这个问题),你可以复制它。如果它只是在原始位置,您将需要API来直接访问闪存。查看OEM是否提供了它们(应用程序无法直接映射到6.0中的硬件,因此如果没有OEM提供的API,则必须编写驱动程序)。

你还需要知道你是否是XIP。如果是这样,我认为在运行时不会复制操作系统 - 至少我认为这是一项高风险操作。在这种情况下,您可能需要在现有文件系统之外的某个位置(EEPROM,暂存区域管理器,原始闪存等)设置某种位并重新启动,然后修改引导加载程序以进行复制。

这一切都假定你的意思是你想从设备本身复制它。你可能想要使用JTAG工具复制它,在这种情况下,我所说的一切都是无关紧要的(除了操作系统的位置 - 即使你认为你想从外部来源)。