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