|
@@ -1,124 +0,0 @@
|
|
|
-BeagleV
|
|
|
-=======
|
|
|
-
|
|
|
-BeagleV is a low-cost RISC-V 64-bit based platform, powered by a
|
|
|
-Starfive JH7100 processor. The current defconfig in Buildroot has been
|
|
|
-tested with the JH7100 chip used on the beta version of the BeagleV
|
|
|
-board.
|
|
|
-
|
|
|
-How to build
|
|
|
-============
|
|
|
-
|
|
|
-$ make beaglev_defconfig
|
|
|
-$ make
|
|
|
-
|
|
|
-Build results
|
|
|
-=============
|
|
|
-
|
|
|
-After building, output/images contains:
|
|
|
-
|
|
|
-+ bootloader-JH7100-buildroot.bin.out
|
|
|
-+ ddrinit-2133-buildroot.bin.out
|
|
|
-+ Image
|
|
|
-+ fw_payload.bin
|
|
|
-+ fw_payload.bin.out
|
|
|
-+ fw_payload.elf
|
|
|
-+ rootfs.ext2
|
|
|
-+ rootfs.ext4
|
|
|
-+ sdcard.img
|
|
|
-+ u-boot.bin
|
|
|
-
|
|
|
-The four important files are:
|
|
|
-
|
|
|
- - bootloader-JH7100-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.
|
|
|
-
|
|
|
- - sdcard.img, the SD card image, which contains the root filesystem,
|
|
|
- kernel image and Device Tree.
|
|
|
-
|
|
|
-Flashing the SD card image
|
|
|
-==========================
|
|
|
-
|
|
|
-$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
|
|
-
|
|
|
-Preparing the board
|
|
|
-===================
|
|
|
-
|
|
|
-Connect the Beagle-V fan to the 5V supply (pin 2 or 4 of the GPIO
|
|
|
-connector) and GND (pin 6 of the GPIO connector).
|
|
|
-
|
|
|
-Connect a TTL UART cable to pin 8 (TX), 10 (RX) and 14 (GND).
|
|
|
-
|
|
|
-Insert your SD card.
|
|
|
-
|
|
|
-Power-up the board using an USB-C cable.
|
|
|
-
|
|
|
-Flashing OpenSBI/U-Boot
|
|
|
-=======================
|
|
|
-
|
|
|
-The bootloader pre-flashed on the Beagle-V has a non-working
|
|
|
-fdt_addr_r environment variable value, so it won't work
|
|
|
-as-is. Reflashing the bootloader with the bootloader image produced by
|
|
|
-Buildroot is necessary.
|
|
|
-
|
|
|
-When the board starts up, a pre-loader shows a count down of 2
|
|
|
-seconds, interrupt by pressing any key. You should reach a menu like
|
|
|
-this:
|
|
|
-
|
|
|
---------8<----------
|
|
|
-
|
|
|
-bootloader version:210209-4547a8d
|
|
|
-ddr 0x00000000, 1M test
|
|
|
-ddr 0x00100000, 2M test
|
|
|
-DDR clk 2133M,Version: 210302-5aea32f
|
|
|
-0
|
|
|
-***************************************************
|
|
|
-*************** FLASH PROGRAMMING *****************
|
|
|
-***************************************************
|
|
|
-
|
|
|
-0:update uboot
|
|
|
-1:quit
|
|
|
-select the function:
|
|
|
-
|
|
|
---------8<----------
|
|
|
-
|
|
|
-Press 0 and Enter. You will now see "C" characters being
|
|
|
-displayed. Ask your serial port communication program to send
|
|
|
-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-JH7100-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. The instructions
|
|
|
-make use of a jh7100-recover tool, which Buildroot has built as part
|
|
|
-of this defconfig: it is available as output/host/bin/jh7100-recover.
|