Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Insert SD Card to the board.

  2. Follow the instructions in the Section 5 of https://wiki.st.com/stm32mpu/wiki/STM32MP15_Discovery_kits_-_Starter_Package#Installing_the_STM32CubeProgrammer_tool  to install the STM32CubeProgrammer Tool to your host.

  3. Add STM32_Programmer_CLI to your PATH:

    Code Block
    $ export PATH=$PATH:/bin:
    $ STM32_Programmer_CLI
    [psl@sergmir programmer]$ STM32_Programmer_CLI
          -------------------------------------------------------------------
                            STM32CubeProgrammer v2.7.0                 
          -------------------------------------------------------------------
    
    Usage :
    STM32_Programmer_CLI.exe [command_1] [Arguments_1][[command_2][Arguments_2]...]
    
    ...
  4. Power off the board and select the USB Serial Downloader mode (see in Selecting Boot Device).

  5. Attach the microUSB (for STM32MP1-SOM) cable to connector P5 of the BSB and to the Linux host.

  6. Power on the board, attaching another USB-C cable to connector J10 (for STM32MP1-BSB).

  7. Check that the programming USB port appeared on the host (note the "Device Index" in the output):

    Code Block
          -------------------------------------------------------------------
                            STM32CubeProgrammer v2.7.0                  
          -------------------------------------------------------------------
    
    =====  DFU Interface   =====
    
    Total number of available STM32 device in DFU mode: 1
    
      Device Index           : USB1
      USB Bus Number         : 001
      USB Address Number     : 004
      Product ID             : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
      Serial number          : 003000193338511534383330
      Firmware version       : 0x0110
      Device ID              : 0x0500
    
  8. Download the Emcraft release images from Emcraft site and unpack them into the arbitrary directory. (If you are installing the images built by Yocto, navigate to the 
    builddir/tmp-glibc/deploy/images/stm32mp15-som directory):

    Code Block
    $ ls -l
    total 203344
    -rw-rw-r-- 1 psl psl 208217109 Apr 27 13:52 images-stm32mp15-4.1.0.tar.bz2
    $ tar xfj images-stm32mp15-4.1.0.tar.bz2
    $ ls -l
    total 961696
    drwxr-xr-x 3 psl psl      4096 Apr 16 21:53 arm-trusted-firmware
    drwxr-xr-x 2 psl psl      4096 Apr 16 20:55 bootloader
    -rw-r--r-- 1 psl psl 558419968 Apr 20 20:59 emcraft-rootfs-openstlinux-weston-stm32mp1-som.ext4
    drwxrwxr-x 4 psl psl      4096 Apr 27 14:49 flashlayout_emcraft-rootfs
    -rw-rw-r-- 1 psl psl 208217109 Apr 27 13:52 images-stm32mp1-4.1.0.tar.bz2
    drwxr-xr-x 2 psl psl      4096 Mar  8 20:46 scripts
    -rw-r--r-- 1 psl psl  67108864 Apr 20 20:57 st-image-bootfs-openstlinux-weston-stm32mp15-som.ext4
    -rw-r--r-- 1 psl psl 134217728 Apr 20 18:31 st-image-userfs-openstlinux-weston-stm32mp15-som.ext4
    -rw-r--r-- 1 psl psl  16777216 Apr 20 18:31 st-image-vendorfs-openstlinux-weston-stm32mp15-som.ext4
    $
    
  9. Use the SD card Flash Layout file for programming the images to SD card:

    Code Block
    [psl@sergmir 3.0.0]$ STM32_Programmer_CLI -c port=usb1 -w flashlayout_emcraft-rootfs/optee/FlashLayout_sdcard_stm32mp157d-som-optee.tsv
          -------------------------------------------------------------------
                            STM32CubeProgrammer v2.7.0                  
          -------------------------------------------------------------------
    
    USB speed   : High Speed (480MBit/s)
    Manuf. ID   : STMicroelectronics
    Product ID  : DFU in HS Mode @Device ID /0x500, @Revision ID
    /0x0000
    SN          : 003000193338511534383330
    FW version  : 0x0110
    Device ID   : 0x0500
    Device name : STM32MP1
    Device type : MPU
    Device CPU  : Cortex-A7
    
    Start Embedded Flashing service
    
    Memory Programming ...
    Opening and parsing file: tf-a-stm32mp157d-som-usb.stm32
      File          : tf-a-stm32mp157a-som-usb.stm32
      Size          : 220,40 KB
      Partition ID  : 0x01
    
    Download in Progress:
    [==================================================] 100%
    
    File download complete
    Time elapsed during download operation: 00:00:00.777
    
    RUNNING Program ...
      PartID:      :0x01
    Start operation done successfully at partition 0x01
    
    Flashlayout Programming ...
    [==================================================] 100%
    Running Flashlayout Partition ...
    Flashlayout partition started successfully
    
    Memory Programming ...
    Opening and parsing file: tf-a-stm32mp157d-som-usb.stm32
      File          : fip-stm32mp157a-som-optee.bin
      Size          : 1,29 MB
      Partition ID  : 0x03
    
    
    Download in Progress:
    [==================================================] 100%
    
    File download complete
    Time elapsed during download operation: 00:00:00.418
    ...
    Download in Progress:
    [==================================================] 100%
    
    File download complete
    Time elapsed during download operation: 00:00:51.346
    
    RUNNING Program ...
      PartID:      :0x24
    Start operation done successfully at partition 0x24
    Flashing service completed successfully
    $
    
  10. Disconnect the cables P5 and J10 (for STM32MP1-SOM).

  11. Set the boot mode for booting from SD Card. (Refer to Selecting Boot Device.)

  12. Connect USB-C cable to connector J10 for STM32MP1-BSB, this powers the board on.

  13. Connect to the serial console (see Setting Up the STM32MP1 SOM Starter Kit and see the system booting):

    Code Block
    NOTICE:  CPU: STM32MP157AAA Rev.B
    NOTICE:  Model: Emcraft STM32MP157 SOM rev 1A, https://emcraft.com
    INFO:    Reset reason (0x54):
    INFO:      System reset generated by MPU (MPSYSRST)
    INFO:    FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000
    INFO:    FCONF: Reading firmware configuration information for: stm32mp_io
    INFO:   INFO:    phase ID :3, Manifestation 3 at c7149982
    
  14. Alternatively, a bootable SD Card could be prepared on the host. In the images directory, run the command below:

    Code Block
    $ ./scripts/create_sdcard_from_flashlayout.sh flashlayout_emcraft-rootfs/optee/FlashLayout_sdcard_stm32mp157d-som-optee.tsv
    
    Create Raw empty image: flashlayout_emcraft-rootfs/optee/../../FlashLayout_sdcard_stm32mp157d-som-optee.raw of 5120MB.
    
    Create partition table:
    [CREATED] part 01:      fsbl1 [partition size 256.0 KiB]
    [CREATED] part 02:      fsbl2 [partition size 256.0 KiB]
    [CREATED] part 03:  metadata1 [partition size 256.0 KiB]
    [CREATED] part 04:  metadata2 [partition size 256.0 KiB]
    [CREATED] part 05:      fip-a [partition size 4.0 MiB]
    [CREATED] part 06:      fip-b [partition size 4.0 MiB]
    [CREATED] part 07: u-boot-env [partition size 512.0 KiB]
    [CREATED] part 08:     bootfs [partition size 64.0 MiB]
    [CREATED] part 09:   vendorfs [partition size 16.0 MiB]
    [CREATED] part 10:     rootfs [partition size 4.0 GiB]
    [CREATED] part 11:     userfs [partition size 934.5 MiB]
    
    Partition table from flashlayout_emcraft-rootfs/optee/../../FlashLayout_sdcard_stm32mp157a-som-optee.raw
    Disk flashlayout_emcraft-rootfs/optee/../../FlashLayout_sdcard_stm32mp157a-som-optee.raw: 10485760 sectors, 5.0 GiB
    Sector size (logical): 512 bytes
    Disk identifier (GUID): 84F6502F-7CF8-44AF-9947-83653D9A22D5
    Partition table holds up to 128 entries
    Main partition table begins at sector 2 and ends at sector 33
    First usable sector is 34, last usable sector is 10485726
    Partitions will be aligned on 2-sector boundaries
    Total free space is 0 sectors (0 bytes)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
       1              34             545   256.0 KiB   8301  fsbl1
       2             546            1057   256.0 KiB   8301  fsbl2
       3            1058            1569   256.0 KiB   FFFF  metadata1
       4            1570            2081   256.0 KiB   FFFF  metadata2
       5            2082           10273   4.0 MiB     FFFF  fip-a
       6           10274           18465   4.0 MiB     FFFF  fip-b
       7           18466           19489   512.0 KiB   B000  u-boot-env
       8           19490          150561   64.0 MiB    8300  bootfs
       9          150562          183329   16.0 MiB    8300  vendorfs
      10          183330         8571937   4.0 GiB     8300  rootfs
      11         8571938        10485726   934.5 MiB   8300  userfs
    
    Partition GUID code: 19D5DF83-11B0-457B-BE2C-7559C13142A5 (Unknown)
    Partition unique GUID: 4FD84C93-54EF-463F-A7EF-AE25FF887087
    First sector: 2082 (at 1.0 MiB)
    Last sector: 10273 (at 5.0 MiB)
    Partition size: 8192 sectors (4.0 MiB)
    Attribute flags: 0000000000000000
    Partition name: 'fip-a'
    
    Partition GUID code: 19D5DF83-11B0-457B-BE2C-7559C13142A5 (Unknown)
    Partition unique GUID: 09C54952-D5BF-45AF-ACEE-335303766FB3
    First sector: 10274 (at 5.0 MiB)
    Last sector: 18465 (at 9.0 MiB)
    Partition size: 8192 sectors (4.0 MiB)
    Attribute flags: 0000000000000000
    Partition name: 'fip-b'
    
    Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem)
    Partition unique GUID: E91C4E10-16E6-4C0E-BD0E-77BECF4A3582
    First sector: 183330 (at 89.5 MiB)
    Last sector: 8571937 (at 4.1 GiB)
    Partition size: 8388608 sectors (4.0 GiB)
    Attribute flags: 0000000000000000
    Partition name: 'rootfs'
    
    Populate raw image with image content:
    [ FILLED ] part 01:      fsbl1, image: arm-trusted-firmware/tf-a-stm32mp157d-som-sdcard.stm32
    [ FILLED ] part 02:      fsbl2, image: arm-trusted-firmware/tf-a-stm32mp157d-som-sdcard.stm32
    [ FILLED ] part 03:  metadata1, image: arm-trusted-firmware/metadata.bin
    [ FILLED ] part 04:  metadata2, image: arm-trusted-firmware/metadata.bin
    [ FILLED ] part 05:      fip-a, image: fip/fip-stm32mp157d-som-optee.bin
    [ FILLED ] part 08:     bootfs, image: st-image-bootfs-openstlinux-weston-stm32mp15-som.ext4
    [ FILLED ] part 09:   vendorfs, image: st-image-vendorfs-openstlinux-weston-stm32mp15-som.ext4
    [ FILLED ] part 10:     rootfs, image: emcraft-rootfs-openstlinux-weston-stm32mp15-som.ext4
    [ FILLED ] part 11:     userfs, image: st-image-userfs-openstlinux-weston-stm32mp15-som.ext4
    
    ###########################################################################
    ###########################################################################
    
    RAW IMAGE generated: flashlayout_emcraft-rootfs/optee/../../FlashLayout_sdcard_stm32mp157d-som-optee.raw
    
    WARNING: before to use the command dd, please umount all the partitions
        associated to SDCARD.
        sudo umount `lsblk --list | grep mmcblk0 | grep part | gawk '{ print $7 }' | tr '\n' ' '`
    
    To put this raw image on sdcard:
        sudo dd if=flashlayout_emcraft-rootfs/optee/../../FlashLayout_sdcard_stm32mp157a-som-optee.raw of=/dev/mmcblk0 bs=8M conv=fdatasync status=progress
    
    (mmcblk0 can be replaced by:
         sdX if it's a device dedicated to receive the raw image
              (where X can be a, b, c, d, e)
    
    
    To mount bootfs partition:
         udisksctl mount -b /dev/disk/by-partlabel/bootfs
    
    After the dd command you can verify if copy are correctly done and partitions take into account
         sgdisk /dev/mmcblk0 -p
         sgdisk /dev/mmcblk0 -v
    if '-v' command indicate a problem, please execute the following command:
         sgdisk /dev/mmcblk0 -e
    
    ###########################################################################
    ###########################################################################
    [psl@sergmir 3.0.0]$
    
  15. Insert SD Card to the host and the run command above to program:

    Code Block
    $ sudo dd if=flashlayout_emcraft-rootfs/optee/../../FlashLayout_sdcard_stm32mp157d-som-optee.raw of=/dev/ bs=8M conv=fdatasync status=progress
    ...

...