Repository
On this page
Un documento utile per orientarsi nella repository https://github.com/STMicroelectronics/arm-trusted-firmware/blob/v2.10-stm32mp/docs/porting-guide.rst
In ‘include/export’ sono contenuti gli header che le piattaforme possono utilizzare per ottenere i valori di default di variabili presenti nel TFA
FIP contents
Generalmente gli ID delle immagini contenute nel FIP sono definiti in include/export/common/tbbr/tbbr_img_def_exp.h
quindi per la nostra repo https://github.com/STMicroelectronics/arm-trusted-firmware/blob/v2.10-stm32mp/include/export/common/tbbr/tbbr_img_def_exp.h
TBBR (Trusted Board Boot Root)
come descritto nella porting-guide, questo header richiede la creazione di un wrapper header. Possiamo trovare questo wrapper in plat/st/stm32mp2/include/plat_tbbr_img_def.h
quindi per la nostra repo https://github.com/STMicroelectronics/arm-trusted-firmware/blob/v2.10-stm32mp/plat/st/stm32mp2/include/plat_tbbr_img_def.h
In questo notiamo che per molte variabili viene fatto “unset” e poi vengono ridefinite
// from
// tbbr_img_def_exp.h
/* FW_CONFIG */
#define FW_CONFIG_ID U(32)// from
// plat_tbbr_img_def.h
/* Undef the existing values */
#undef FW_CONFIG_ID
/* .... */
/* Define the STM32MP2 used ID */
#define FW_CONFIG_ID U(1)il codice TFA contiene un ulteriore header include/common/tbbr/plat_tbbr_img_def.h in cui viene incluso “tbbr_img_def_exp.h” oppure “plat_tbbr_img_def.h” a seconda delle presenza o meno di bohhh
// from
// plat_tbbr_img_def.h
#include <export/common/tbbr/tbbr_img_def_exp.h>
/* .... */
#ifdef PLAT_TBBR_IMG_DEF
#include <plat_tbbr_img_def.h>
#endiftroviamo inoltre un header prettamente specifico per stm, in cui vengono indicati parametri necessari alla piattaforma e indipendenti da eventuale codice del TFA, come ad esempio le compatible-string che saranno poi utilizzate nel DT, oppure l’inclusione di driver headers e bindings. https://github.com/STMicroelectronics/arm-trusted-firmware/blob/v2.10-stm32mp/plat/st/stm32mp2/stm32mp2_def.h