RNX-RZG2UL-OSM ARM Trusted Firmware: Difference between revisions

From Ronetix's Wiki
Jump to navigation Jump to search
(Modify to use Template:SeeAlso)
(Modify to skip Section Level 1 formatting)
 
Line 2: Line 2:
{{#vardefine:ATF_BRANCH|v2.9/rz}}
{{#vardefine:ATF_BRANCH|v2.9/rz}}
[[File:RNX-RZG2UL-OSM_top.png|thumb]]
[[File:RNX-RZG2UL-OSM_top.png|thumb]]
= Overview =
== Overview ==
Trusted Firmware-A (TF-A) is a reference implementation of secure world software for Arm A-Profile architectures (Armv8-A and Armv7-A), including an Exception Level 3 (EL3) Secure Monitor. It provides a suitable starting point for productization of secure world boot and runtime firmware, in either the AArch32 or AArch64 execution states.
Trusted Firmware-A (TF-A) is a reference implementation of secure world software for Arm A-Profile architectures (Armv8-A and Armv7-A), including an Exception Level 3 (EL3) Secure Monitor. It provides a suitable starting point for productization of secure world boot and runtime firmware, in either the AArch32 or AArch64 execution states.


= Building ARM Truster Firmware for {{#var:HARDWARE_NAME}} =
== Building ARM Truster Firmware for {{#var:HARDWARE_NAME}} ==
This U-BOOT is based on https://github.com/renesas-rz/renesas-u-boot-cip, branch {{#var:UBOOT_BRANCH}}
This U-BOOT is based on https://github.com/renesas-rz/renesas-u-boot-cip, branch {{#var:UBOOT_BRANCH}}


==== Set up the cross-compiler and CPU architecture ====
=== Set up the cross-compiler and CPU architecture ===
  $ export ARCH=arm64
  $ export ARCH=arm64
  $ export CROSS_COMPILE=/opt/cross/aarch64-ronetix-linux-11.1/bin/aarch64-ronetix-linux-gnu-
  $ export CROSS_COMPILE=/opt/cross/aarch64-ronetix-linux-11.1/bin/aarch64-ronetix-linux-gnu-
Line 15: Line 15:
http://download.ronetix.at/toolchains/crosstool-ng
http://download.ronetix.at/toolchains/crosstool-ng


==== Clone the latest revision ====
=== Clone the latest revision ===
  $ git clone https://github.com/ronetix/arm-trusted-firmware.git
  $ git clone https://github.com/ronetix/arm-trusted-firmware.git
  $ cd arm-trusted-firmware
  $ cd arm-trusted-firmware
  $ git checkout remotes/origin/{{#var:ATF_BRANCH}} -b {{#var:ATF_BRANCH}}
  $ git checkout remotes/origin/{{#var:ATF_BRANCH}} -b {{#var:ATF_BRANCH}}


==== Build ====
=== Build ===
  $ make PLAT=g2ul BOARD=g2ul_smarc SOC_TYPE=1 SPI_FLASH=AT25QL128A
  $ make PLAT=g2ul BOARD=g2ul_smarc SOC_TYPE=1 SPI_FLASH=AT25QL128A
  $ make fiptool
  $ make fiptool


= Build Results =
=== Build Results ===
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 40: Line 40:
|}
|}


= Add boot parameters to bl2.bin =
=== Add boot parameters to bl2.bin ===
In order to boot bl2.bin, the Renesas RZ/G2UL internal bootloaders needs a boot parameters block.
In order to boot bl2.bin, the Renesas RZ/G2UL internal bootloaders needs a boot parameters block.
The boot parameters block is 512 bytes long, and the bl2.bin is located immediately after it.
The boot parameters block is 512 bytes long, and the bl2.bin is located immediately after it.

Latest revision as of 16:46, 16 November 2023


Overview

Trusted Firmware-A (TF-A) is a reference implementation of secure world software for Arm A-Profile architectures (Armv8-A and Armv7-A), including an Exception Level 3 (EL3) Secure Monitor. It provides a suitable starting point for productization of secure world boot and runtime firmware, in either the AArch32 or AArch64 execution states.

Building ARM Truster Firmware for RNX-RZG2UL-OSM

This U-BOOT is based on https://github.com/renesas-rz/renesas-u-boot-cip, branch

Set up the cross-compiler and CPU architecture

$ export ARCH=arm64
$ export CROSS_COMPILE=/opt/cross/aarch64-ronetix-linux-11.1/bin/aarch64-ronetix-linux-gnu-

Cross-compiler can be downloaded from here: http://download.ronetix.at/toolchains/crosstool-ng

Clone the latest revision

$ git clone https://github.com/ronetix/arm-trusted-firmware.git
$ cd arm-trusted-firmware
$ git checkout remotes/origin/v2.9/rz -b v2.9/rz

Build

$ make PLAT=g2ul BOARD=g2ul_smarc SOC_TYPE=1 SPI_FLASH=AT25QL128A
$ make fiptool

Build Results

File Name Description
build/g2ul/release/bl2.bin BL2 bootloader
build/g2ul/release/bl31.bin BL3 bootloader
tools/fiptool/fiptool FIP tool

Add boot parameters to bl2.bin

In order to boot bl2.bin, the Renesas RZ/G2UL internal bootloaders needs a boot parameters block. The boot parameters block is 512 bytes long, and the bl2.bin is located immediately after it.

$ tools/renesas/bootparameters/bootparameters.sh build/g2ul/release/bl2.bin

The result is bl2_bp.bin, which should be programmed at address 0x0 in the QSPI Flash.

See also