1*2ac07f75SDavid LechnerSummary 2*2ac07f75SDavid Lechner======= 3*2ac07f75SDavid Lechner 4*2ac07f75SDavid LechnerLEGO MINDSTORMS EV3 is a toy robot produced by the LEGO Group. It is based 5*2ac07f75SDavid Lechneron the davinci da850 evm. The EV3 has a 16MB spi flash and a SDHC microSD card 6*2ac07f75SDavid Lechnerreader. 7*2ac07f75SDavid Lechner 8*2ac07f75SDavid LechnerBooting 9*2ac07f75SDavid Lechner======= 10*2ac07f75SDavid Lechner 11*2ac07f75SDavid LechnerThe EV3 contains a bootloader in EEPROM that loads u-boot.bin from address 0x0 12*2ac07f75SDavid Lechnerof the spi flash memory. Using the default configuration, u-boot will check to 13*2ac07f75SDavid Lechnersee if there is a boot.scr file on the first FAT partition of the mmc. If there 14*2ac07f75SDavid Lechneris, it will run the script and boot the kernel from the uImage file also in 15*2ac07f75SDavid Lechnerthe FAT partition. Otherwise, it will load a kernel and rootfs from the flash. 16*2ac07f75SDavid LechnerThe kernel must be stored at address 0x50000 on the flash and have a maximum 17*2ac07f75SDavid Lechnersize of 3MiB. The rootfs must be a squasfs image and stored at 0x350000 in the 18*2ac07f75SDavid Lechnerflash and have a maximum size of 9.3MiB. The flash starting at 0xCB0000 is 19*2ac07f75SDavid Lechnerreserved for user data. 20*2ac07f75SDavid Lechner 21*2ac07f75SDavid LechnerWriting image to flash 22*2ac07f75SDavid Lechner====================== 23*2ac07f75SDavid Lechner 24*2ac07f75SDavid LechnerThe EEPROM contains a program for uploading an image file to the flash memory. 25*2ac07f75SDavid LechnerThe program is started by holding down the right button on the EV3 when powering 26*2ac07f75SDavid Lechnerit on. You can also `run fwupdateboot` in the u-boot shell to reboot into this 27*2ac07f75SDavid Lechnermode. The image can then be uploaded using the official LEGO MINDSTORMS EV3 28*2ac07f75SDavid Lechnersoftware or a 3rd party program capable of uploading a firmware file. 29*2ac07f75SDavid Lechner 30*2ac07f75SDavid LechnerIf you are booting from the microSD card, it is enough to just write uboot.bin 31*2ac07f75SDavid Lechnerto the flash. If you are not using a microSD card, you will need to create an 32*2ac07f75SDavid Lechnerimage file using the layout described above. 33