configs/beaglev: enable building of low-level firmware

This commit extends the beaglev_defconfig and its documentation to
build the low-level firmware, and to explain how to reflash it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[yann.morin.1998@free.fr: use typoed-name for beaglev-ddrlnit]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Thomas Petazzoni 2021-05-04 22:51:38 +02:00 committed by Yann E. MORIN
parent 6e746d27c0
commit 671423d33e
2 changed files with 38 additions and 2 deletions

View File

@ -17,6 +17,8 @@ Build results
After building, output/images contains:
+ bootloader-BEAGLEV-buildroot.bin.out
+ ddrinit-2133-buildroot.bin.out
+ Image
+ fw_payload.bin
+ fw_payload.bin.out
@ -26,7 +28,11 @@ After building, output/images contains:
+ sdcard.img
+ u-boot.bin
The two important files are:
The four important files are:
- bootloader-BEAGLEV-buildroot.bin.out, the first stage bootloader
- ddrinit-2133-buildroot.bin.out, the DDR initialization firmware
- fw_payload.bin.out, which is the bootloader image, containing
both OpenSBI and U-Boot.
@ -51,7 +57,7 @@ Insert your SD card.
Power-up the board using an USB-C cable.
Flashing the bootloader
Flashing OpenSBI/U-Boot
=======================
The bootloader pre-flashed on the Beagle-V has a non-working
@ -86,3 +92,31 @@ fw_payload.bin.out using the Xmodem protocol.
After reflashing is complete, restart the board, it will automatically
start the system from the SD card, and reach the login prompt.
Flashing low-level bootloaders
==============================
The BeagleV comes pre-flashed with functional low-level bootloaders
(called "secondboot" and "ddrinit"). Re-flashing them is not necessary
to use this Buildroot defconfig. However, for the sake of
completeness, Buildroot builds and provides those low-level bootloader
images.
You can flash them as follows:
- In the same "pre-loader" menu as the one used above, instead of
entering 0 or 1, enter the magic "root@s5t" string. This enters the
"expert" features.
- Then, press 0 and send over X-modem the
bootloader-BEAGLEV-buildroot.bin.out file.
- Then, press 1 and send over X-modem the
ddrinit-2133-buildroot.bin.out.
Note that the reflashing mechanism itself relies on those low-level
bootloaders, so if you flash non-working versions, you'll have to go
through a recovery process. This requires wiring up to a separate
debug UART, which pins are located near the HDMI connector. See
https://wiki.seeedstudio.com/BeagleV-Update-bootloader-ddr-init-boot-uboot-Recover-bootloader/
section "Recover the bootloader" for more details.

View File

@ -18,6 +18,8 @@ BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_BEAGLEV_DDRLNIT=y
BR2_TARGET_BEAGLEV_SECONDBOOT=y
BR2_TARGET_OPENSBI=y
BR2_TARGET_OPENSBI_CUSTOM_TARBALL=y
# HEAD of the Fedora branch