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合併了。
參考資料:
应用来源:
http://yehnan.blogspot.com/2012/09/raspberry-pi.html (打不开的不要来问我,自己想办法!) |