mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-19 08:28:51 +09:00
![David Lechner](/assets/img/avatar_default.png)
This is based on the davinci da850evm. It can boot from either the on-board 16MB flash or from a microSD card. It also reads board information from an I2C EEPROM. The EV3 itself initally boots from write-protected EEPROM, so no u-boot SPL is needed. Signed-off-by: David Lechner <david@lechnology.com> Reviewed-by: Tom Rini <trini@konsulko.com>
33 lines
1.4 KiB
Plaintext
33 lines
1.4 KiB
Plaintext
Summary
|
|
=======
|
|
|
|
LEGO MINDSTORMS EV3 is a toy robot produced by the LEGO Group. It is based
|
|
on the davinci da850 evm. The EV3 has a 16MB spi flash and a SDHC microSD card
|
|
reader.
|
|
|
|
Booting
|
|
=======
|
|
|
|
The EV3 contains a bootloader in EEPROM that loads u-boot.bin from address 0x0
|
|
of the spi flash memory. Using the default configuration, u-boot will check to
|
|
see if there is a boot.scr file on the first FAT partition of the mmc. If there
|
|
is, it will run the script and boot the kernel from the uImage file also in
|
|
the FAT partition. Otherwise, it will load a kernel and rootfs from the flash.
|
|
The kernel must be stored at address 0x50000 on the flash and have a maximum
|
|
size of 3MiB. The rootfs must be a squasfs image and stored at 0x350000 in the
|
|
flash and have a maximum size of 9.3MiB. The flash starting at 0xCB0000 is
|
|
reserved for user data.
|
|
|
|
Writing image to flash
|
|
======================
|
|
|
|
The EEPROM contains a program for uploading an image file to the flash memory.
|
|
The program is started by holding down the right button on the EV3 when powering
|
|
it on. You can also `run fwupdateboot` in the u-boot shell to reboot into this
|
|
mode. The image can then be uploaded using the official LEGO MINDSTORMS EV3
|
|
software or a 3rd party program capable of uploading a firmware file.
|
|
|
|
If you are booting from the microSD card, it is enough to just write uboot.bin
|
|
to the flash. If you are not using a microSD card, you will need to create an
|
|
image file using the layout described above.
|