找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2895|回復(fù): 0
收起左側(cè)

boot

[復(fù)制鏈接]
ID:82781 發(fā)表于 2015-6-13 01:30 | 顯示全部樓層 |閱讀模式
我對linux是一竅不通的,最近在搞開發(fā)板的時候也無從下手了,所以只能上網(wǎng)充充電,大部分都太泛泛了,現(xiàn)在我對linux的認(rèn)識上僅僅只停留在燒寫別人的代碼程序的,裸奔的話基本和ARM7無異多少,這是一項浩大的工程。也許得許多年,也許根本繼續(xù)不下去,不管了。
linux分為幾個部分: 1. bootloader 2.內(nèi)核 3,文件系統(tǒng)。4。應(yīng)用程序
bootloader ARM7也有的,我看來就是初始化和加載MAIN函數(shù)的入口,個人認(rèn)為屬于系統(tǒng)級別,一般都有廠家提供的文件支撐,很少用戶敢于,無論是怎么寫怎么搞最后都會加載 _main ()  ,然后開始執(zhí)行用戶代碼,其中還可能執(zhí)行某些系統(tǒng)的HOOK    用來初始化系統(tǒng)時鐘。我一般的用法是屏蔽系統(tǒng)HOOK,然后自己偷偷的換上哈哈,但是注意的是BOOT都不一樣,不同的硬件BOOT都不同,所以先下手boot至于內(nèi)核和文件系統(tǒng),引用程序,這些都留到后面搞,先從頭開始,頭就是bootloder :
第一:大概
首先嵌入式不是PC系統(tǒng),無BIOS引導(dǎo)。而僅僅是啟動代碼啟動內(nèi)核。也就是上電后首先調(diào)到啟動代碼執(zhí)行,而后者才會啟動內(nèi)核運行操作系統(tǒng),他負(fù)責(zé)
初始化硬件設(shè)備,和資源分配地址映射。
第二:位置
他存在于flashz之上的,他是編譯系統(tǒng)編譯完畢存入存儲器然后板子加載之,但是我們看到開發(fā)板其實可以從NNAD 和NOR分別啟動,就是這個道理他的啟動加載地址可以從nand 或者NOR了 ,同理也應(yīng)證硬件的初始化代碼加載是兩個入口。選一的,
第三:交互
開發(fā)板和PC之間主要依賴于USART來通訊。所以我們看到開發(fā)板都是用串口打印的信息。
第四: 模式
開發(fā)板的 Boot Loader 將通過串口連接或網(wǎng)絡(luò)連接等通信手段從主機(jī)(Host)下載文件,比如:下載內(nèi)核映像和根文件系統(tǒng)映像等。從主機(jī)下載的文件通常首先被 Boot Loader 保存到目標(biāo)機(jī)的 RAM 中,然后再被 Boot Loader 寫到目標(biāo)機(jī)上的FLASH 類固態(tài)存儲設(shè)備中。Boot Loader 的這種模式通常在第一次安裝內(nèi)核與根文件系統(tǒng)時被使用;此外,以后的系統(tǒng)更新也會使用 Boot Loader 的這種工作模式。工作于這種模式下的 Boot Loader 通常都會向它的終端用戶提供一個簡單的命令行接口 。這也應(yīng)征了這個boot里面幾乎是用到了很多的硬件的驅(qū)動的,這部分驅(qū)動并不是內(nèi)核管理的,因為此時內(nèi)核還沒啟動呢,而是類似單片機(jī)驅(qū)動程序吧。所以這個也是需要單獨編譯的。比較復(fù)雜。好在有一些現(xiàn)成程序可用。
bootloder 分2段第一段ASM完成第二段 C語言完成。

第一階段:
  • 硬件設(shè)備初始化。

  • 為加載 Boot Loader 的 stage2 準(zhǔn)備 RAM 空間。

  • 拷貝 Boot Loader 的 stage2 到 RAM 空間中。

  • 設(shè)置好堆棧。

  • 跳轉(zhuǎn)到 stage2 的 C 入口點。
  • 第二階段:

    • 初始化本階段要使用到的硬件設(shè)備。

    • 檢測系統(tǒng)內(nèi)存映射(memory map)。

    • 將 kernel 映像和根文件系統(tǒng)映像從 flash 上讀到 RAM 空間中。

    • 為內(nèi)核設(shè)置啟動參數(shù)。

    • 調(diào)用內(nèi)核。
    •   
    • 每一個階段的代碼都是神一樣的驚人。但是總歸揭底,最后都是一樣的,永不反回,加載操作系統(tǒng)后。這個和RTOS是一樣的本質(zhì)應(yīng)該都差不多,只是手段狠了許多。
    • 20140529
    • 老王與日照

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表