2020-05-11 09:43 PM
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/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.
2020-05-12 12:01 AM
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
2020-05-12 08:20 AM
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