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