Raspberry PiマザーボードのBIOSについて学びたいです。BIOSとは何ですか?それは特定の名前を持っていますか、それともRaspberry PiのBIOSと呼ばれていますか?
Raspberry PiマザーボードのBIOSについて学びたいです。BIOSとは何ですか?それは特定の名前を持っていますか、それともRaspberry PiのBIOSと呼ばれていますか?
回答:
ファームウェアは、SoC(System on a Chip)プロセッサーにプログラムされたクローズドソースの専用コードであり、変更できません。電源投入時に、ファームウェアはSDカードでブートローダーを開始します。他のサービスがSoCファームウェアを介して提供されるとは思わないため、それ自体は「BIOS」(基本入出力システム)ではありません。この後、他のすべてはSDカードから取得されます。
wikiのソフトウェアセクションによると、起動順序は次のとおりです。
bootcode.bin
SDカードからの読み込みのみが責任です。これが、SDカード以外のメディアからRaspberryPiを起動できない理由です。
@TevoDは、彼の答えで彼が書いたものにほとんど正しいです-RaspberryPiは、クローズドソースファームウェアバイナリをブートローダーとして使用しています。現在のバージョンはここにあります。ファームウェアを作成する2つのファイルはbootcode.bin
(2ndステージブートローダー)とstart.elf
(GPU "ファームウェア")です。RaspberryPiに固有で非常にユニークなのは、GPU
(グラフィックチップ)から始まることであり、これが実際にブートローダーが実行される場所です。GPU
その後ARM CPU
、Linuxカーネルを起動して実行します。
GPU
ただし、Linuxの起動後、コードオンはアンロードされません。代わりに、VCOS
(Video Core Operating System
)と呼ばれる独自のシンプルなOSを実行します。Linuxカーネルは、特別なmailbox protocol
割り込みを使用してサービスと通信します(GPUはARM割り込みを生成できます)。framebuffer
ここで使用されるメールボックスプロトコルに関する情報を読むことができます。GPUはグラフィックのことだけでなく、クロックの制御やオーディオの生成なども行います。この点で、GPUファームウェアはBIOS
、通常のPCコンピューターと同様のものと見なすことができます。このリーディングRaspberryPi Linuxカーネルドライバーに関する詳細情報を見つけることができます。
また、この回答でさらに情報を見つけることができます。