README 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. Building SPL/U-Boot for xea board
  2. =================================
  3. Setup environment, configure and build, e.g. by:
  4. $ make imx28_xea_defconfig
  5. $ make -j4 u-boot.sb u-boot.img
  6. Now you should see u-boot.sb and u-boot.img files in the build directory.
  7. Booting
  8. =======
  9. The boot ROM loads SPL from SPI NOR flash into SRAM. SPL configures
  10. DRAM and loads either a Linux kernel (falcon mode) or, if the rescue
  11. pin is asserted, the main U-Boot. Both kernel and U-Boot reside in
  12. eMMC boot partition 0. For redundancy, a copy of U-Boot is also
  13. stored in SPI flash. If a valid kernel image is not found, U-Boot is
  14. loaded from eMMC or, if this fails, SPI flash.
  15. Boot area layout
  16. ----------------
  17. SPI NOR
  18. Offset Function File
  19. ------------------------------------------
  20. 0x00000000 SPL u-boot.sb
  21. 0x00010000 U-Boot u-boot.img
  22. 0x00080000 Environment
  23. eMMC
  24. Offset Function File
  25. ------------------------------------------
  26. 0x00000000 U-Boot u-boot.img
  27. 0x00080000 Devicetree imx28-bttc.dtb
  28. 0x00100000 Kernel uImage
  29. Falcon mode
  30. ===========
  31. In falcon mode, the default, SPL loads the kernel and devicetree
  32. directly. For this to work, the stored devicetree must include
  33. correct "memory" and "chosen" nodes as these are not updated by SPL
  34. before booting the kernel.
  35. Updating from U-Boot
  36. ====================
  37. The default U-Boot environment includes command sequences to update
  38. SPL, U-Boot, and kernel over TFTP. These are as follows:
  39. - update_spl: writes u-boot.sb to SPI NOR
  40. - update_uboot: writes u-boot.img to eMMC and SPI NOR
  41. - update_kernel: writes kernel and devicetree to eMMC
  42. They can be invoked at the U-Boot prompt using the "run" command,
  43. e.g. "run update_spl" to update the SPL.
  44. These update commands download the above-named files from the
  45. ${hostname} directory on the server provided by DHCP.