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

Running Ethernet Examples

Ethernet boot is a slave boot mode that requires the host to pass the blob boot image to the target running a DHCP server. Connect the ethernet cable to the host and your switch, and connect another cable from you switch to the EVM. Make sure you do not run this in a high network traffic environment. In order to run the DHCP server on the host Windows machine, use an open source TFTP32 utility in admin mode and configure our host to a static IP expected by the target.

  • Location of Boot image binaries:
    • examples/<k2 device>/eth/singleStage/bin/ethImage.dat
    • examples/<k2 device>/eth/multiStage/bin/uartStage1.dat
    • examples/<k2 device>/eth/multiStage/bin/ethernetStage2.dat
  • TFTP host utility download:
  • Setting up the host for ethernet boot:
    1. Setup Static IP on the host machine by setting the IPv4 setting of the Wired LAN settings. Set the Static IP to 192.168.5.10 as shown in Figure 5.
    2. Setting_static_IP.gifSetting_static_IP_2.gifFigure 5. Static IP Configuration on Host PC
    3. Configure the DHCP Server settings in the TFTP32 utility as shown in Figure 6.
    4. TFTPd32.gifFigure 6. TFTP Transfer Configuration for Ethernet Boot

Fixing the issue with BMC firmware and boot switches to boot Arm over ethernet on K2H EVM.

Some earlier revisions of the EVM have an issue with the settings required for setting up the EVM for ethernet boot.

In order to fix the issue, follow the steps below:

  1. Connect your host to the serial port and connect to both the BMC console port and the Serial port. Using the settings described in the serial port setup section of the wiki.
  2. Setup the boot switches to Ethernet boot(p[1:4]=0101) using the settings described in Section 8.4.1.
  3. Power on the EVM. You should see the Arm ENET boot mode on the LCD screen in the logs displayed along with BOOT COMPLETE.
  4. On the BMC port, type the following:
  5. >bootmode #8 0 115EEB >bootmode #8 >reboot

    Or

    > setboot 115EEB >fullrst
  • Running and verifying the Ethernet single stage boot on the K2H devices:
    1. Copy the Ethernet single stage boot image to the TFTP32 folder and rename the file to eth_data.bin.
    2. Power on the EVM, set the ethernet boot in BMC firmware; when the device reboots, make sure the tftpd32 utitlity is running and configured as described in the previous section. When EVM boots in ethernet boot mode, it will send a bootp. If you do not see uboot come up on the Serial port, check if you are able to see bootp packet by using Wireshark utility.
    3. After the BOOTP is received, you will see the transfer of the ethernet boot image and the UART messages when the boot completes:
    4. Core 0 standing by.... Core 1 standing by.... Core 2 standing by.... Core 3 standing by....
  • Running and verifying the Ethernet mutli stage boot: on K2H/K2E devices:
  • The Ethernet multi-stage example runs the first stage over UART or I2C and then re-enters the boot to load the second stage over ethernet.

  • Load the first stage over UART:
    1. Set the boot switches of the EVM to UART boot.
    2. Connect the serial cable from the EVM to the host and launch hyperterminal or Tera term and configure the serial terminal connection to 115200 bps.
    3. Run the TFTP32 utility and power on the EVM.
    4. After the UART first stage boots, the device switches to ethernet boot and loads the second stage over Ethernet.
  • The Ethernet multi-stage example runs the first stage over UART or I2C and then re-enters boot to load the second stage over ethernet.

    NOTE

    On K2E EVM, connect the ethernet cable to the top port of the ethernet switch. On K2H the device can boot first stage from either port 1 or port 2.

  • Load the first stage over I2C:
    1. Set the boot switches of the EVM to No boot.
    2. Copy the second stage image to the TFTP32 utility folder and rename it to eth_data. Run the TFTP32 utility using admin privileges as described in the single stage boot section.
    3. Use the I2C EEPROM writer from MCSDK 3.x as described in the I2C boot example to flash the first stage to the EEPROM.
    4. After you have flashed the image, switch the boot switches to I2C boot. Before you power on the EVM, ensure the TFTP32 utility is running with the second stage copied over.
  • NOTE

    On K2E EVM, connect the ethernet cable to the top port of the ethernet switch. On K2H the device can boot first stage from either port 1 or port 2.