Registered User mNo edit summary |
Registered User mNo edit summary Tag: 2017 source edit |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
It is loaded by BL2 in internal [[SYSRAM_internal_memory|SYSRAM]].<br> | It is loaded by BL2 in internal [[SYSRAM_internal_memory|SYSRAM]].<br> | ||
More information can be found in TF-A documentation AArch64 BL31 chapter<ref> {{DocSource | domain=TF-A | path=design/firmware-design.html#aarch64-bl31 | text=TF-A documentation AArch64 BL31 chapter}}</ref> | More information can be found in TF-A documentation, AArch64 BL31 chapter<ref> {{DocSource | domain=TF-A | path=design/firmware-design.html#aarch64-bl31 | text=TF-A documentation AArch64 BL31 chapter}}</ref>. | ||
== BL31 binary file == | == BL31 binary file == | ||
The BL31 binary file (bl31.bin) is | The BL31 binary file (bl31.bin) is located inside the [[TF-A_BL2_overview#FIP|FIP]]. | ||
== Device tree == | == Device tree == | ||
TF-A BL31 is based on device tree configuration. It uses the same device tree as the kernel but keeping only the mandatory nodes | TF-A BL31 is based on device tree configuration. It uses the same device tree as the kernel but keeping only the mandatory nodes (to reduce binary size) through the use of a dedicated device tree file (such as {{CodeSource | TF-A | fdts/stm32mp25-bl31.dtsi}}). | ||
It must be configured or updated depending on your platform.<br> | It must be configured or updated depending on your platform.<br> | ||
The BL31 device tree blob file is | The BL31 device tree blob file is located inside the [[TF-A_BL2_overview#FIP|FIP]]. | ||
== Build | == Build process == | ||
BL31 is compiled together with BL2 with the same make command, see [[How_to_configure_TF-A_BL2|How to configure TF-A BL2]] | BL31 is compiled together with BL2 with the same make command, see [[How_to_configure_TF-A_BL2|How to configure TF-A BL2]]. | ||
Then BL31 binary file and BL31 device tree are integrated in a [[How to configure TF-A FIP|FIP binary]] | Then the BL31 binary file and BL31 device tree are integrated in a [[How to configure TF-A FIP|FIP binary]]. | ||
== References == | == References == | ||
Line 28: | Line 28: | ||
<noinclude> | <noinclude> | ||
[[Category:Trusted_Firmware-A_(BL31)| 01]] | [[Category:Trusted_Firmware-A_(BL31)| 01]] | ||
{{PublicationRequestId | 31769| 2024-07-22| }} | |||
</noinclude> | </noinclude> | ||
Latest revision as of 11:37, 6 August 2024
1. Article purpose
This section details the TF-A BL31 stage (Trusted Firmware-A Boot Loader stage 3-1) used as EL3 Runtime Software or Secure Monitor on AArch64 platforms.
It is loaded by BL2 in internal SYSRAM.
More information can be found in TF-A documentation, AArch64 BL31 chapter[1].
2. BL31 binary file
The BL31 binary file (bl31.bin) is located inside the FIP.
3. Device tree
TF-A BL31 is based on device tree configuration. It uses the same device tree as the kernel but keeping only the mandatory nodes (to reduce binary size) through the use of a dedicated device tree file (such as fdts/stm32mp25-bl31.dtsi ).
It must be configured or updated depending on your platform.
The BL31 device tree blob file is located inside the FIP.
4. Build process
BL31 is compiled together with BL2 with the same make command, see How to configure TF-A BL2.
Then the BL31 binary file and BL31 device tree are integrated in a FIP binary.
5. References