0

我正在编写自己的操作系统,到目前为止,我只能用汇编语言编写它,因为我真的不明白如何使用多种文件/语言来设置它。我以前写过带有可执行代码的引导加载程序,但我不明白的是如何让引导加载程序知道自身之外的其他文件。我如何能够在汇编中编写引导加载程序,然后告诉它加载,例如,用 C 语言编写的内核在不同的文件中?我是否必须将内核编译中的 .o 文件捆绑到 fdd 映像中并告诉引导加载程序加载/执行它们,还是比这更复杂?

4

1 回答 1

1

由于看起来您正在尝试掌握系统的窍门,因此可能值得看看一些“较小的”嵌入式系统,以了解一旦加电/芯片复位后会发生什么。在此处查看 U-Boot:http: //www.denx.de/wiki/U-Boot

它是一个非常流行的引导加载程序,尤其适用于嵌入式系统,并且可以启动各种操作系统。主线也支持大量不同的配置。我认为,如果您对 C 感到满意,那么在上电期间会发生什么是相对简单的。

要更具体地回答您的问题,例如使用 U-Boot,您可以将参数构建到 u-boot 映像中,以了解您将在何处加载代码,它可以在启动时从配置文件中读取映像文件的存储位置, u-boot 可以从您的网络某处自动加载配置,您甚至可以告诉 u-boot 从其命令行界面加载的位置和内容。看看你是否还有其他问题。

于 2013-03-28T23:36:22.750 回答