cancel
Showing results for 
Search instead for 
Did you mean: 

tsv files are not uploaded to emmc due to fsbl. How to create a new fsbl file? (not STM32MP157C-EV1)

PYOON.1
Associate

Hello, I ask for your help.

My problem is I have my own custom board, I don't know how to make fsbl binary.

I have a evaluation board, STM32MP157C-EV1.

I did a Distribution package by Yocto System.

The FlashLayout_emmc_stm32mp157c-ev1-optee.tsv file was created and I uploaded it to EMMC.

Of course, I used that program 'STM32CubeProgrammer'.

Here is the link I referenced:

https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-EV1/Let%27s_start/Populate_the_target_and_boot_the_image

https://wiki.st.com/stm32mpu/index.php/STM32MP1_Distribution_Package

Here is the manifestation I used:

DISTRO=openstlinux-eglfs MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh

bitbake st-example-image-qt

The result is successful, STM32MP157C-EV1.

But, The problem is custom board. AP is the same. STM32MP157AAA3.

TSV Files using the STM32CubeProgrammer program cannot be uploaded to custom board.

custom board's device tree created by CubeMX. But the problem is fsbl.

I need to build a new fsbl binary file. However, I don't know how to build it.

I don't know where the manual or method is. Please help me with this.

#Opt   Id   Name   Type   IP   Offset   Binary

-   0x01   fsbl1-boot   Binary   none   0x0   tf-a-stm32mp157c-ev1-trusted.stm32

-   0x03   ssbl-boot   Binary   none   0x0   u-boot-stm32mp157c-ev1-optee.stm32

P   0x04   fsbl1   Binary   mmc1   boot1   tf-a-stm32mp157c-ev1-optee.stm32

P   0x05   fsbl2   Binary   mmc1   boot2   tf-a-stm32mp157c-ev1-optee.stm32

P   0x06   ssbl   Binary   mmc1   0x00080000   u-boot-stm32mp157c-ev1-optee.stm32

P   0x0A   teeh   Binary   mmc1   0x00280000   tee-header_v2-stm32mp157c-ev1-optee.stm32

P   0x0B   teed   Binary   mmc1   0x00300000   tee-pageable_v2-stm32mp157c-ev1-optee.stm32

P   0x0C   teex   Binary   mmc1   0x00380000   tee-pager_v2-stm32mp157c-ev1-optee.stm32

P   0x21   bootfs   System   mmc1   0x00400000   st-image-bootfs-openstlinux-eglfs-stm32mp1.ext4

P   0x22   vendorfs   FileSystem   mmc1   0x04400000   st-image-vendorfs-openstlinux-eglfs-stm32mp1.ext4

P   0x23   rootfs   FileSystem   mmc1   0x05400000   st-example-image-qt-openstlinux-eglfs-stm32mp1.ext4

P   0x24   userfs   FileSystem   mmc1   0xC5400000   st-image-userfs-openstlinux-eglfs-stm32mp1.ext4

To summarize, tsv files are not uploaded to emmc due to fsbl.

2 REPLIES 2
Olivier GALLIEN
ST Employee

Hi @PYOON.1​ 

Indeed you cannot used tsv and all binaries generated for EV1 to your custom board.

There is many other parameter than AP which impact boot sequence and so, require to adapt it.

For custom board project CubeMX generate only partially the DeviceTree which need to be completed manually.

TF-A one require particular attention to fit your board design.

As a starting point you can refer to :

https://wiki.st.com/stm32mpu/wiki/How_to_create_your_board_device_tree

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
PatrickF
ST Employee

Hello,

Maybe out of this discussion (as I understood you have not yet successfully programmed the eMMC), but maybe worth to check which eMMC reference are you using ?

There is a know bug on STM32MP15x silicon Rev.B booting from eMMC which avoid some reference to boot correctly, this is solved in Rev.Z silicon revision.

Meanwhile, as an indication, Toshiba THGBMNG5D1LBAIL, THGBMDG5D1LBAIL, and Kingston EMMC04G-M627-X03U have shown to operate correctly on the STM32MP157C-EV1 board which are still using Rev.B silicon.

Rev.Z is in production now (there could still be some Rev.B in stock at distributors, so you should ask before placing order).

See ES0438: STM32MP151x/3x/7x device limitations

Regards

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.