SPRACN3 September   2019 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , 66AK2L06 , AM5K2E02 , AM5K2E04

 

  1.   Using ARM ROM Bootloader on Keystone II Devices
    1.     Trademarks
    2. Keystone2 Boot loader Overview
    3. Boot Examples Package Download
    4. Software Dependencies
    5. Supported Hardware
    6. Software Features
    7. Directory Structure
    8. Building the Examples
    9. Description of the Examples
      1. 8.1 Single Stage Boot Examples
      2. 8.2 Multi-Stage Boot Example
      3. 8.3 Boot Media-Specific Details
        1. 8.3.1 SPI Boot Example
        2. 8.3.2 I2C Boot Examples
        3. 8.3.3 NAND Examples
        4. 8.3.4 UART Boot Examples
        5. 8.3.5 Ethernet boot examples
        6. 8.3.6 K2E Ethernet Boot Errata Workaround
      4. 8.4 Flashing and Running Boot Examples
        1. 8.4.1 Dip Switch Settings
        2. 8.4.2 Running I2C EEPROM example
        3. 8.4.3 Running SPI NOR Example
        4. 8.4.4 Running NAND Example
        5. 8.4.5 Running UART Example
        6. 8.4.6 Running Ethernet Examples
    10. Boot Utilities
    11. 10 Frequently Asked Questions (FAQ)
    12. 11 References

Directory Structure

Figure 1 shows the directory structure for the software package. The examples directory is organized to follow the convention.

Boot-examples_dir_struct.gifFigure 1. Boot Example Directory Structure
Device Name (k2h, k2e) ---> Boot Mode (eth, i2c,nand,spi, uart) ---> Example Type (singleStage, multiStage).

Detailed description of the directory structure is given below:

  • docs - directory contains ReadMe documents and the software manifest for the package.
  • common - directory contains source and header files for helper functions that are used by the examples to configure MMU, CACHE, PLLs, UART and to set user defined entry point for their applications.
  • include - directory contains all boot header files that applies to all the devices in the Keystone family.
  • examples - directory contains source for single stage and multi stage boot examples for different boot modes.
    • k2e - directory contains boot examples for K2E devices.
      • build - directory contains linker command files that specify the memory configuration for each examples
      • cfg - directory contains header files that contain ddr configuration tables, boot parameter tables for different boot modes and tiboot.h file defined in the BootROM.
      • [peripheral] - directory contains boot example code for each peripheral (eth, i2c,nand,spi, uart)
        • [example type] - directory contains single stage/mulitstage example binaries.
      • uboot - directory contains build files required to create uboot binaries for different boot media.
    • k2h - directory contains boot examples for K2H devices.
      • build - directory contains linker command files that specify the memory configuration for each examples
      • cfg - directory contains header files that contain ddr configuration tables, boot parameter tables for different boot modes and tiboot.h file defined in the BootROM.
      • [peripheral] - directory contains boot example code for each peripheral (eth, i2c,nand,spi, uart)
        • [example type] - directory contains single stage/multi-stage example binaries.
      • uboot - directory contains build files required to create uboot binaries for different boot media.
    • src - directory contains source for sample applications that demonstrate single stage and multistage booting.
      • singleStage: directory contains source files for Single stage boot example
      • mulitStage: directory contains source files for two stage boot example
  • utils - directory contains the utilities for building boot images
    • byteswap : directory contains the source and binaries for byteswapccs utility.
    • btoccs : directory contains source and binaries for b2ccs,catccs, ccs2bin utilities
    • ccsutil: directory contains source and binaries for ccsAddGphdr,ccsAddGptlr,ccspad utilities

Source files:

  • Stage1.c
  • Stage2.c

Configuration files:

  • paramTables.h Boot Parameter table used for multi Stage boot examples are provided in this file.
  • ddrConfigTable.h: DDR configuration table used in examples initialize are provided in this file.
  • tiboot.h: BootROM header file that contains details of boot parameter structures, configuration tables and BOOTROM call table.