TF-A-STM32MP: update to v2.0.0 (v2.2-stm32mp-r1)
Change-Id: If6d1e5b3b9fdfc81e8fe77ca2a338b9b124f5209
This commit is contained in:
1 parent
a16cd6da88
commit
b698195170
10 files changed
+26544
-39996
No files matched your search
+26303
-26975
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -16,17 +16,17 @@ For tf-a build you need to install:
|
||||
Fedora: sudo yum install git
|
||||
|
||||
If you have never configured you git configuration:
|
||||
$> git config --global user.name "your_name"
|
||||
$> git config --global user.email "your_email@example.com"
|
||||
$ git config --global user.name "your_name"
|
||||
$ git config --global user.email "your_email@example.com"
|
||||
|
||||
2. Initialise cross-compilation via SDK:
|
||||
---------------------------------------
|
||||
Source SDK environment:
|
||||
$> source <path to SDK>/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
|
||||
$ source <path to SDK>/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
|
||||
|
||||
To verify if your cross-compilation environment have put in place:
|
||||
$> set | grep CROSS
|
||||
CROSS_COMPILE=arm-openstlinux_weston-linux-gnueabi-
|
||||
$ set | grep CROSS
|
||||
CROSS_COMPILE=arm-ostl-linux-gnueabi-
|
||||
|
||||
Warning: the environment are valid only on the shell session where you have
|
||||
sourced the sdk environment.
|
||||
@@ -35,48 +35,46 @@ sourced the sdk environment.
|
||||
------------------------
|
||||
If you have the tarball and the list of patch then you must extract the tarball
|
||||
and apply the patch.
|
||||
$> tar xfz <tf-a source>.tar.gz
|
||||
or
|
||||
$> tar xfj <tf-a source>.tar.bz2
|
||||
or
|
||||
$> tar xfJ <tf-a source>.tar.xz
|
||||
$> tar xfz ##BP##-##PR##.tar.gz
|
||||
A new directory containing tf-a standard source code will be created, go into it:
|
||||
$> cd <directory to tf-a source code>
|
||||
$> cd ##BP##
|
||||
|
||||
NB: if there is no git management on source code and you would like to have a
|
||||
git management on the code see section 4 [Management of tf-a source code]
|
||||
if there is some patch, please apply it on source code
|
||||
$> for p in `ls -1 <path to patch>/*.patch`; do patch -p1 < $p; done
|
||||
$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
|
||||
|
||||
4. Management of tf-a source code:
|
||||
-----------------------------------
|
||||
If you like to have a better management of change made on tf-a source, you
|
||||
can use git:
|
||||
$> cd <directory to tf-a source code>
|
||||
$> test -d .git || git init . && git add . && git commit -m "tf-a source code" && git gc
|
||||
$> git checkout -b WORKING
|
||||
$> for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
|
||||
$ cd <directory to tf-a source code>
|
||||
$ test -d .git || git init . && git add . && git commit -m "tf-a source code" && git gc
|
||||
$ git checkout -b WORKING
|
||||
$ for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
|
||||
|
||||
NB: you can use directly the source from the community:
|
||||
URL: git://github.com/ARM-software/arm-trusted-firmware.git
|
||||
Branch: ##GIT_BRANCH##
|
||||
Revision: ##GIT_SRCREV##
|
||||
|
||||
$> git clone git://github.com/ARM-software/arm-trusted-firmware.git -b ##GIT_BRANCH##
|
||||
$> cd <directory to tf-a source code>
|
||||
$> git checkout -b WORKING ##GIT_SRCREV##
|
||||
$> for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
|
||||
$ git clone git://github.com/ARM-software/arm-trusted-firmware.git -b ##GIT_BRANCH##
|
||||
$ cd <directory to tf-a source code>
|
||||
$ git checkout -b WORKING ##GIT_SRCREV##
|
||||
$ for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
|
||||
|
||||
5. Build tf-a source code:
|
||||
--------------------------------
|
||||
To compile tf-a source code
|
||||
$> cd <directory to tf-a source code>
|
||||
$> make -f $PWD/../Makefile.sdk all
|
||||
or for a specific config :
|
||||
$> make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157c-ev1 TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' all
|
||||
$ make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157c-ev1 TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' all
|
||||
|
||||
NB: TFA_DEVICETREE flag must be set to switch to correct board configuration.
|
||||
|
||||
Files generated should be as follow:
|
||||
#> ../build/*/tf-a-*.stm32
|
||||
|
||||
6. Update software on board:
|
||||
----------------------------
|
||||
6.1. partitioning of binaries:
|
||||
@@ -90,11 +88,11 @@ Copy the binary (tf-a-*.stm32) on the dedicated partition, on SDCARD/USB disk
|
||||
the partition "fsbl1" are the partition 1:
|
||||
- SDCARD: /dev/mmcblkXp1 (where X is the instance number)
|
||||
- SDCARD via USB reader: /dev/sdX1 (where X is the instance number)
|
||||
$> dd if=<tf-a binary> of=/dev/<device partition> bs=1M conv=fdatasync
|
||||
$ dd if=<tf-a binary> of=/dev/<device partition> bs=1M conv=fdatasync
|
||||
|
||||
FAQ: to found the partition associated to a specific label, just plug the
|
||||
SDCARD/USB disk on your PC and call the following command:
|
||||
$> ls -l /dev/disk/by-partlabel/
|
||||
$ ls -l /dev/disk/by-partlabel/
|
||||
total 0
|
||||
lrwxrwxrwx 1 root root 10 Jan 17 17:38 bootfs -> ../../mmcblk0p4
|
||||
lrwxrwxrwx 1 root root 10 Jan 17 17:38 fsbl1 -> ../../mmcblk0p1 ➔ FSBL (TF-A)
|
||||
@@ -117,4 +115,4 @@ lrwxrwxrwx 1 root root 10 Jan 17 17:38 userfs -> ../../mmcblk0p6
|
||||
For SDCARD: ums 0 mmc 0
|
||||
For USB disk: ums 0 usb 0
|
||||
|
||||
* Follow section 6.2 to put tf-a-*.stm32 on SDCARD/USB disk
|
||||
* Follow section 6.2 to put tf-a-*.stm32 on SDCARD/USB disk
|
||||
Reference in new issue
Block a user