David Lechner | a67f16f | 2016-02-26 00:46:07 -0600 | [diff] [blame] | 1 | Summary |
| 2 | ======= |
| 3 | |
| 4 | LEGO MINDSTORMS EV3 is a toy robot produced by the LEGO Group. It is based |
| 5 | on the davinci da850 evm. The EV3 has a 16MB spi flash and a SDHC microSD card |
| 6 | reader. |
| 7 | |
| 8 | Booting |
| 9 | ======= |
| 10 | |
| 11 | The EV3 contains a bootloader in EEPROM that loads u-boot.bin from address 0x0 |
| 12 | of the spi flash memory. Using the default configuration, u-boot will check to |
| 13 | see if there is a boot.scr file on the first FAT partition of the mmc. If there |
| 14 | is, it will run the script and boot the kernel from the uImage file also in |
| 15 | the FAT partition. Otherwise, it will load a kernel and rootfs from the flash. |
| 16 | The kernel must be stored at address 0x50000 on the flash and have a maximum |
| 17 | size of 3MiB. The rootfs must be a squasfs image and stored at 0x350000 in the |
| 18 | flash and have a maximum size of 9.3MiB. The flash starting at 0xCB0000 is |
| 19 | reserved for user data. |
| 20 | |
| 21 | Writing image to flash |
| 22 | ====================== |
| 23 | |
| 24 | The EEPROM contains a program for uploading an image file to the flash memory. |
| 25 | The program is started by holding down the right button on the EV3 when powering |
| 26 | it on. You can also `run fwupdateboot` in the u-boot shell to reboot into this |
| 27 | mode. The image can then be uploaded using the official LEGO MINDSTORMS EV3 |
| 28 | software or a 3rd party program capable of uploading a firmware file. |
| 29 | |
| 30 | If you are booting from the microSD card, it is enough to just write uboot.bin |
| 31 | to the flash. If you are not using a microSD card, you will need to create an |
| 32 | image file using the layout described above. |