Texas Instruments AM64x SKEVM

Building

When building the Cortex R5 U-Boot, all variants are built:

  • hs-fs (High Security/Field Securable), also known as SK-AM64B: This is a SoC/board state before a customer has blown the keys in the device, i.e., the state at which the HS device leaves TI factory. The device protects the ROM code, TI keys and certain security peripherals. In this state, devices do not force authentication for booting, however DMSC is locked.
  • hs (High Security/Security Enforced), also known as SK-AM64B: This is a SoC/board state after successfully blowning the keys and set “customer keys enable”. In HS-SE device all security features are enabled. All secrets within the device are fully protected and all of the security goals are fully enforced. The device also enforces secure booting.
  • gp (General Purpose), also known as SK-AM64: This is a SoC/board state with no device protection and authentication is not enabled for booting the device.

The default variant is hs-fs. To boot an image on other variants without pre-flash files manipulations on the target file-system, we need to change the SYSFW_SUFFIX variable. The following changes the default to gp, so that the image produced boots that variant:

echo 'SYSFW_SUFFIX:am64xx-evm-k3r5 = "gp"' >> meta-subscriber-overrides/conf/machine/include/lmp-factory-custom.inc

Preparation

Important

Ensure you replace <factory> with the name of your Factory.

  1. Download the necessary files from https://app.foundries.io/factories/<factory>/targets:

    1. Click the latest Target with the platform trigger.
    2. Expand the run in the Runs section which corresponds with the name of the board. Download the Factory image for that machine, e.g., lmp-factory-image-<machine-name>.wic.gz or lmp-base-console-image-<machine-name>.wic.gz.
  1. Extract the file:

    gunzip lmp-factory-image-am64xx-evm.wic.gz
    

Hardware Preparation

Set up the board for booting from MMC1–SDCard:

  1. Ensure that the power is off (remove cable from J8):
../../_images/am64xx-sk-top.png

Fig. 76 AM64xx-sk top view

  1. Put the am64xx-sk into boot from SDCard Mode:
../../_images/am64xx-sk-switches.png

Fig. 77 Switch settings

Flashing

Flash lmp-factory-image-am64xx-evm.wic.gz to an SD Card. This contains the bootable system image.

  1. Determine which disk to flash by finding the device with the SIZE that matches that of your flash drive. Ignore partitions (indicated by part under TYPE). Note the NAME of the flash drive (e.g., /dev/mmcblk0, /dev/sdb), as it will be used for the disk path:

    lsblk -po +MODEL
    
    $ lsblk -po +MODEL
    NAME             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT                 MODEL
    /dev/mmcblk0     179:0    0  29.8G  0 disk
    ├─/dev/mmcblk0p1 179:1    0  41.6M  0 part /mnt/boot
    └─/dev/mmcblk0p2 179:2    0  29.8G  0 part /mnt/otaroot
    /dev/zram0       254:0    0    26G  0 disk /out
    /dev/nvme0n1     259:0    0 953.9G  0 disk                            SSDPEKKF010T8 NVMe INTEL 1024GB
    
  2. Flash the disk.

    Replace <system-image> with the path to your system image.
    Replace /dev/mmcblk<X> with your chosen disk path.
gunzip -c <system-image> | sudo dd of=/dev/mmcblk<X> bs=4M iflag=fullblock oflag=direct status=progress
  1. Remove the flash drive and connect it to the board.
  2. Power on the board to boot the new image.
../../_images/am64xx-sk-bottom.png

Fig. 78 SDCard location