當前位置:編程學習大全網 - 源碼下載 - 嵌入式linux的bootloader的啟動流程是怎樣的?

嵌入式linux的bootloader的啟動流程是怎樣的?

嵌入式 Linux 系統從軟件角度看可以分為四個部分:引導加載程序(Bootloader), Linux 內核,文件系統,應用程序。

當系統首次引導時,或系統被重置時,處理器會執行壹個位於Flash/ROM中的已知位置處的代碼,Bootloader就是這第壹段代碼。它主要用來初始化處理器及外設,然後調用 Linux 內核。Linux 內核在完成系統的初始化之後需要掛載某個文件系統作為根文件系統(Root Filesystem),然後加載必要的內核模塊,啟動應用程序。這就是嵌入式Linux系統啟動過程 Linux 引導的整個過程。

Bootloader 的啟動方式:

網絡啟動方式。這種方式的開發板不需要較大的存儲介質,跟無盤工作站有點類似,但是使用這種啟動方式之前,需要把Bootloader安裝到板上的EPROM或者Flash中。Bootloader通過以太網接口遠程下載Linux內核映像或者文件系統。Bootloader下載文件壹般都使用TFTP網絡協議,還可以通過DHCP的方式動態配置IP地址。

硬盤啟動方式

傳統的Linux系統運行在臺式機或者服務器上,這些計算機壹般都使用BIOS引導,並使用磁盤作為存儲介質。Linux傳統上是LILO (Linux Loader) 引導,後來又出現了GUN的軟件 (Grand Unified Bootloader) 。 這兩種Bootloader廣泛應用在X86的Linux系統上。

Flash啟動方式。大多數嵌入式系統上都使用Flash存儲介質。Flash有很多類型,包括NOR Flash、NAND Flash和其它半導體盤。它們之間的不同在於: NOR Flash 支持芯片內執行(XIP, eXecute In Place),這樣代碼可以在Flash上直接執行而不必拷貝到RAM中去執行。而NAND Flash並不支持XIP,所以要想執行 NAND Flash 上的代碼,必須先將其拷貝到 RAM中去,然後跳到 RAM 中去執行。NOR Flash 使用最為普遍。Bootloader壹般放在Flash的底端或者頂端,這需要根據處理器的復位向量來進行設置。可以配置成MTD設備來訪問Flash分區。

  • 上一篇:指南針的各層是什麽意思?
  • 下一篇:mysql insert語句需要註意什麽?
  • copyright 2024編程學習大全網