Raspberry Pi 3のLinuxって、32ビットということを知ったので、
早速、ソースコードを見てみました。
公式ブログのRASPBERRY PI 3 ON SALE NOW AT $35の後半にも
早速、ソースコードを見てみました。
公式ブログのRASPBERRY PI 3 ON SALE NOW AT $35の後半にも
引用 At launch, we are using the same 32-bit Raspbian userland that we use on other Raspberry Pi devices; over the next few months we will investigate whether there is value in moving to 64-bit mode.とあります。
linux/arch/arm64/boot/dtsにはbroadcomがありません。
linux/arch/arm/boot/dtsにありました。
bcm2710-rpi-3-b.dts。bcm2710.dtsi見たら、
linux/arch/arm/boot/dtsにありました。
bcm2710-rpi-3-b.dts。bcm2710.dtsi見たら、
cpus: cpus {
#address-cells = <1>;
#size-cells = <0>;
v7_cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x000>;
clock-frequency = <800000000>;
};
v7_cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x001>;
clock-frequency = <800000000>;
};
v7_cpu2: cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x002>;
clock-frequency = <800000000>;
};
v7_cpu3: cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x003>;
clock-frequency = <800000000>;
};
};
のように、CPUがCortex-A7になっています。Raspberry PiのブートシーケンスをGoogle君に聞いてみたら、
How does Raspberry Pi boot?に
How does Raspberry Pi boot?に
1)、電源をオンした時は、ARMコアはオフで、GPUコアがオン。 2)、GPUコアがSoC内部ROMのFSBLを実行し、SDカード内のSSBL(bootcode.bin)を L2キャッシュにロードし、実行。 3)、bootcode.binがSDRAMをイネーブルにし、TSBL(loader.bin)をSDカードから SDRAMにロードし、実行。 4)、loader.binがGPUファームウェア(start.elf)をロードし、 5)、start.elfがconfig.txt, cmdline.txt, kernel.imgをロード。 loader.binは必要ないかも。にように、GPUコアがブートローダーを実行するんですね。