前の記事で紹介したu-bootですが、Raspberry-Piで使うのに、ソースコードを調べた覚え書きメモ。
makeでの機種指定
configs/
フォルダに定義ファイルがあり、Raspberry Pi関係の指定は
機種指定 | ターゲット名 | 機種 | 備考 |
---|---|---|---|
rpi_defconfig | TARGET_RPI | Raspberry Pi | Pi Zero含む |
rpi_2_defconfig | TARGET_RPI_2 | Raspberry Pi 2 | BCM2836 |
rpi_3_32b_defconfig | TARGET_RPI_3_32B | Raspberry Pi 3 | 32bit mode |
rpi_3_defconfig | TARGET_RPI_3 | Raspberry Pi 3 | 64bit mode |
ターゲット名
arch/arm/mach-bcm283x/Kconfig
ファイルに記述がある
ターゲット名 | select定義 | 備考 |
---|---|---|
TARGET_RPI | BCM2835 | Raspberry Pi |
TARGET_RPI_2 | BCM2836 | Raspberry Pi 2 |
TARGET_RPI_3_32B | BCM2837_32B | Raspberry Pi 3 |
TARGET_RPI_3 | BCM2837_64B | Raspberry Pi 3 |
最初に実行されるコード
Raspberry Pi 1/Zero
arch/arm/cpu/arm1176/start.S
の reset: 〜
Raspberry Pi 2/3(32ビット)
arch/arm/cpu/armv7/start.S
の reset: 〜
include定義ファイル
include/configs/rpi.h
fatloadコマンドから呼び出される関数
fs/fs.c
の do_load() 関数
cache操作関係のソース
arch/arm/lib/
のあたりにある
コメント