| Summary | 
 | ======= | 
 | The README is for the boot procedure used for various DA850 (or compatible | 
 | parts such as the AM1808) based boards. | 
 |  | 
 | In the context of U-Boot, the board is booted in three stages. The initial | 
 | bootloader which executes upon reset is the ROM Boot Loader (RBL) and sits | 
 | in the internal ROM. The RBL initializes the internal memory and then | 
 | depending on the exact board and pin configurations will initialize another | 
 | controller (such as SPI or NAND) to continue the boot process by loading | 
 | the secondary program loader (SPL).  The SPL will initialize the system | 
 | further (some clocks, SDRAM) and then load the full u-boot from a | 
 | predefined location in persistent storage to DDR and jumps to the u-boot | 
 | entry point. | 
 |  | 
 | AIS is an image format defined by TI for the images that are to be loaded | 
 | to memory by the RBL. The image is divided into a series of sections and | 
 | the image's entry point is specified. Each section comes with meta data | 
 | like the target address the section is to be copied to and the size of the | 
 | section, which is used by the RBL to load the image. At the end of the | 
 | image the RBL jumps to the image entry point.  The AIS format allows for | 
 | other things such as programming the clocks and SDRAM if the header is | 
 | programmed for it.  We do not take advantage of this and instead use SPL as | 
 | it allows for additional flexibility (run-time detect of board revision, | 
 | loading the next image from a different media, etc). | 
 |  | 
 |  | 
 | Compilation | 
 | =========== | 
 | The exact build target you need will depend on the board you have.  For | 
 | Logic PD boards, or other boards which store the ethernet MAC address at | 
 | the end of SPI flash, run 'make da850evm'.  For boards which store the | 
 | ethernet MAC address in the i2c EEPROM located at 0x50, run | 
 | 'make da850_am18xxevm'.  Once this build completes you will have a | 
 | u-boot.ais file that needs to be written to the correct persistent | 
 | storage. | 
 |  | 
 |  | 
 | Flashing the images to SPI | 
 | ========================== | 
 | The AIS image can be written to SPI flash using the following commands. | 
 | Assuming that the network is configured and enabled and the u-boot.ais file | 
 | is tftp'able. | 
 |  | 
 | U-Boot > sf probe 0 | 
 | U-Boot > sf erase 0 +320000 | 
 | U-Boot > tftp u-boot.ais | 
 | U-Boot > sf write c0700000 0 $filesize | 
 |  | 
 |  | 
 | Recovery | 
 | ======== | 
 |  | 
 | In the case of a "bricked" board, you need to use the TI tools found | 
 | here[1] to write the u-boot.ais file.  An example of recovering to the SPI | 
 | flash of an AM1808 would be: | 
 |  | 
 | $ mono sfh_OMAP-L138.exe -targetType AM1808 -p /dev/ttyUSB0 \ | 
 | 	-flash_noubl /path/to/u-boot.ais | 
 |  | 
 | For other target types and flash locations: | 
 |  | 
 | $ mono sfh_OMAP-L138.exe -h | 
 |  | 
 | Links | 
 | ===== | 
 | [1] | 
 |  http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138 |