嵌入式linux系统的启动流程是什么样的?
1) 初始化 RAM因?yàn)?Linux 內(nèi)核一般都會(huì)在 RAM 中運(yùn)行,所以在調(diào)用 Linux 內(nèi)核之前 Bootloader 必須設(shè)置和初始化 RAM,為調(diào)用 Linux內(nèi)核做好準(zhǔn)備。初始化 RAM 的任務(wù)包括設(shè)置 CPU 的控制寄存器參數(shù),以便能正常使用 RAM 以及檢測(cè)RAM 大小等。
2) 初始化串口端口在 Linux 的啟動(dòng)過(guò)程中有著非常重要的作用,它是 Linux內(nèi)核和用戶(hù)交互的方式之一。Linux 在啟動(dòng)過(guò)程中可以將信息通過(guò)串口輸出,這樣便可清楚的了解 Linux 的啟動(dòng)過(guò)程。雖然它并不是 Bootloader 必須要完成的工作,但是通過(guò)串口輸出信息是調(diào)試 Bootloader 和Linux 內(nèi)核的強(qiáng)有力的工具,所以一般的 Bootloader 都會(huì)在執(zhí)行過(guò)程中初始化一個(gè)串口作為調(diào)試端口。
3) 檢測(cè)處理器類(lèi)型Bootloader在調(diào)用 Linux內(nèi)核前必須檢測(cè)系統(tǒng)的處理器類(lèi)型,并將其保存到某個(gè)常量中提供給 Linux 內(nèi)核。Linux 內(nèi)核在啟動(dòng)過(guò)程中會(huì)根據(jù)該處理器類(lèi)型調(diào)用相應(yīng)的初始化程序。
4) 設(shè)置 Linux啟動(dòng)參數(shù)Bootloader在執(zhí)行過(guò)程中必須設(shè)置和初始化 Linux 的內(nèi)核啟動(dòng)參數(shù)。
5) 調(diào)用 Linux內(nèi)核映像Bootloader完成的最后一項(xiàng)工作便是調(diào)用 Linux內(nèi)核。如果 Linux 內(nèi)核存放在 Flash 中,并且可直接在上面運(yùn)行(這里的 Flash 指 Nor Flash),那么可直接跳轉(zhuǎn)到內(nèi)核中去執(zhí)行。但由于在 Flash 中執(zhí)行代碼會(huì)有種種限制,而且速度也遠(yuǎn)不及 RAM 快,所以一般的嵌入式系統(tǒng)都是將 Linux內(nèi)核拷貝到 RAM 中,然后跳轉(zhuǎn)到 RAM 中去執(zhí)行。
總結(jié)
以上是生活随笔為你收集整理的嵌入式linux系统的启动流程是什么样的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 新成立的进出口贸易公司,如何办理出口退税
- 下一篇: linux初始服务器启动盘如何使用?