2012/09/27

Raspberry Pi開機程序

在Raspberry Pi(以下簡稱rpi)板子上,那顆主晶片裡包含了CPU與GPU,接上電源開機時,最先動作的是GPU(聽起來有點怪,但卻是事實),晶片裡有ROM,含有GPU要執行的程式碼,這部份的開機程式碼為Stage 1。

Stage 1會把Stage 2的程式碼(位於SD記憶卡第一個分割區裡,檔名為bootcode.bin)載入L2 cache。

Stage 2負責啟動SDRAM,並載入Stage 3的程式碼(位於SD記憶卡第一個分割區裡,檔名為loader.bin)放進SDRAM。

Stage 3看的懂elf格式,負責載入start.elf(GPU韌體的主要部分)。

start.elf會讀取config.txt、cmdline.txt,並劃分記憶體給CPU與GPU使用,然後載入kernel.img(通常這就是linux kernel了),kernel.img是CPU第一份開始執行的程式碼。

更新:新版韌體已無loader.bin,也就是說,Stage 3與Stage 2合併了。

參考資料:


No comments:

Post a Comment