| 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. |