The instructions here will tell how to run OP-TEE on the Juno board. The
instructions has been tested and verified on the
Juno r0 revision (see Juno
revisions for more details).
Deploy files on the device
Enter the firmware console on the Juno board and press enter to stop the auto boot.
ARM V2M_Juno Firmware v1.3.9 Build Date: Nov 11 2015 Time : 12:50:45 Date : 29:03:2016 Press Enter to stop auto boot...
FTP at the firmware prompt.
Cmd> ftp_on Enabling ftp server... MAC address: xxxxxxxxxxxx IP address: 192.168.1.158 Local host name = V2M-JUNO-A2
Flash the binary by running
Use the IP address from output from previous command.
$ make JUNO_IP=192.168.1.158 flash
Once all binaries have been transferred, reboot the board:
Update the flash layout
The flash layout for Juno may need to be updated for the flashing above to work.
If flashing fails or if TF-A refuses to boot due to wrong version of the
binary, then the flash(-layout) needs to be updated. To update the flash please
follow the instructions at Arm’s old release notes page selecting one of the
zips under “Development boards / Juno / Prebuilt configurations” and flash it as
described at Run the Arm Platforms deliverables on Juno.
GlobalPlatform testsuite support
Depending on the Juno pre-built configuration, the built
with GlobalPlatform testsuite may exceed its pre-defined Juno flash memory
reserved location (
image.txt file). In that case, you will need to extend
the Juno flash block size reserved location for the
ramdisk.img in the
image.txt file accordingly and follow the instructions under “5.7.1 Update
flash and its layout”.
juno-latest-busybox-uboot.zip. The current
with GlobalPlatform testsuite is 8.6 MBytes and that is too big to fit in the
default configuration, therefore we need to make adjustments to the flash
layout. You will do that by making changes to
/JUNO/SITE1/HBI0262B/images.txt. I.e., from:
1NOR4UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 2NOR4ADDRESS: 0x01800000 ;Image Flash Address 3NOR4FILE: \SOFTWARE\ramdisk.img ;Image File Name 4NOR4NAME: ramdisk.img 5NOR4LOAD: 00000000 ;Image Load Address 6NOR4ENTRY: 00000000 ;Image Entry Point
to extending the Image Flash Address to 16MB
1NOR4UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 2NOR4ADDRESS: 0x01000000 ;Image Flash Address 3NOR4FILE: \SOFTWARE\ramdisk.img ;Image File Name 4NOR4NAME: ramdisk.img 5NOR4LOAD: 00000000 ;Image Load Address 6NOR4ENTRY: 00000000 ;Image Entry Point
GCC > 5.x support
In case you are using the latest version of the OP-TEE Arm Juno build
juno.xml manifest), then the
ramdisk.img built with a GCC
version newer than 5.x will be bigger than built with older GCC versions.
This means that you will need to update the sections in
tells where various images will start (see the
To solve this problem you will need to extend the Juno flash block size reserved
location for the
ramdisk.img and decrease the size for other images in the
image.txt file accordingly in the same manner as described in the previous
For example with
juno-latest-busybox-uboot.zip. The current
size with GCC 5.x compiler is 29.15MB and therefore we will need to extend that
size for that to 32MB. You do that by changing the highlighted ones (i.e.,
Image Flash Address) in file
1NOR2UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 2NOR2ADDRESS: 0x00100000 ;Image Flash Address 3NOR2FILE: \SOFTWARE\Image ;Image File Name 4NOR2NAME: norkern ;Rename kernel to norkern 5NOR2LOAD: 00000000 ;Image Load Address 6NOR2ENTRY: 00000000 ;Image Entry Point 7 8NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 9NOR3ADDRESS: 0x02C00000 ;Image Flash Address 10NOR3FILE: \SOFTWARE\juno.dtb ;Image File Name 11NOR3NAME: board.dtb ;Specify target filename to preserve file extension 12NOR3LOAD: 00000000 ;Image Load Address 13NOR3ENTRY: 00000000 ;Image Entry Point 14 15NOR4UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 16NOR4ADDRESS: 0x00D00000 ;Image Flash Address 17NOR4FILE: \SOFTWARE\ramdisk.img ;Image File Name 18NOR4NAME: ramdisk.img 19NOR4LOAD: 00000000 ;Image Load Address 20NOR4ENTRY: 00000000 ;Image Entry Point 21 22NOR5UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 23NOR5ADDRESS: 0x02D00000 ;Image Flash Address 24NOR5FILE: \SOFTWARE\hdlcdclk.dat ;Image File Name 25NOR5LOAD: 00000000 ;Image Load Address 26NOR5ENTRY: 00000000 ;Image Entry Point