前の記事で紹介した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/のあたりにある


コメント