Forum: Mikrocontroller und Digitale Elektronik STM32MP257: Firmware von Flash booten?


von Willi W. (willi_w571)


Lesenswert?

Hi,

laut Handbuch und laut den auf dem Evaluation-Board für den STM32MP257F 
vorhandenen Switches gibt es die Möglichkeit, diesen vom eMMC booten zu 
lassen. Ich vermute mal, dass man dazu das eMMC oder Teile davon in 
irgendwie formatieren muss um von dort einen Bootloader starten zu 
können, der dann alles weitere übernimmt.

Allein: ich kann nicht finden, wie das genau geht. Daher meine Frage: 
was muss ich mit einem an den STM32MP257F angebundenen eMMC machen, dass 
ich meine Software von dort aus laden/starten kann?

Danke!

von Norbert (nowie)


Lesenswert?

Ich boote von SD-Karte ins Linux und flashe dann die emmc-Partitionen 
wie folgt (beschrieben bis u-boot):

BL2 (bei mir tf-a-stm32mp257f-ev1-optee-emmc.stm32) wird nach 
mmcblk1boot0 und mmcblk1boot1 geflasht.

(1) Schreibschutz aufheben an den beiden boot Partitionen:
echo 0 > /sys/block/mmcblk1boot0/force_ro
echo 0 > /sys/block/mmcblk1boot1/force_ro

(2) Flash BL2:
dd if=tf-a-stm32mp257f-ev1-optee-emmc.stm32 of=/dev/mmcblk1boot0 
conv=fdatasync
(gleiches Kommando nach /dev/mmcblk1boot1)

(3) Aktiviere boot0 Partition:
mmc bootpart enable 1 1 /dev/mmcblk1

Damit läuft BL2 schon hoch, ggfls. müssen noch die beiden 
metadata-Partitionen (/dev/mmcblk1p1 und ..p2)  mit metadata.bin 
geflasht werden. Ich habe BL2 mit PSA_FWU_SUPPORT=0 kompiliert, dann 
entfällt das.

(4) Flashen von BL33 (u-boot) in die FIP-Partition:
dd if=fip-stm32mp257f-ev1-optee-emmc.bin  of=/dev/mmcblk1p3 
conv=fdatasync
(gleiches Kommando nach /dev/mmcblk1p4)

(5) Prüfe den Partitionstyp der beiden FIP-Partitionen auf mmcblk1p1, 
muss "19D5DF83-11B0-457B-BE2C-7559C13142A5 
4FD84C93-54EF-463F-A7EF-AE25FF887087" (FIP_TYPE) sein. ggfls mit fdisk 
umstellen.

Damit sollte u-boot starten

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.