Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Use the procedure documented below to install the U-Boot firmware, Linux kernel and filesystem images to an SD Card the STM32MP1 module will be bootable from. Having completed the installation, the STM32MP1 SOM will boot to Linux from the SD Card on next reset / power on.

Please note that the installation will erase files previously installed on your SD Card. The SD Card size should be at least 5GB for the Linux kernel and filesystem images to fit on the card.

Here is the procedure:

  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:

    $ 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 miniUSB (for SOM-BSB) or microUSB (for STM32MP1-SOM) cable to connector P5 of the BSB and to the Linux host.

  6. Power on the board, attaching another miniUSB cable to connector P3 (for SOM-BSB) or 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):

          -------------------------------------------------------------------
                            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):

    $ 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:

    [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 from P5 and P3 (for SOM-BSB) or P5 and J10 (for STM32MP1-SOM).

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

  12. For SOM-BSB, connect with a wire JP3.1 and JP2 (any pin) on the baseboard. This will provide initial 3.3V power to SD Card.

  13. Connect miniUBS to P3 (for SOM-BSB) or USB-C cable to connector J10 (for STM32MP1-BSB), this powers the board on.

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

    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
    
  15. Alternatively, a bootable SD Card could be prepared on the host. In the images directory, run the command below:

    $ ./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]$
    
  16. Insert SD Card to the host and the run command above to program:

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

  • No labels